Operational, denotational and logical descriptions: a case study
Fundamenta Informaticae - Special issue on mathematical foundations of computer science '91
Intersection type assignment systems
Selected papers of the thirteenth conference on Foundations of software technology and theoretical computer science
Introduction to Functional Programming
Introduction to Functional Programming
Calculi, types and applications
Theoretical Computer Science
Strong normalization from an unusual point of view
Theoretical Computer Science
An operational characterization of strong normalization
FOSSACS'06 Proceedings of the 9th European joint conference on Foundations of Software Science and Computation Structures
Call-by-Value solvability, revisited
FLOPS'12 Proceedings of the 11th international conference on Functional and Logic Programming
Hi-index | 0.00 |
Among all the reduction strategies for the untyped @l-calculus, the so called lazy @b-evaluation is of particular interest due to its large applicability to functional programming languages (e.g. Haskell [Bird, R., ''Introduction to Functional Programming using Haskell,'' Series in Computer Science (2nd edition), Prentice Hall, (1998)]). This strategy reduces only redexes not inside a lambda abstraction. The lazy strongly @b- normalizing terms are the @l-terms that don't have infinite lazy @b-reduction sequences. This paper presents a logical characterization of lazy strongly @b-normalizing terms using intersection types. This characterization, besides being interesting by itself, allows an interesting connection between call-by-name and call-by-value @l-calculus. In fact, it turns out that the class of lazy strongly @b-normalizing terms coincides with that of call-by-value potentially valuable terms. This last class is of particular interest since it is a key notion for characterizing solvability in the call-by-value setting.