2 research outputs found

    A Process Semantics for Functional Programming

    No full text

    A Process Semantics for Functional Programming

    No full text
    The semantics of lazy functional programming languages is usually presented in two different ways: a semantics based on trees which is used to reason about a program; and a semantics based on graphs which is used to implement a program. The link between these semantics is often unclear. We present a process semantics for functional programming which has a number of interesting properties. Firstly it is structured in such a way that the relationship between the tree and graph semantics is clear. Secondly, it captures the main requirements of functional programming by incorporating laziness, cycles and strictness. Lastly, there is a simple formal correspondence between this semantics and other operational presentations. 1 Introduction The semantics of a lazy functional programming language may be characterized in two ways. Firstly, terms may be considered to be trees which are evaluated using a leftmost-outermost reduction (or call-by-name) strategy until they are in weak head normal fo..
    corecore