| J. Fairbairn. Design and Implementation of a Simple Typed Language based on the Lambda-Calculus. PhD thesis, University of Cambridge, May 1984. Also published as Technical Report 75, University of Cambridge Computer Laboratory. (p. 5) |
....work shows. This, then, is the commonly accepted foundation for functional programming; more precisely, for the lazy functional languages, which represent the mainstream of current functional programming practice. Examples: MIRANDA [Tur85] LML [Aug84] LISPKIT [Hen80] ORWELL [Wad85] PONDER [Fai85], TALE [BvL86] But do these languages as de ned and implemented actually evaluate terms to head normal form To the best of my knowledge, not a single one of them does so. Instead, they evaluate to weak head normal form, i.e. they do not evaluate under abstractions. x: y:y)M is in weak head ....
J. Fairbairn. Design and implementation of a simple typed language based on the lambda calculus. PhD thesis, University of Cambridge, 1985.
....Letrec new state = transition function old state new state Wray hit problems of unexpected ordering, in particular: when moving a cell to a new location, using mouse clicks, the cell would disappear as soon as it was selected rather than waiting until its new position was chosen. Fairbairn [32] points out that this results from answers being computed as soon as possible in a language with normal order semantics. The programmer has explicitly to ensure that the remove . redraw sequence does not start until the destination is received. Wray also discusses the other problem that ....
Jon Fairbairn. Design and implementation of a simple typed language based on the lambda-calculus. Technical Report 75, University of Cambridge, 1985.
.... techniques which make essential use of non strictness, taking as an example Nas, an interactive spreadsheet 1 Olivetti Research Limited, 24a Trumpington Street, Cambridge 2 University of Cambridge Computer Laboratory, Pembroke Street, Cambridge that was written in Ponder [Fairbairn 83, Fairbairn 85, Tillotson 85] Nas makes significant use of the non strict semantics of Ponder, so it serves as a good illustration of functional programming techniques. Most descriptions of functional programming techniques concentrate on small examples. We shall describe Nas in some detail, because at around ....
Jon Fairbairn, Design and Implementation of a Simple Typed Language Based on the Lambda27 Calculus, University of Cambridge Computer Laboratory Technical Report No.75, May 1985.
....An elegant and popular model that goes a long way toward meeting our requirements is the use of streams, lazy lists of data objects. The name stream was first coined by Landin [Lan65] since then, several functional languages have used streams for I O, including Ponder, Hope, and Miranda 1 [Fai85, BMS80, Tur85]. In these languages predefined identifiers are typically provided which are bound to specific I O channels. For example, the stream of input characters from the keyboard might have the name kb, and the stream of output characters to the display might have the name display the operating system ....
Jon Fairbairn. Design and Implementation of a Simple Typed Language Based on the Lambda-Calculus. Technical Report 75, University of Cambridge Computer Laboratory, May 1985.
....primitives is shared, rather than sharing the actions that the side effecting primitives perform. A number of different approaches to handling I O in functional languages that solve these problems have been proposed: ffl Streams. A stream is a lazy list of data objects. Miranda 3 [24] Ponder [4] and Hope [2] use streams for I O. In these systems, an interactive program is modelled as a function from one stream representing the input, to another representing the output. ffl Continuations. Continuation passing style entails writing functions that take an extra argument, a continuation, ....
Jon Fairbairn. Design and Implementation of a Simple Typed Language Based on the Lambda-Calculus. Technical Report 75, University of Cambridge, May 1985.
....that all applications of build are well typed. Unfortunately, Haskell s type system is based on the Hindley Milner system (Milner [1978] which does not allow local quantification; that is, the 8 s must all be at the top level of a type. A more general type system, such as that of Ponder (Fairbairn [1985]) or Quest (Cardelli Longo [1991] would allow this type for build, but they lack the type inference property. We sidestep this by building into the compiler trusted definitions of all the standard functions (map, filter, concat and so on) in terms of build and foldr. Since the programmer ....
J Fairbairn [May 1985], "Design and implementation of a simple typed language based on the lambda calculus, " TR 75, Computer Lab, Cambridge.
No context found.
J. Fairbairn. Design and Implementation of a Simple Typed Language based on the Lambda-Calculus. PhD thesis, University of Cambridge, May 1984. Also published as Technical Report 75, University of Cambridge Computer Laboratory. (p. 5)
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC