109 citations found. Retrieving documents...
Simon Peyton Jones. The Implementation of Functional Programming Languages. Prentice Hall, 1987.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

Categorical and Graphical Models of Programming Languages - Schweimeier (2001)   (1 citation)  (Correct)

....if x occurs in M many times, then substituting N for X implies that N may have to be evaluated many times. In practice, therefore, the call by need strategy is used it is like call by name, but the first time an occurrence of N is evaluated, its result is shared with the other occurrences; see [MOW98, PJ87]. The lambda calculus can be given a type system [Bar92] where a function has a function type A ) B, indicating that it accepts arguments of type A, and returns a result of type B. A function application MN is then well typed only if M is of a function type A ) B, and N is of type A; then MN is ....

....languages, the intermediate language is often a lambda calculus. The translation of the lambda calculus to machine code is then often given by an abstract machine [Lan64, App92, CCM87] A different implementation method for an intermediate language based on the lambda calculus is graph reduction [PJ87]. The semantics of programming languages can contribute to the design and verification of compilers, by providing semantics for the intermediate languages, and methods of reasoning about the translation of a programming language into an intermediate language, and about the transformation of ....

[Article contains additional citation context not shown here]

Simon L. Peyton Jones. The Implementation of Functional Programming Languages. Prentice-Hall, 1987.


Implementation of Programming Languages (Lecture Notes) - (Ed.) (2002)   (Correct)

....signatures of the two functions di#er. The signature is the number, order and types of the arguments of the function. It does not include the return type: two functions with the same arguments, but di#erent return types are not allowed. This kind of polymorphism was described by Strachey (see [26]) as ad hoc polymorphism and currently often goes under the name of overloading : a function name is allowed to stand for a number of things, all of them potentially very di#erently coded. An example of overloading that you have encountered many times is the kind where you may use an operator ....

Simon L. Peyton Jones. The Implementation of Functional Programming Languages. Prentice Hall, 1987.


Sharing of Computations - Amtoft (1993)   (1 citation)  (Correct)

....af PhD graden i datalogi ved Aarhus Universitet. Motivation I de senere ar har man arbejdet meget med at udvikle vrktjer til at gre programmer mere e#ektive. Af teknikker kan nvnes memoisering [Kho90] udfold fold transformationer [PP91b] graf baseret implementation af lazy evaluering [Jon87] og partiel evaluering [JSS89] At disse metoder forbedrer e#ektiviteten skyldes at nogle beregninger deles, sa de kun skal gres en gang. Imidlertid er forbindelsen mellem teknikkerne ikke klart forstaet, og det er heller ikke klart hvor stor e#ektivitetsforbedring (speedup) de kan forarsage. ....

....changes have been made. Introduction In the recent years a lot of work has been devoted to developing tools for transforming less e#cient programs into more e#cient programs. These include memoization [Kho90] unfold fold transformations [PP91b] graphbased implementation of lazy evaluation [Jon87] and partial evaluation [JSS89] The e#ciency improvement caused by these techniques all are due to the fact that some computations are shared, i.e. they only have to be done once. However, it is in no way clearly understood how these techniques relate to each other; neither is it clearly ....

[Article contains additional citation context not shown here]

Simon L. Peyton Jones. The Implementation of Functional Programming Languages. Prentice-Hall, 1987.


Dynamics in ML - Leroy, Mauny (1993)   (26 citations)  (Correct)

....substitution [6] These physical modi cations are reversed at the end of matching. To make dynamic coercions even faster, we could perform partial evaluation on the ge gtype predicate, since its second argument is always known at compile time. Conventional patternmatching compilation techniques [22] do not apply directly, however, since they consist in specializing term matching predicates on their rst argument (the more general term) not on the second one (the less general term) Specializing a matching predicate such as ge gtype on its second argument is actually just as dicult as the ....

Simon Peyton-Jones. The implementation of functional programming languages. Prentice-Hall, 1987.


Fine Control of Demand in Haskell - Harrison, Sheard, Hook (2002)   (3 citations)  (Correct)

....patterns, al though we shall see that this term is something of a misnomer because matches against irrefutable patterns can indeed fail. Haskell patterns without are evaluated strictly (as in ML and Miranda, etc. That is, matching a free pattern p 2 The name comes fi om Peyton Jones[11] where this same function was represented by a fat bar hence the name fatbar. data Tree = T Tree Tree [ S Tree [ R Tree [ L ex0 = T (S x) R y) L) T L (R L) match failure exl = T (S x) R y) L) T L (R L) L ex2 = T (S x) R y) x) T L (R L) match ....

Simon Peyton Jones. The Implementation of Functional Programming Languages. Computer Science. Prentice-Hall, 1987.


Evaluating Inlining Techniques - Kaser, Ramakrishnan (1998)   (11 citations)  (Correct)

....were also included: FFT, ODProv, PCProv, Pascal, Event, and Ida. The last two are from Hartel s benchmark suite[HL93] while ODProv[O D85] and PCProv are toy theorem provers. Pascal is an interpreter for a subset of Pascal. All of the larger programs except FFT make extensive use of lazy evaluation[Pey87]. This reduces the number of calls that procedures make directly to one another; instead, procedures invoke (and are invoked by) the runtime system frequently. Recall that we assume such calls cannot be inlined by any technique. To obtain meaningful results, then, we show the predicted percentage ....

Simon L. Peyton-Jones. The Implementation of Functional Programming Languages. Prentice-Hall, 1987.


Compilation of Id-: a subset of Id - Ariola, Arvind (1990)   (Correct)

....languages clauses in patterns are examined from top to bottom and patterns in a clause are examined from left to right. Within the limitations of the above rule, pattern matching does not force the evaluation of a pattern whose type is irrefutable (tuples are examples of irrefutable patterns) [6]. Miranda in addition allows repeated occurrences of a variable in a clause. Id pattern matching is designed to be order insensitive and is maximally non strict for sequential implementations. In Id, patterns must not overlap to allow order insensitivity. Id also does not permit repeated ....

P. J. Simon L. The implementation of Functional Programming Languages. Prentice-Hall International, Englewood Cliffs, N.J., 1987.


Computation Structures Group Memo 328 - May Boon Ang (1991)   (4 citations)  (Correct)

....of the order of the patterns. The algorithm for this is described in the file: jj nikhil haskell pattern matching.text Unfortunately, this file has not been published perhaps it should be turned into a CSG memo. Other pattern matching algorithms can be found in Simon Peyton Jones s book [7]. 57 doesn t do fetch elimination across encapsulator boundaries . Fetch elimination is defined for istructures, tuples, sums and cons. Caveats: Fetch elimination doesn t look across encapsulator boundaries. 6.3.3 Simple Fetch Elimination Instruction Properties: fetch like p ....

Simon Peyton-Jones. The Implementation of Functional Programming Languages. Prentice Hall, 1987.


Order-Sorted Algebra I: Equational Deduction for Multiple.. - Goguen (1992)   (134 citations)  (Correct)

.... to compiled Lisp on sequential machines for a (restricted) class of equations, and the Rewrite Rule Machine Project at SRI is developing a parallel architecture on which term rewriting promises to be much more efficient than conventional languages on conventional machines [51, 31] see also [46] for a survey of efficient implemention techniques for higher order functional programming. Term rewriting provides a complete deductive system for equality, and any expression reduces to a unique canonical form (one that cannot be further rewritten) provided certain simple conditions are ....

Simon Peyton Jones. The Implementation of Functional Programming Languages. PrenticeHall, 1987.


Translation Of Pattern Matching In A Java-Like Language - Burak Emir Epf   (Correct)

No context found.

Simon Peyton Jones. The Implementation of Functional Programming Languages. Prentice Hall, 1987.


Pathfinder: Compiling XQuery - For Execution On   (Correct)

No context found.

Simon L. Peyton Jones. The Implementation of Functional Programming Languages. Prentice Hall, New York, 1994.


A Functional Shell That Dynamically Combines Compiled Code - van Weelden, Plasmeijer (2004)   (Correct)

No context found.

Simon L. Peyton Jones. The Implementation of Functional Programming Languages. Prentice-Hall, 1987.


Pattern-Based Languages for Prototyping of Compiler Optimizers - Charles Donald Farnum (1990)   (3 citations)  (Correct)

No context found.

Simon L. Peyton Jones, The Implementation of Functional Programming Languages, Prentice Hall, Englewood Cliffs, NJ, 1987.


On Role Logic - Kuncak, Rinard (2003)   (Correct)

No context found.

Simon L. Peyton Jones. The Implementation of Functional Programming Languages. Prentice-Hall, 1987.


On Role Logic - Kuncak, Rinard (2003)   (Correct)

No context found.

Simon L. Peyton Jones. The Implementation of Functional Programming Languages. Prentice-Hall, 1987.


Efficient Implementation of Concurrent Programming Languages - Stenman (2002)   (Correct)

No context found.

Simon L. Peyton Jones. The Implementation of Functional Programming Languages. Computer Science. Prentice-Hall, 1987.


A Functional Shell that Dynamically Combines Compiled Code - van Weelden, Plasmeijer (2004)   (Correct)

No context found.

Simon L. Peyton Jones. The Implementation of Functional Programming Languages. Prentice-Hall, 1987.


A Functional Shell that Dynamically Combines Compiled Code - van Weelden, Plasmeijer (2003)   (Correct)

No context found.

Simon L. Peyton Jones. The Implementation of Functional Programming Languages. Prentice-Hall, 1987.


On Role Logic - Kuncak, Rinard (2003)   (Correct)

No context found.

Simon L. Peyton Jones. The Implementation of Functional Programming Languages. Prentice-Hall, 1987.


Pathfinder: Compiling XQuery for Execution on the Monet Database.. - Teubner   (Correct)

No context found.

Simon L. Peyton Jones. The Implementation of Functional Programming Languages. Prentice Hall, New York, 1994.


Basic Pattern Matching Calculi: Syntax, Reduction, Confluence, and .. - Kahl (2003)   (Correct)

No context found.

Simon L. Peyton Jones. The Implementation of Functional Programming Languages. Prentice-Hall, 1987.


The Implementation of a System Description Language and its.. - van Reeuwijk (1991)   (Correct)

No context found.

Simon L. Peyton Jones. The Implementation of Functional Programming Languages. Prentice-Hall, Englewood Cliffs, N.J., 1984.


Abstraction as a Means for End-User Computing - In Creative Applications   (Correct)

No context found.

Simon L. Peyton Jones, The Implementation of Functional Programming Languages, Prentice-Hall, 1986.


A Safe Transformation System for Optimizing Functional Programs - Moreno   (Correct)

No context found.

Simon L. Peyton Jones. The Implementation of Functional Programming Languages. Prentice-Hall, 1987.


Functional Low-Level Interpreters - Karczmarczuk (2002)   (Correct)

No context found.

Simon L. Peyton Jones al, The Implementation of Functional Programming Languages, Prentice-Hall, (1987).

First 50 documents  Next 50

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