Haskell es un lenguaje funcional que les aconsejo que aprendan. Antes que nada vamos a instalar el compilador GHC o Hugs. Yo voy a usar GHC, si usamos una distro basada en Debian, podemos hacer lo siguiente:
apt-get install ghc6 libghc6-mtl-dev
y si tenemos un RHEL podemos hacer:
yum install ghc6 libghc6-mtl-dev
GHC puede tomar un script Haskell y compilar pero también puede trabajar de modo interactivo; lo que se conoce como RELP. Luego de instalar estos paquete ejecutamos ghci en una consola:
[emanuel@localhost ~]$ ghci
GHCi, version 7.4.1: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Prelude> 2 +2
4
Prelude> 5 + 5
10
Prelude> 2 * 2
4
Prelude> 5 / 2
2.5
Prelude> True && False
False
Prelude> 5 == 5
True
Prelude> 5 /= 4
True
Prelude> 5 + "hola"
<interactive>:9:3:
No instance for (Num [Char])
arising from a use of `+'
Possible fix: add an instance declaration for (Num [Char])
In the expression: 5 + "hola"
In an equation for `it': it = 5 + "hola"
Prelude>
Como podemos ver podemos utilizar Haskell como calculadora, pero en la ultima linea, que sucedió? El error que fue lanzado fue porque quise sumar 5 de tipo numero con una palabra o String "hola" y como Haskell es de tipado estático, no puede sumar estas cosas.
También podemos llamar funciones de la siguiente forma:
Prelude> min 3 5
3
Prelude> max 100 100
100
Prelude> max 3000 3
3000
Como pueden ver el llamado de funciones no necesita los paréntesis como java o C++ o C.
Por este post hemos avanzado bastante, en próximos post vamos a seguir aprendiendo Haskell!