In this paper we introduce an algorithm for detecting strictness information in typed functional programs. Our algorithm is based on a type inference system which allows to exploit the type structure of the language for the investigation of program properties. The detection of strictness information can be performed in a complete way, by reducing it to the solution of a set of constraints involving type variables. A key feature of our method is that it is compositional and there is a notion of principal type scheme. Even though the language considered in the paper is the simply typed lambda-calculus with a fixpoint constructor and arithmetic constants we can generalize our approach to polymorphic languages like Lazy ML. Although focused on strictness our method can also be applied to the investigation of other program properties, like dead code and binding time.
An inference algorithm for strictness
DAMIANI, Ferruccio;GIANNINI, Paola
1997-01-01
Abstract
In this paper we introduce an algorithm for detecting strictness information in typed functional programs. Our algorithm is based on a type inference system which allows to exploit the type structure of the language for the investigation of program properties. The detection of strictness information can be performed in a complete way, by reducing it to the solution of a set of constraints involving type variables. A key feature of our method is that it is compositional and there is a notion of principal type scheme. Even though the language considered in the paper is the simply typed lambda-calculus with a fixpoint constructor and arithmetic constants we can generalize our approach to polymorphic languages like Lazy ML. Although focused on strictness our method can also be applied to the investigation of other program properties, like dead code and binding time.File | Dimensione | Formato | |
---|---|---|---|
LNCS-tlca-1997.pdf
Accesso riservato
Descrizione: Articolo principale (conferenza)
Tipo di file:
PDF EDITORIALE
Dimensione
983.78 kB
Formato
Adobe PDF
|
983.78 kB | Adobe PDF | Visualizza/Apri Richiedi una copia |
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.