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 -> Intindica 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 (TrueoFalse)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.
