- Docente: Simone Martini
- Crediti formativi: 6
- SSD: INF/01
- Lingua di insegnamento: Italiano
- Modalità didattica: Convenzionale - Lezioni in presenza
- Campus: Bologna
- Corso: Laurea Magistrale in Informatica (cod. 8028)
Conoscenze e abilità da conseguire
Al termine del modulo, lo studente: - conosce i fondamenti teorici dei sistemi di tipo usati nei linguaggi di programmazione; - conosce i principali meccanismi dei sistemi di tipo, tra cui polimorfismo universale ed esistenziale, sottotipi, tipi ricorsivi, tecniche di inferenza di tipo.
Contenuti
I tipi nei linguaggi di programmazione. Il lambda calcolo tipizzato come strumento di analisi e progetto. Tipi semplici, poliformismo alla ML. Inferenza di tipo polimorfo e sua complessità. Sottotipi. Tipi ricorsivi: massimo punto fisso, coinduzione, sottotipo. L'ordine superiore. Generici e loro descrizione. Tipi di dato astratti e tipi esistenziali. Proof carrying code.
Testi/Bibliografia
Benjamin Pierce, Types and
Programming Languages, The MIT Press (ISBN
0-262-16209-1)
Metodi didattici
Lezioni frontali
Modalità di verifica e valutazione dell'apprendimento
Esame orale.
Strumenti a supporto della didattica
http://www.cs.unibo.it/~martini/TLP/index.html
Link ad altre eventuali informazioni
http://www.cs.unibo.it/~martini/TLP/index.html
Orario di ricevimento
Consulta il sito web di Simone Martini