Written by: thempra on 25/10/2009 @ 19:41
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:
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
Catogories: GNU/Linux