Slides del corso
Programma. Obiettivi, Materiale didattico e strumenti
Richiami di logica, dimostrazione automatica di teoremi, reticoli e punti fissi
Teoria della unificazione
Richiami di OCAML
Semantica denotazionale: definizione e formalizzazione di un linguaggio funzionale
Dalla semantica allo interprete
Introduzione alla programmazione logica
Semantica dei programmi logici
Semantica e comportamenti osservabili: altre semantiche per i programmi logici
Programmazione logica con vincoli
Prolog
Sistemi di tipo
Interpretazione astratta
Interpretazione astratta in programmazione logica
Inferenza di tipi in un linguaggio funzionale
Confronto tra interpretazione astratta e sistemi di tipo
Valutazione parziale, specializzazione di interpreti, generazione del codice