ESERCIZI VARI

Esercizio 1

La seguente espressione Scheme contiene due errori di sintassi. Quali?

(define pippo (lambda (x) (x + 3) )



Esercizio 2
Scrivere un'espressione Scheme la cui valutazione non termina, ma che terminerebbe se fosse utilizzato l'interprete di Haskell.


Esercizio 3
  • Quali aspetti di Java non sono rappresentati nel calcolo FJ?
  • Descrivere il significato della seguente regola di tipo di FJ

  • Esercizio 4
    Cosa si intende per "Observable Nondeterminism"?. E' presente nel paradigma chiamato "Declarative concurrency"? Giustificare la risposta.


    Esercizio 5
    Cosa si intende per Linguaggi di programmazione con "named state" e con "unnamed state"?
    Possono esserci linguaggi concorrenti in entrambe categorie?


    Esercizio 6
    Perche' dimostrare proprieta' di programmi funzionali dovrebbe essere piu' semplice, in genere, che per programmi imperativi?


    Esercizio 7
    VanRoy suggerisce, per i linguaggi O.O., di utilizzare il meccanismo dell'Inheritance il meno possibile e di utilizzare al suo posto il meccanismo della Composition. Perche'?


    Esercizio 8
    Descrivere (possibilmente anche con un breve esempio) quella che viene comunemente indicata come Declarative Concurrency.


    Esercizio 9
    Discutere brevemente del concetto di subtyping e del suo uso in Haskell, Pict e OCaml.


    Esercizio 10
    Descrivere brevemente cosa si intende per Discrete Syncronous Programming e

    Esercizio 11
    Descrivere il modello di concorrenza ad attori (Actors Model of Concurrency).

    Esercizio 12
    Descrivere il comportamento dell'operatore fby in Lucid-Syncrone.
    I tipi in Lucid-Syncrone (int, bool ecc.) hanno lo stesso significato che in OCaml?

    Esercizio 13

    Discutere brevemente del concetto di chiusura (closure).

    Esercizio 14
    Descrivere le caratteristiche fondamentali del linguaggio Lucid Syncrone.
    Esercizio XX


  • Possibile soluzione.
    Esercizio XX


  • Possibile soluzione.