Commenti

Commenti fino alla fine della linea, con doppio segno meno, — a destra delle istruzioni per commentare in prima colonna per disattivare una riga di codice a = 10 — a <– 0 b = 25.5 — c = 30 d = 100 Commenti multilinea, in apertura {-, in chiusura -} a = 10 {- … Leggi tutto

Fibonacci

Con la ricorsione fibonacci 0 = 0 fibonacci 1 = 1 fibonacci n = fibonacci (n-1) + fibonacci (n-2) Con if … then … else … fibonacci n = if n == 0 then 0 else if n == 1 then 1 else fibonacci (n-1) + fibonacci (n-2) fibonacci n = if n == 0 … Leggi tutto

Ciao mondo

… putStrLn “Ciao mondo” … ciaoMondo = do putStr “Come ti chiami? ” name <- getLine putStrLn (“Ciao ” ++ name ++ “!”) …

Tuple

Le tuple sono sequenze immutabili di dati anche di tipo diverso Una tupla si costruisce con le parentesi tonde e gli elementi separati da virgole (10, 2) (10, 2.5) (10, 2.5, 3) (10, “Ciao”, True) (“Ciao”, False, 10) ([10, 20], “Ciao”) (“Ciao”, (10, 20)) Le tuple sono utili quando una funzione restituisce più di un … Leggi tutto

Prelude

abs :: Num a => a -> a ceiling :: (RealFrac a, Integral b) => a -> b concat :: Foldable t => t [a] -> [a] a partire da una lista di liste, produce una lista floor :: (RealFrac a, Integral b) => a -> b fst :: (a, b) -> a primo elemento … Leggi tutto