Forum Informatica Unict

LAUREA MAGISTRALE => Linguaggi di Programmazione, 9 CFU => Topic started by: Giovi89 on 20-11-2014, 12:11:53



Title: Esercizio 7 Haskell
Post by: Giovi89 on 20-11-2014, 12:11:53
Salve ragazzi,
come rispondereste a questa domanda?

In Haskell ogni termine, prima di venire valutato, viene tipato con
un sistema di assegnamento simile a quello a' la Curry visto nel
corso. I lambda termini tipabili a' la Curry hanno la proprieta' di
essere fortemente normalizzabili. Questo dovrebbe implicare che
ogni "programma" Haskell "termini". Invece non e' cosi'.
Cosa e' presente in Haskell in piu', rispetto al sistema di
assegnamento di tipi a'la Curry per il lambda calcolo, che fornisce
al linguaggio la possibilita' di avere non terminazione?

p.s. la domanda è rivolta pure al prof.


Title: Re:Esercizio 7 Haskell
Post by: Franco Barbanera on 20-11-2014, 14:53:28
Il prof. aspetta che qualcuno prima provi a farsi avanti.
Con una bozza di idea, uno spunto, un suggerimento, una cosa...

FB


Title: Re:Esercizio 7 Haskell
Post by: alex180788 on 21-11-2014, 23:16:30
Basta pensare a come vengono definite le funzioni ricorsive in Haskell, cioè definendo una serie di equazioni. Questo puoi farlo perché in Haskell possiamo dare un nome ad una espressione.


Title: Re:Esercizio 7 Haskell
Post by: Franco Barbanera on 22-11-2014, 11:33:19
Basta pensare a come vengono definite le funzioni ricorsive in Haskell, cioè definendo una serie di equazioni. Questo puoi farlo perché in Haskell possiamo dare un nome ad una espressione.

Ottimo suggerimento.


Title: Re:Esercizio 7 Haskell
Post by: Giovi89 on 25-11-2014, 11:18:51
Una valida risposta potrebbe essere la seguente?

"Il linguaggio Haskell non termina perché la proprietà di normalizzazione dei termini tipabili non vale più considerando il tipaggio a' la Curry nel contesto del lambda calcolo esteso"


Title: Re:Esercizio 7 Haskell
Post by: Franco Barbanera on 25-11-2014, 14:03:56
Una valida risposta potrebbe essere la seguente?

"Il linguaggio Haskell non termina perché la proprietà di normalizzazione dei termini tipabili non vale più considerando il tipaggio a' la Curry nel contesto del lambda calcolo esteso"
Meglio specificare che del lambda calcolo esteso e' l'operatore di punto fisso che non permette piu' alla proprieta'
di valere.

FB