Functional programming is a declarative method for writing programs. It satisfies some of the basic requirements of the software engeneering. Exactly for these reasons formal methods have been developed for studying the semantics of paradigmatic functional languages. These methods aim to extract operational properties, induced by some given abstract machine, out from denotational properties, induced by mathematical structures (2, 3, 7). This approach implies that it is basic to have a classification as much complete and abstract as possible of the class of the suitable mathematical structures yielding computational properties.
In case we take the call-by-name A-calculus AB (1) as paradigmatic functional language, we have a well-known and stable situation, concerning its models.
Quite surprisingly, a neat such situation is unknown for the Plotkin's lazy call-by-value A-calculus ABv (5), in spite ABv is the paradigm of real functional programming languages like SCHEME and ML.
The aim is to discover at least one definition of model ` la Hindley-Longo for ABv and a categorical description, corresponding each other as for AB.
Two steps are planned to obtain the aim.
The first step consists of giving a description as much wider and exhaustive as possible of what a categorical model for ABv could be. The second step consists of looking for suitable adaptations of the notion of model a la Hindely-Longo to the various proposals of categorical models, eventually produced by the first step.
For developing the first step, we plan both to compare the already existing categorical definitions of models for ABv, Moggi's one and (6), and to find some other proposals by looking at ABv as it were a substructural A-calculus.
Concerning the second step of the project, the most general categorical descriptions of the models, given in the first step, must be taken. Then, the corresponding Hindley-Longo's version should be given following (4) as script.