Vai al contenuto

Videocorso Common Lisp CGFA

Da zero a programmare in Lisp con SBCL: liste, funzioni, macro e oggetti

  • Partenza: Da zero
  • 12 ore con gli esercizi
  • 10 lezioni in 3 livelli
  • 2 lezioni gratis

A chi serve

Curiosi, studenti e programmatori che vogliono scoprire un linguaggio diverso, dove il codice è fatto della stessa materia dei dati

Cosa serve per iniziare

  • Un computer Windows, Mac o Linux
  • Nessuna esperienza di programmazione (aiuta, ma non serve)
  • Pazienza con le parentesi: dopo due lezioni non le vedrai più

Cosa installare

SBCL (Steel Bank Common Lisp)Compilatore Common Lisp gratuito e open source da sbcl.org; esiste l'installer per Windows, il pacchetto per Linux (apt install sbcl) e Homebrew per Mac (brew install sbcl). Si usa la versione 2.x più recente
Editor con supporto LispVisual Studio Code con l'estensione gratuita "Alive" o "Common Lisp" va benissimo; chi vuole l'esperienza classica può provare Emacs con SLIME, ma non è obbligatorio
TerminaleGià presente nel computer: Prompt dei comandi o PowerShell su Windows, Terminale su Mac e Linux. Il programma sbcl si avvia da lì

A cosa ti serve

  • Intelligenza artificiale simbolica e sistemi esperti
  • Ricerca e università (linguistica, logica, robotica)
  • Software per aziende che mantengono sistemi Lisp storici (trasporti, finanza, CAD)
  • Allenamento mentale: imparare Lisp rende migliori in qualsiasi altro linguaggio
  • Creare editor, linguaggi e strumenti su misura grazie alle macro

Programma del corso

10 lezioni in 3 livelli. Ogni lezione: video, spiegazione, codice da copiare o provare, esercizio con soluzione e quiz.

Progetto finale: Gestione del magazzino di una bottega

Costruisci un piccolo programma per una bottega napoletana: un elenco di articoli con prezzo e quantità, il valore di ciascuno, il totale in euro e l'elenco di quelli da riordinare. Usi strutture, liste, mapcar, reduce e cicli.

I passi

  1. Definisci una struttura articolo con nome, prezzo e quantità.
  2. Crea una lista con almeno tre articoli.
  3. Scrivi la funzione valore che moltiplica prezzo e quantità.
  4. Stampa una riga per articolo con dolist.
  5. Calcola il totale con mapcar e reduce.
  6. Stampa i nomi degli articoli con quantità sotto 10 usando remove-if-not.
  7. Estensione: salva il report su un file con with-open-file.

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 Common Lisp

REPL
L'invito interattivo di Lisp: legge quello che scrivi, lo calcola, mostra il risultato e riparte.
S-espressione
Un elemento di Lisp: un atomo (numero, nome) oppure una lista tra parentesi. Tutto il codice è fatto di S-espressioni.
NIL
Il valore falso e allo stesso tempo la lista vuota.
Notazione prefissa
Scrivere l'operatore prima dei valori: (+ 2 3).
cons
Funzione che crea un anello di lista unendo un elemento a una lista.
car e cdr
Le due funzioni che danno il primo elemento di una lista e il resto.
Predicato
Funzione che risponde vero o falso, di solito con il nome che termina per p, come evenp.
lambda
Una funzione senza nome, creata sul momento.
Macro
Una funzione che trasforma codice in altro codice prima dell'esecuzione.
Backquote
L'apice rovesciato: un modello di lista in cui si possono inserire valori con virgola.
CLOS
Il sistema a oggetti di Common Lisp, basato su classi e funzioni generiche.
Condizione
Lo strumento di Lisp per segnalare e gestire errori e situazioni particolari.

Le prime 2 lezioni sono gratis

Per il corso completo, scuole e aziende: chiedi le condizioni.