UniBo's logo
home
contact
teaching
publications
talks
Università di Bologna
Dipartimento di Scienze dell'Informazione
 
Simone Martini
Il corso di Linguaggi di programmazione avanzati è costituito da due moduli:
  • Linguaggi logici e con vincoli, tenuto da Maurizio Gabbrielli;
  • Linguaggi funzionali, tenuto da Simone Martini.
Programma ufficiale del corso. a.a. 2007/08: secondo semestre

Nell'anno accademico 2008/2009 il modulo di linguaggi funzionali sarà mutuato da parte del corso di Tipi nei lnguaggi di programmazione, per la Laurea Magistrale in Informatica, nel senso che il programma sarà (parte di) quello del nuovo corso.

Programma del modulo di linguaggi funzionali (a.a. 2007/2008)

  • Presentazione generale del paradigma funzionale: linguaggi funzionali, strategia per valore o per nome, fondamenti (lambda-calcolo), la macchina SECD.
  • Uso di meccanismi imperativi in linguaggi funzionali puri (per nome): monadi.
  • Tecniche di ottimizzazione: la trasformazione "continuation passing".
Modalità d'esame: orale, sostituibile con presentazioni pubbliche di approfondimenti sul programma del corso.

Materiale del corso:
Lucidi delle lezioni: prima parte (introduzione ai linguaggi funzionali); versione postscript;
seconda parte (monadi);
terza parte (continuazioni).

Sulle monadi: Philip Wadler. Monads for functional programming. In Jeuring and E. Meijer, editors, Advanced Functional Programming, Springer Verlag, LNCS 925, 1995. Disponibile da questa pagina.

Possibili temi d'esame.