Programming Languages (2005/2006)

Course Not running, not visible

Course code
Name of lecturer
Maria Paola Bonacina
Number of ECTS credits allocated
Other available courses
Language of instruction
Second four month term dal Jan 8, 2006 al Mar 9, 2006.
Web page

Lesson timetable

Learning outcomes


This class teaches the fundamental concepts behind the design and implementation of programming languages. It emphasizes the central role played by types and semantic - both operational and denotational semantics - in the concept and design of a programming language. The student learns how to derive systematically interpreters and abstract machines from a formally correct definition of the language. Prerequisites include all courses of the I and II years. The course is a prerequisite for the class on compilers ("Compilatori").



Interpreters and abstract machines;
Formal description of a programming language: syntax and semantics;
Introduction to the ML (OCAML) programming language;
The environment: names and types;
Memory management;
Control: structures and abstractions;
Data: structures and abstractions;
Review of the object-oriented paradigm (optional);
Hints at the functional and logic paradigms (optional).

Reference books
Author Title Publisher Year ISBN Note
Jeffrey D. Ullman Elements of ML Programming (Edizione 2) Prentice Hall 1998 0-13-79038 Libro di riferimento per il linguaggio ML
Maurizio Gabbrielli, Simone Martini Linguaggi di programmazione: principi e paradigmi (Edizione 2) McGraw Hill 2011 88-386-626 Adottato
Lawrence C. Paulson ML for the Working Programmer (Edizione 2) Cambridge University Press 1996 0-521-5654 Libro di riferimento per il linguaggio ML
Guy Cousineau, Michel Mauny The functional approach to programming (Edizione 1) Cambridge University Press 1998 0-521-5768 Libro di riferimento per il linguaggio ML
Xavier Leroy et al. The Objective Caml System 2004 Sito del linguaggio OCAML