Materiale Didattico ed altri riferimenti
Libro di testo, manuale di Objective Caml e dispense
- M. Cialdea Mayer, C. Limongelli.
Introduzione alla
Programmazione Funzionale. Esculapio 2002.
Capp. 1, 2, 3 (excluso 3.6), 5 (escluso 5.2),
6.1, 6.2.
In alternativa: Introduzione
alla programmazione funzionale con Objective Caml
(dispense), corredate dagli esercizi,
con le relative
soluzioni proposte.
-
The Objective Caml system.
Documentation and User's Guide.
-
Introduzione alla logica proposizionale (Dispense, esclusi
paragrafi 2.8, 3.3 e 3.7)
Il compilatore di Objective Caml e ambienti di programmazione
- Il
Linguaggio OCaml
- OcaIDE:
un plug-in OCaml per
Eclipse.
-
XEmacs per Windows (un editor
configurabile per OCaml)
Sul sito di XEmacs trovate anche un breve README per
l'istallazione.
Una guida completa all'istallazione di OCaml e Emacs sotto Linux, Windows e
MacOS si può trovare
qui.
N.B: La pagina contiene il link ad una precedente versione di OCaml
che, sotto Windows, si può eseguire senza la
necessità di istallare Cygwin (richiesto invece per le versioni
più recenti).
- Si consiglia di istallare il
Tuareg Mode (modalità OCaml per Emacs). In alcune
distribuzioni di Linux, è disponibile come pacchetto
software.
- Camelia:
un ambiente di
sviluppo per OCaml (Mac e Windows).
Materiale utilizzato a lezione
Il materiale utilizzato a lezione (codice OCaml e slides) si
può trovare
qui.
Attenzione però: questo materiale non sostituisce
il libro di testo né le dispense.
Esercizi
Una componente essenziale del corso è costituita dagli
esercizi, che si possono trovare nella sottodirectory
EserciziProposti.
La numerazione dei diversi file di esercizi corrisponde a quella delle
slides proiettate a lezione: tutti i
prerequisiti per risolvere gli esercizi del gruppo N sono trattati
nelle lezioni in cui si utilizzano le slides del file N.
Le soluzioni proposte dal docente si possono trovare
qui.
Per trarre il massimo beneficio dallo svolgimento degli esercizi, gli
studenti dovrebbero comunuqe prima svolgerli autonomamente, e poi
confrontare la propria soluzione con quella proposta dal docente.
Si noti che la soluzione di alcuni degli esercizi proposti si può trovare
anche sul libro di testo o sulle dispense,
ma
ovviamente si
sconsiglia di cercarne la soluzione prima di averne fornita una
propria.
Gli studenti che vogliano verificare la
correttezza della propria soluzione (se sostanzialmente diversa da
quella proposta dal docente) possono inviare al docente una mail
allegando un file di testo con
estensione .ml, contenente il codice (in particolare,
qualsiasi cosa che non sia codice OCaml
deve essere inserito in un commento). È ovviamente possibile
anche sottoporre soluzioni
parziali o non funzionanti, esporre dubbi, fare domande, ecc.
Testi di compiti d'esame
Qui si possono
trovare alcuni testi dei compiti d'esame degli anni passati (a volte
con soluzione proposta dal docente).
Testi e altro materiale consigliato per la consultazione
- G. Cousineau, M. Mauny,
The Functional Approach to Programming, Cambridge University Press.
- Chris Okasaki, Purely Functional Data Structures,
Cambridge University Press.
- Yaron Minsky, Anil Madhavapeddy, Jason Hickey,
Real World OCaml.
Functional programming for the masses,
O'Reilly France
(un testo sulla programmazione in OCaml, che include sia
concetti di base che concetti più avanzati).
- Emmanuel Chailloux et al.,
Developing Applications With Objective Caml,
O'Reilly France
(un testo avanzato sulla programmazione in OCaml).
- Why
OCaml, e altro materiale da Godi, tra cui
Link
Database:
software contributions to the Objective Caml community.
- Caml
Examples.
- Resources
for Caml users.
-
Applicazioni di Caml.
-
Il linguaggio F#: un linguaggio di programmazione
multi-paradigma (funzionale, imperativo, a oggetti), della
stessa classe di OCaml. F# attualmente è implementato
dalla divisione sviluppo di Microsoft per fornire un completo
supporto del .NET Framework.
- Applicazioni
di ML (un linguaggio funzionale della stessa classe di Objective Caml).
- Applicazioni
della programmazione funzionale.