• Non ci sono risultati.

Linguaggi di Programmazione programma del corso Parte I: Paradigmi di Programmazione –

N/A
N/A
Protected

Academic year: 2021

Condividi "Linguaggi di Programmazione programma del corso Parte I: Paradigmi di Programmazione –"

Copied!
1
0
0

Testo completo

(1)

A.A. 2004-05

Linguaggi di Programmazione

programma del corso

Parte I: Paradigmi di Programmazione – Il paradigma funzionale

• Binding statico e binding dinamico

• Valutazione lazy e valutazione eager

• Semantica di un (mini) linguaggio funzionale – Il paradigma imperativo

• Le locazioni

• Il passaggio dei parametri (valore, reference e nome)

• Semantica di un (mini) linguaggio Algol-like – Il paradigma ad oggetti (cenni)

Parte II: Correttezza di Programmi – Specifica e verifica nei linguaggi imperativi

• Il metodo delle invarianti

• Hoare Logic

– Specifica e verifica nei linguaggi funzionali

• Teorie equazionali

• Una teoria dei tipi dipendenti

Parte III: Sistemi dei Tipi – I tipi nei linguaggi funzionali

• Annotazioni di tipo come specifica

• Inferenza dei tipi come verifica – Il polimorfismo

• Tipi generici

• Il polimorfismo in ML

Epilogo

– Una mappa concettuale: linguaggi, logica, algebra e modelli.

Riferimenti

Documenti correlati

Induzione matematica e strutturale sono casi particolari di un potente metodo di prova chiamato induzione ben fondata In questa lezione vedremo in dettaglio:. ¾ Induzione

Supponiamo di voler estendere le espressioni aritmetiche di IMP includendo un nuovo operatore “^” con il significato di elevamento a potenza. La sintassi di Aexp di IMP verrà

Negli anni sessanta, Christopher Strachey e Dana Scott riuscirono a superare le limitazioni della semantica operazionale introducendo una semantica più astratta basata sull’utilizzo

La sintassi specifica sia la struttura lessicale del linguaggio (come costruire le parole a partire dai caratteri dell’alfabeto) sia le regole per la costruzione delle

Si noti che nel comando if, comunque sia valutato b in σ’, esso viene interrotto dopo l’esecuzione di c e dunque in questo caso <w,σ> è valutato σ’ sse <if,σ>.

Passo induttivo: supponendo che l’asserto sia vero per un albero di derivazione alto n e per n cicli di valutazioni nella denotazione del while (con n > 0, quindi anche per

L'iterazione ed il singolo ciclo terminano non appena viene incontrata una espressione booleana che valuta a falso”. Verificare che le due semantiche

Ma siccome stiamo valutando l’equivalenza dei due comandi if nel senso di un utilizzo alternativo degli stessi (nello stesso istante), qualsiasi scelta venga effettuata tra c 0 e c