Vai al contenuto

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

GHCupInstallatore ufficiale gratuito da haskell.org/ghcup: mette sul computer il compilatore GHC, Cabal, Stack e il language server. Segui le istruzioni del sito per il tuo sistema
GHC e GHCiGHC è il compilatore, GHCi è la console interattiva dove provi le espressioni una alla volta. Arrivano insieme a GHCup, nella versione raccomandata
Visual Studio CodeEditor gratuito da code.visualstudio.com con l'estensione "Haskell": ti mostra gli errori di tipo mentre scrivi
CabalLo strumento per creare progetti con più file e scaricare librerie: si installa con GHCup e si usa con il comando cabal

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.

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

  1. Crea un progetto con cabal init e scegli un eseguibile.
  2. Definisci il record Riga con articolo, quantità e prezzo unitario.
  3. Scrivi totaleRiga e scontoCarrello con le guardie.
  4. Stampa lo scontrino con printf, ordinando le righe per nome.
  5. Aggiungi una proprietà QuickCheck: lo sconto non rende mai il totale più alto.
  6. 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.

Vai all'esame

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.