En aquesta secció, aprendrem la sintaxi bàsica de Haskell i com escriure el nostre primer programa "Hola Món". Aquest és un pas fonamental per familiaritzar-nos amb el llenguatge i començar a entendre com funciona Haskell.
Què és Haskell?
Haskell és un llenguatge de programació purament funcional, conegut per la seva seguretat de tipus i la seva capacitat per gestionar efectes col·laterals de manera controlada. És utilitzat en una àmplia varietat d'aplicacions, des de la recerca acadèmica fins a la indústria.
Configuració de l'Entorn Haskell
Abans de començar a programar, necessitem configurar el nostre entorn de desenvolupament. Si no ho has fet encara, segueix les instruccions del tema anterior per instal·lar GHC (Glasgow Haskell Compiler) i GHCi (el REPL de Haskell).
Sintaxi Bàsica
Comentaris
Els comentaris en Haskell es poden escriure de dues maneres:
- Comentaris de línia única: comencen amb
--
. - Comentaris de múltiples línies: comencen amb
{-
i acaben amb-}
.
Declaració de Variables
En Haskell, les variables es declaren utilitzant l'operador =
. Les variables són inmutables, és a dir, no poden canviar el seu valor un cop assignat.
Funcions
Les funcions en Haskell es defineixen de manera molt senzilla. Aquí teniu un exemple d'una funció que suma dos números:
suma
és el nom de la funció.::
s'utilitza per especificar el tipus de la funció.Int -> Int -> Int
indica que la funció pren dos enters com a arguments i retorna un enter.suma x y = x + y
és la implementació de la funció.
Tipus de Dades Bàsics
Haskell té diversos tipus de dades bàsics, com ara:
Int
: entersFloat
: nombres de punt flotantBool
: booleans (True
oFalse
)Char
: caràctersString
: cadenes de text (una llista de caràcters)
enter :: Int enter = 42 flotant :: Float flotant = 3.14 boolea :: Bool boolea = True caracter :: Char caracter = 'A' cadena :: String cadena = "Hola, món!"
Hola Món
Ara que tenim una idea bàsica de la sintaxi de Haskell, escrivim el nostre primer programa "Hola Món".
El Programa
Explicació
main
és el punt d'entrada del programa.:: IO ()
indica quemain
és una acció d'entrada/sortida que no retorna cap valor significatiu (retorna()
).putStrLn
és una funció que pren una cadena de text i la imprimeix a la consola.
Executar el Programa
- Guarda el codi en un fitxer anomenat
HolaMon.hs
. - Obre una terminal i navega fins al directori on has guardat el fitxer.
- Compila el programa amb GHC:
- Executa el programa:
Hauries de veure la sortida següent a la consola:
Exercicis Pràctics
Exercici 1: Salutació Personalitzada
Escriu un programa que demani el nom de l'usuari i imprimeixi una salutació personalitzada.
Solució
Exercici 2: Suma de Dos Nombres
Escriu un programa que demani dos nombres a l'usuari i imprimeixi la seva suma.
Solució
main :: IO () main = do putStrLn "Introdueix el primer nombre:" primer <- getLine putStrLn "Introdueix el segon nombre:" segon <- getLine let suma = (read primer :: Int) + (read segon :: Int) putStrLn ("La suma és: " ++ show suma)
Resum
En aquesta secció, hem après la sintaxi bàsica de Haskell, incloent comentaris, declaració de variables, definició de funcions i tipus de dades bàsics. També hem escrit i executat el nostre primer programa "Hola Món". A més, hem practicat amb alguns exercicis per reforçar els conceptes apresos. En la següent secció, explorarem el REPL de Haskell (GHCi) per interactuar amb el nostre codi de manera més dinàmica.