Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/141471acmconferencesBook PagePublication PageslfpConference Proceedingsconference-collections
LFP '92: Proceedings of the 1992 ACM conference on LISP and functional programming
ACM1992 Proceeding
Publisher:
  • Association for Computing Machinery
  • New York
  • NY
  • United States
Conference:
LFP92: ACM Conference on Lisp and Functional Programming San Francisco California USA June 22 - 24, 1992
ISBN:
978-0-89791-481-9
Published:
03 January 1992
Sponsors:

Bibliometrics
Abstract

No abstract available.

Article
Free
Improving binding times without explicit CPS-conversion

A major obstacle in partial evaluation (program specialization) is the need for binding time improvements. By reorganizing a source program, the residual programs obtained by specializing the source program may be improved: more computations can be ...

Article
Free
Safe fusion of functional expressions

Large functional programs are often constructed by decomposing each big task into smaller tasks which can be performed by simpler functions. This hierarchical style of developing programs has been found to improve programmers' productivity because ...

Article
Free
Compiling lazy pattern matching
Article
Free
Improving the performance of SML garbage collection using application-specific virtual memory management

We improved the performance of garbage collection in the standard ML of New Jersey system by using the virtual memory facilities provided by the Mach kernel. We took advantage of Mach's support for large sparse address spaces and user-defined paging ...

Article
Free
Polymorphic type reconstruction for garbage collection without tags

Several papers, have recently claimed that garbage collection can be performed on untagged data in the presence of ML-style type polymorphism. They rely on the ability to reconstruct the type of any reachable object during garbage collection. The bad ...

Article
Free
Projective ML

We propose a projective lambda calculus as the basis for operations on records. Projections operate on elevations, that is, records with defaults. This calculus extends lambda calculus while keeping its essential properties. We build projective ML ...

Article
Free
Parsers in ML

We present the operational semantics of streams and stream matching as discussed in. Streams are data structures such as lists, but with different primitive operations. Streams not only provide an interface to usual imput/output channels, but may used ...

Article
Free
Interactive modular programming in Scheme

This paper presents a module system and a programming environment designed to support interactive program development in Scheme. The module system extends lexical scoping while maintainig its flavor and benefits and supports mutually recursive modules. ...

Article
Free
Finiteness conditions for fixed point iteration

This paper provides a link between the formulation of static program analyses using the framework of abstract interpretation (popular for functional languages and using the more classical framework of data flow anlysis (popular for imperative languages)...

Article
Free
A syntactic approach to fixed point computation on finite domains

We propose a syntactic approach to performing fixed point computation on finite domains. Finding fixed points in finite domains for monotonic fuctions is an essential task when calculating abstract semantics of functional programs. Previous methods for ...

Article
Free
Abstract interpretation in weak powerdomains

We introduce a class of semantic domains, weak powerdomains, that are intended to serve as value spaces for abstract interpretations in which safety is a concern. We apply them to the analysis of PCF programs. In the classical abstract interpretation ...

Article
Free
Proving memory management invariants for a language based on linear logic

We develop tools for the rigorous formulation and proof of properties of runtime management for a sample programming language based on a linear type system. Two semantics are diescribed, one at a level of observable results of computations and one ...

Article
Free
Proving the correctness of storage representations

Conventional techniques for semantics-directed compiler derivation yield abstract machines that manipulate trees. However, in order to produce a real compiler, one has to represent these trees in memory. In this paper we show how the technique of ...

Article
Free
On extending computational adequacy by data abstraction

Given an abstract data type(ADT), and algebra that specifies it, and an implementation of the data type in a certain language, if the implementation is “correct,” a certain principle of modularity of reasoning holds. Namely, one can safely reason about ...

Article
Free
Parametric type classes

We propose a generalization to Haskell's type classes where a class can have type parameters besides the placeholder variable. We show that this generalization is essential to represent container classes with overloaded data constructor and selector ...

Article
Free
A calculus for overloaded functions with subtyping

We present a simple extension of typed λ-claculus where functions can be overloaded by adding different “pieces of code”. In short, the code of an overloaded function is formed by several branches of code; the branch to execute is chosen, when the ...

Article
Free
Type inference in the presence of overloading, subtyping and recursive types

We present a unified approach to type inference in the presence of overloading and coercions based on the concept of constrained types. We define a generic inference system, show that subtyping and overloading can be treated as a special instance of ...

Article
Free
Global tagging optimization by type inference

Tag handling accounts for a substantial amount of execution cost in latently typed languages such as Common LISP and Scheme, espicially on architectures that provide no special hardware support.

Article
Free
Analysis of recursive types in Lisp-like languages

We introduce a new algorithm to analyze recursive, structured types. It derives information from object uses (accesser functions with type checking), as well as from object allocation. The type description is a form of graph grammar and is naturally ...

Article
Free
Taming the Y operator

In this paper I present a set of conceptually simple but involved techniques used by LIAR, the MIT SCHEME compiler, to generate good code when recursive procedures are specified in terms of suitable versions of the Y operator. The techniques presented ...

Article
Free
The Python compiler for CMU Common Lisp

The Python compiler for CMU Common Lisp has been under development for over five years, and now forms the core of a production quality public domain Lisp implementation. Python synthesizes the good ideas from Lisp compilers and source transformation ...

Article
Free
Integrating the Scheme and C languages
Article
Free
WCL: Delivering efficient Common Lisp applications under Unix

Common Lisp implementations for Unix have traditionally provided a rich development environment at the expense of an inefficient delivery environment. The goal of WCL is to allow hundreds of Lisp applications to be realistically available at once, ...

Article
Free
Tachyon Common Lisp: an efficient and portable implementation of CLtL2

Tachyon Common Lisp is an efficient and portable implementation of Common Lisp 2nd Edition. The design objective of Tachyon is to apply both advanced optimization technology developed for RISC processors and Lisp optimization techniques. The compiler ...

Article
Free
A confluent calculus of Macro expansion and evaluation

Syntactic abbreviations or macros provide a powerful tool to increase the syntactic expressiveness of programming languages. The expansion of these abbreviations can be modeled with substitutions. This paper presents an operational semantics of macro ...

Article
Free
Reasoning about programs in continuation-passing style.

Plotkin's λ-value calculus is sound but incomplete for reasoning about βeegr;-transformations on programs in continuation-passing style (CPS). To find a complete extension, we define a new, compactifying CPS transformation and an “inverse”mapping, un-...

Article
Free
Back to direct style II: first-class continuations

We continue to investigate the direct-style transformation by extending it to programs requiring call-with-current-continuation (a.k.a. call/cc). The direct style (DS) and the continuation-passing style (CPS) transformations form a Galois connection. ...

Article
Free
Dynamic program parallelization

Static program analysis limits the performance improvements possible from compile-time parallelization. Dynamic program parallelization shifts a portion of the analysis from complie-time to run-time, thereby enabling optimizations whose static ...

Contributors
  • Lucid Inc.

Recommendations

Acceptance Rates

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