| | | corso | | | |
Fondamenti dell'Informatica: Semantica II
(Corso di Laurea in Informatica (quinquennale))
Codice: | 4I079 | Crediti: | 6 | Semestre: | 2 | Sigla: | FS2 | |
Docente
Ugo Montanari
Tel. 0502212721Prerequisiti
Elementi base di semantica.
Obiettivi di apprendimento
I fondamenti della teoria dei tipi.
Descrizione
Il corso presenta i principi generali di alcuni
importanti aspetti comuni a molti linguaggi di programmazione: la
struttura dei tipi, l'ordine superiore e la modularità. Lo sviluppo
matematico, basato sul lambda calcolo tipato, sarà motivato da esempi
tratti da linguaggi di programmazione funzionali ed orientati ad oggetti.
English Description
We will present a framework for the formal
understanding of some important aspects of programming languages: types,
higher order functions and modularity. The underlying model is the typed
lambda calculus. The mathematical developments will be motivated by
examples from functional and object-oriented programming languages.
Programma
- Esempi di programmazione con un linguaggio funzionale di ordine superiore,
potenza espressiva e limitazioni. (4h)
- Il Lambda Calcolo con tipi semplici. (8h)
- Modelli del Lambda Calcolo tipato. (12h)
- Esempi di programmazione con moduli, packages, generics, templates. (4h)
- Polimorfismo e subtyping. (8h)
- Inferenza di tipi. (4h)
Ore lezione: | 25 | Ore esercitazione: | 15 | | | |
Bibliografia
John Mitchell, "Foundations for Programming Languages", MIT
Press, 1996. Capitoli: 2.5,4,5,7.2,9,10,11.
Modalità di esame