28793 - TIPI E LINGUAGGI DI PROGRAMMAZIONE

Scheda insegnamento

  • Docente Simone Martini

  • Crediti formativi 6

  • SSD INF/01

  • Modalità di erogazione In presenza (Convenzionale)

  • Lingua di insegnamento Italiano

Anno Accademico 2010/2011

Conoscenze e abilità da conseguire

Al termine del corso 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.

Programma/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 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