Polidori, Daniele
(2020)
Implementazione in un linguaggio logico con vincoli di ordine superiore della type inference di Haskell.
[Laurea], Università di Bologna, Corso di Studio in
Informatica [L-DM270]
Documenti full-text disponibili:
Abstract
Implementazione in ELPI, un linguaggio logico con vincoli di ordine superiore, dell'algoritmo di type inference di Haskell.
ELPI è un'estensione con vincoli di lambda Prolog. Utilizzando lambda Prolog risulta impossibile implementare la type inference di Haskell. Si è reso dunque necessario l'utilizzo di ELPI, più espressivo (non nel senso di Turing completezza) di lambda Prolog.
La presente trattazione ha una duplice finalità.
La prima consiste nel dimostrare che le estensioni a lambda Prolog presenti in ELPI permettono di risolvere problemi non risolvibili in lambda Prolog.
La seconda, non ancora implementata ma lasciata agli sviluppi futuri, prevede di fare del mio lavoro uno strumento di prova per testare, implementare e studiare nuove estensioni al meccanismo delle type class di Haskell. Infatti, essendo ELPI un linguaggio di più alto livello e più semplice (grazie alle features del linguaggio) rispetto ad Haskell, aggiungere estensioni al meccanismo base delle type class dovrebbe risultare banale (in confronto alla complessità di eseguire tale operazione in Haskell).
Abstract
Implementazione in ELPI, un linguaggio logico con vincoli di ordine superiore, dell'algoritmo di type inference di Haskell.
ELPI è un'estensione con vincoli di lambda Prolog. Utilizzando lambda Prolog risulta impossibile implementare la type inference di Haskell. Si è reso dunque necessario l'utilizzo di ELPI, più espressivo (non nel senso di Turing completezza) di lambda Prolog.
La presente trattazione ha una duplice finalità.
La prima consiste nel dimostrare che le estensioni a lambda Prolog presenti in ELPI permettono di risolvere problemi non risolvibili in lambda Prolog.
La seconda, non ancora implementata ma lasciata agli sviluppi futuri, prevede di fare del mio lavoro uno strumento di prova per testare, implementare e studiare nuove estensioni al meccanismo delle type class di Haskell. Infatti, essendo ELPI un linguaggio di più alto livello e più semplice (grazie alle features del linguaggio) rispetto ad Haskell, aggiungere estensioni al meccanismo base delle type class dovrebbe risultare banale (in confronto alla complessità di eseguire tale operazione in Haskell).
Tipologia del documento
Tesi di laurea
(Laurea)
Autore della tesi
Polidori, Daniele
Relatore della tesi
Scuola
Corso di studio
Ordinamento Cds
DM270
Parole chiave
ELPI,Haskell,Type inference,Type class,Logica,Funzionale,Vincoli,Ordine superiore,Lambda Prolog
Data di discussione della Tesi
18 Marzo 2020
URI
Altri metadati
Tipologia del documento
Tesi di laurea
(NON SPECIFICATO)
Autore della tesi
Polidori, Daniele
Relatore della tesi
Scuola
Corso di studio
Ordinamento Cds
DM270
Parole chiave
ELPI,Haskell,Type inference,Type class,Logica,Funzionale,Vincoli,Ordine superiore,Lambda Prolog
Data di discussione della Tesi
18 Marzo 2020
URI
Statistica sui download
Gestione del documento: