skip to main content
10.1145/91556acmconferencesBook PagePublication PageslfpConference Proceedingsconference-collections
LFP '90: Proceedings of the 1990 ACM conference on LISP and functional programming
ACM1990 Proceeding
Publisher:
  • Association for Computing Machinery
  • New York
  • NY
  • United States
Conference:
LFP90: ACM Conference on Lisp and Functional Programming Nice France June 27 - 29, 1990
ISBN:
978-0-89791-368-3
Published:
01 May 1990
Sponsors:

Reflects downloads up to 10 Nov 2024Bibliometrics
Abstract

No abstract available.

Article
Free
Debugging standard ML without reverse engineering

We have built a novel and efficient replay debugger for our Standard ML compiler. Debugging facilities are provided by instrumenting the user's source code; this approach, made feasible by ML's safety property, is machine-independent and back-end ...

Article
Free
A module system for scheme

This paper presents a module system designed for large-scale programming in Scheme. The module system separates specifications of objects from their implementations, permitting the separate development, compilation, and testing of modules. The module ...

Article
Free
Static dependent types for first class modules

Static dependent types are the basis of a new type system that permits types and values to be packaged together into first class modules. Unlike other approaches to modules, static dependent types permit unrestricted access to the types and values in ...

Article
Free
A semantic basis for quest
Article
Free
Computing with coercions

This paper relates two views of the operational semantics of a language with multiple inheritance. It is shown that the introduction of explicit coercions as an interpretation for the implicit coercion of inheritance does not affect the evaluation of a ...

Article
Free
Comprehending monads

Category theorists invented monads in the 1960's to concisely express certain aspects of universal algebra. Functional programmers invented list comprehensions in the 1970's to concisely express certain programs involving lists. This paper shows how ...

Article
Free
Trap architectures for Lisp systems

Recent measurements of Lisp systems show a dramatic skewing of operation frequency. For example, small integer (fix-num) arithmetic dominates most programs, but other number types can occur on almost any operation. Likewise, few memory references ...

Article
Free
Comparing mark-and sweep and stop-and-copy garbage collection

Stop-and-copy garbage collection has been preferred to mark-and-sweep collection in the last decade because its collection time is proportional to the size of reachable data and not to the memory size. This paper compares the CPU overhead and the memory ...

Article
Free
Efficient method dispatch in PCL
Article
Free
Efficient stack allocation for tail-recursive languages
Article
Free
A parallel virtual machine for efficient scheme compilation

Programs compiled by Gambit, our Scheme compiler, achieve performance as much as twice that of the fastest available Scheme compilers. Gambit is easily ported, while retaining its high performance, through the use of a simple virtual machine (PVM). PVM ...

Article
Free
A functional programming language compiler for massively parallel computers

Functional programming languages remove programmers from low-level machine details, an important achievement when programming massively parallel systems. We present an overview of an FP compiler that generates programs capable of exploiting data-...

Article
Free
Partial evaluation applied to numerical computation

There have been many demonstrations that the expressive power of Lisp can greatly simplify the process of writing numerical programs, but at the cost of reduced performance.[10][16] I show that by coupling Lisp's abstract, expressive style of ...

Article
Free
Abstracting control

The last few years have seen a renewed interest in continuations for expressing advanced control structures in programming languages, and new models such as Abstract Continuations have been proposed to capture these dimensions. This article investigates ...

Article
Free
Reasoning with continuations II: full abstraction for models of control

A fully abstract model of a programming language assigns the same meaning to two terms if and only if they have the same operational behavior. Such models are well-known for functional languages but little is known about extended functional languages ...

Article
Free
Lazy task creation: a technique for increasing the granularity of parallel programs

Many parallel algorithms are naturally expressed at a fine level of granularity, often finer than a MIMD parallel system can exploit efficiently. Most builders of parallel systems have looked to either the programmer or a parallelizing compiler to ...

Article
Free
Speculative computation in multilisp

We present experimental evidence that performing computations in parallel before their results are known to be required can yield performance improvements over conventional approaches to parallel computing. We call such eager computation of expressions ...

Article
Free
Unify and conquer

Type inference is the process by which an expression in an untyped computer language such as the lambda-calculus, Lisp, or a functional language can be assigned a static data type in order to improve the code generated by a compiler. Storage use ...

Article
Free
Using projection analysis of evaluation-order and its application

Projection analysis is a technique for finding out information about lazy functional programs. We show how the information obtained from this analysis can be used to speed up sequential implementations, and introduce parallelism into parallel ...

Article
Free
A compositional analysis of evaluation-order and its application

We present a compositional definition of the order of evaluation of variables in a lazy first-order functional language. Unlike other published work, our analysis applies to all evaluation strategies which may use strictness information to change the ...

Article
Free
Context information for lazy code generation

Functional languages like Miranda and Haskell employ a non-strict semantics. This is important for the functional programming style as it allows one to compute with infinite data structures. However, a straightforward implementation of the language will ...

Article
Free
Binding time analysis for high order untyped functional languages

When some inputs of a program are known at compile-time, certain expressions can be processed statically; this is the basis of the notion of partial evaluation. Identifying these early computations can be determined independently of the actual values of ...

Article
Free
Compiling pattern matching by term decomposition

We present a method for compiling pattern matching on lazy languages based on previous work of Huet and Lévy and, later on, Laville by coding ambiguous linear sets of patterns using “Term Decomposition”, and producing non ambiguous sets over terms with ...

Article
Free
Partial type inference for untyped functional programs

This extended abstract describes a way of inferring as much type information as possible about programs written in an untyped programming language. We present an algorithm that underlines the untypable parts of a program and assigns types to the rest. ...

Article
Free
Discrete polymorphism
Article
Free
Operational and axiomatic semantics of PCF

PCF, as considered in this paper, is a lazy typed lambda calculus with functions, pairing, fixed-point operators and arbitrary algebraic data types. The natural equational axioms for PCF include η-equivalence and the so-called “surjective pairing” axiom ...

Article
Free
Incremental reduction in the lambda calculus

An incremental algorithm is one that takes advantage of the fact that the function it computes is to be evaluated repeatedly on inputs that differ only slightly from one another, avoiding unnecessary duplication of common computations.

We define here a ...

Article
Free
From operational semantics to abstract machines: preliminary results

The operational semantics of functional programming languages is frequently presented using inference rules within simple meta-logics. Such presentations of semantics can be high-level and perspicuous since meta-logics often handle numerous syntactic ...

Contributors
  • INRIA Rocquencourt
Please enable JavaScript to view thecomments powered by Disqus.

Recommendations

Acceptance Rates

Overall Acceptance Rate 30 of 109 submissions, 28%
YearSubmittedAcceptedRate
LFP '941093028%
Overall1093028%