Programacion en Haskell

  Haskell es un lenguaje puramente funcional de propósito general. Y
aunque no se pretende desarrollar un Core bancario en el, si que puede
servir como medio de entrenamiento mental, o mera iniciativa de ampliar
conocimiento. Para otros puede valer exclusivamente en la superacion de
cierta asignatura de la universidad.

 Las características más
interesantes de Haskell incluyen el soporte para tipos de datos y
funciones recursivas, listas, tuplas, guardas y calce de patrones. La
combinación de las mismas pueden resultar en algunas funciones casi
triviales cuya versión en lenguajes imperativos pueden llegar a
resultar extremadamente tediosas de programar.

  El trabajar con
Haskell se ha de hacer siempre pensando en un buen editor, ya que el
numero de parentesis que podemos implementar en ciertas operaciones
puede llegar a ser dificil de manejar mentalmente. Por lo tanto, mejor
buscar un Ultraedit, Notepad++ en Windows, o un eMacs, Vim o mc en GNU/Linux.

   El compilador a usar es el hugs, en varias versiones, de las cuales vamos a destacar:

  • WinHugs para entornos WIn32 (descargar)
  • Hugs 98 para GNU/Linux (descargar apt-get install hugs)

  Y para que todo se mas afable (dentro de lo que Haskell permite) para configurar el editor lo haremos con:

:set +E<nombreDelEditor>

  Como por ejemplo :

:set +Emcedit
:set +Eemacs
:set +Evim

 Para mas comandos relativos al compilador :

:load <filenames>   load modules from specified files
:load               clear all files except prelude
:also <filenames>   read additional modules
:reload             repeat last load command
:edit <filename>    edit file
:edit               edit last module
:module <module>    set module for evaluating expressions
<expr>              evaluate expression
:type <expr>        print type of expression
😕                  display this list of commands
:set <options>      set command line options
:set                help on command line options
:names [pat]        list names currently in scope
:info <names>       describe named objects
:browse <modules>   browse names exported by <modules>
:main <aruments>    run the main function with the given arguments
:find <name>        edit module containing definition of name
:cd dir             change directory
:gc                 force garbage collection
:version            print Hugs version
:quit               exit Hugs interpreter

 

 

Eolas vuelve a la carga, esta vez … Ajax

Todos recordamos el mítico caso Eolas, por el cual los desarrolladores tuvimos que cambiar el modo de empotrar un objeto flash en las paginas web, y que muchos usuarios padecieron el echo de tener que dar un click para que se reprodujese un flash. Mas el acuerdo amistoso de xxxxxxxxxx dolares con Microsoft (¿me falta alguna x?).

Pues bien, este despacho de abogados (aunque se autodenominen con otros terminos) al parecer dicen poseer la patente de AJAX,  USP 7,599,985, la cual describe un sistema abstracto que funciona de un modo similar a básicamente cualquier aplicación Ajax.

 Como es obvio para ellos se han puesto a demandar a diestro y sinientro: dobe Systems, Amazon, Apple,
Blockbuster, Citigroup, eBay, Frito-Lay, Go Daddy, Google, J.C. Penney,
JPMorgan Chase, Office Depot, Perot Systems, Playboy Enterprises,
Staples, Texas Instruments, Yahoo, YouTube y también a Sun
Microsystems. Veremos a ver que nos depara esta nueva maniobra de estos «amigos».