Videocorso Haskell CGFA
Programmazione funzionale pura: funzioni, tipi forti e codice che si dimostra corretto
- Partenza: Base
- 14 ore con gli esercizi
- 10 lezioni in 3 livelli
- 2 lezioni gratis
A chi serve
Chi sa già scrivere qualche programma e vuole imparare un modo diverso e potente di ragionare: studenti, sviluppatori curiosi, chi lavora con dati e linguaggi
Cosa serve per iniziare
- Un computer Windows, Mac o Linux
- Aver già scritto qualche programma in un altro linguaggio (basta poco)
- Voglia di ragionare con calma: Haskell premia chi non ha fretta
Cosa installare
A cosa ti serve
- Elaborazione di dati e compilatori: Haskell eccelle dove serve correttezza
- Finanza e analisi del rischio (banche e fintech usano Haskell da anni)
- Sviluppo backend affidabile e strumenti da riga di comando
- Ricerca, università e linguaggi di programmazione
- Base solida per imparare anche Scala, F#, OCaml, Elm, Rust
Programma del corso
10 lezioni in 3 livelli. Ogni lezione: video, spiegazione, codice da copiare o provare, esercizio con soluzione e quiz.
Base
Installare gli strumenti, scrivere funzioni, usare liste e pattern matching
Intermedio
Tipi algebrici, funzioni di ordine superiore e classi di tipi
Avanzato
Monadi, input e output, progetti con Cabal, pigrizia e test
Progetto finale: Cassa della bottega: scontrino da riga di comando
Costruisci un piccolo programma che prende un elenco di articoli di una bottega napoletana, calcola il totale di ogni riga, applica uno sconto sopra i cento euro e stampa uno scontrino ordinato in colonne.
I passi
- Crea un progetto con cabal init e scegli un eseguibile.
- Definisci il record Riga con articolo, quantità e prezzo unitario.
- Scrivi totaleRiga e scontoCarrello con le guardie.
- Stampa lo scontrino con printf, ordinando le righe per nome.
- Aggiungi una proprietà QuickCheck: lo sconto non rende mai il totale più alto.
- Estensione: leggi gli articoli da un file di testo con readFile.
Esame e attestato
Alla fine del corso fai l'esame: 15 domande, serve il 75% di risposte giuste. Superato l'esame ottieni l'attestato stampabile con nome, ore, punteggio e un codice di controllo che chiunque può verificare.
Glossario di Haskell
- Funzione pura
- Una funzione che, dati gli stessi argomenti, restituisce sempre lo stesso risultato e non ha effetti nascosti.
- GHC
- Il compilatore principale di Haskell; GHCi è la sua console interattiva.
- Firma di tipo
- La riga che dichiara i tipi dei parametri e del risultato di una funzione, per esempio Int -> Int.
- Pattern matching
- Scrivere una funzione con più righe, ciascuna valida per una forma diversa dell'argomento.
- Guardia
- Una condizione introdotta da una barra verticale che sceglie quale ramo di una funzione usare.
- Ricorsione
- Una funzione che richiama se stessa su un problema più piccolo, fino al caso base.
- Tipo algebrico
- Un tipo creato con data, fatto da alternative e campi combinati.
- Maybe
- Il tipo che rappresenta un valore che può mancare: Just un valore oppure Nothing.
- Currying
- Il fatto che ogni funzione a più parametri sia in realtà una catena di funzioni a un parametro.
- Classe di tipi
- Un insieme di operazioni che più tipi possono implementare, come Eq, Ord e Show.
- Monade
- Un modo di concatenare calcoli con un contorno, come l'assenza di valore, l'errore o l'input e output.
- Valutazione pigra
- Il meccanismo per cui un valore viene calcolato soltanto quando serve davvero.
Le prime 2 lezioni sono gratis
Per il corso completo, scuole e aziende: chiedi le condizioni.