skip to main content
10.1145/800087acmconferencesBook PagePublication PageslfpConference Proceedingsconference-collections
LFP '80: Proceedings of the 1980 ACM conference on LISP and functional programming
ACM1980 Proceeding
Publisher:
  • Association for Computing Machinery
  • New York
  • NY
  • United States
Conference:
Stanford University California USA August 25 - 27, 1980
ISBN:
978-1-4503-7396-8
Published:
25 August 1980
Sponsors:

Reflects downloads up to 05 Mar 2025Bibliometrics
Abstract

No abstract available.

Article
Free
LISP - notes on its past and future

LISP has survived for 21 years because it is an approximate local optimum in the space of programming languages. However, it has accumulated some barnacles that should be scraped off, and some long-standing opportunities for improvement have been ...

Article
Free
Symbolic computing with and without LISP

The advantages and disadvantages of LISP-based algebraic computing, compared to its rivals, are considered. Present features of LISP, and features desirable for the future, which generate the advantages for LISP, are identified.

Article
Free
Multics Emacs (Prose and Cons): A commercial text-processing system in Lisp

This paper addresses the choice of Lisp as the implementation language, and its consequences, including some of the implementation issues. The detailed history of Multics Emacs, its system-level design considerations, and its impact on Multics and its ...

Article
Free
Explicit parallelism in LISP-like languages

We introduce a LISP-like language whose parameter passing mechanism and control primitives allow for the creation and the synchronization of an arbitrary number of concurrent computations. The parameter passing mechanism is a parallel version of call-by-...

Article
Free
Continuation-based multiprocessing

Any multiprocessing facility must include three features: elementary exclusion, data protection, and process saving. While elementary exclusion must rest on some hardware facility (e.g. a test-and-set instruction), the other two requirements are ...

Article
Free
MULTI - a LISP based multiprocessing system

A package of LISP functions, collectively called MULTI, which extends LISP 1.5 to multiprogramming is presented. MULTI defines the notion of a process within a LISP implementation using function invocation as the only control primitive. A process is an ...

Article
Free
The function-class

The 'function-class' concept is introduced and explained in this paper.

The 'function-class' specifies the function's input procedure, input requirement, output requirement and output procedure. It includes the argument evaluation process in its input ...

Article
Free
A constructive alternative to axiomatic data type definitions

Many computer scientists advocate using axiomatic methods (such as algebraic specification) to specify a program data domain—the universe of abstract data objects and operations manipulated by a program. Unfortunately, correct axiomatizations are ...

Article
Free
A semantic comparison of LISP and SCHEME

We review the features of some of the major dialects of LISP, show how they are reflected in denotational treatments of their semantics and draw a series of conclusions concerning semantic design of languages, program proving and optimization. We ...

Article
Free
MODLISP

This paper discusses the design and implementation of MODLISP, a LISP-like language enhanced with the idea of MODes. This extension permits, but does not require, the user to declare the types of various variables, and to compile functions with the ...

Article
Free
Extending object oriented programming in Smalltalk

Smalltalk is an object oriented programming language with behavior invoked by passing messages between objects. Objects with similar behavior are grouped into classes. These classes form a hierarchy. When an object receives a message, the class or one ...

Article
Free
A System of Communicating Residential Environments

The SCREEN system is an experimental tool for development and maintenance of application software. It is organized as a System of Communicating REsidential ENvironments, where each environment may be e.g. a programming environment or an end-user ...

Article
Free
A session with Tinker: Interleaving program testing with program design

Tinker is an experimental interactive programming system which integrates program testing with program design. New procedures are created by working out the steps of the procedure in concrete situations. Tinker displays the results of each step as it is ...

Article
Free
Computing with text-graphic forms

Computing with text-graphic forms occurs when text-graphic patterns are used to direct the processing of other text-graphic patterns. The PAM graphics system was designed for just this kind of computation; PAM stands for PAttern Manipulating—PAM is a ...

Article
Free
The Apiary network architecture for knowledgeable systems

Creating more knowledgeable computer systems will require vastly increased computational resources. We are working on the development of a computer architecture (called the Apiary) to meet this need. In this paper we present an overview of the Apiary ...

Article
Free
Address/memory management for a gigantic LISP environment or, GC considered harmful

The possibility of incredibly cheap, fantastically large media for storage gives rise to a realistic LISP memory management scheme under which GC may be postponed for days, or even indefinitely; the idea is encapsulated in the acronym “DDI”—“GC? Don't ...

Article
Free
SKIM - The S, K, I reduction machine

SKIM is a computer built to explore pure functional programming, combinators as a machine language and the use of hardware to provide direct support for a high level language. Its design stresses simplicity and aims at providing minicomputer performance ...

Article
Free
HOPE: An experimental applicative language

An applicative language called HOPE is described and discussed. The underlying goal of the design and implementation effort was to produce a very simple programming language which encourages the construction of clear and manipulable programs. HOPE does ...

Article
Free
Computing cyclic list structures

It is argued that list structures containing cycles are useful and unobjectionable Lisp entities. If this is so, it is desirable to have a means of computing them less foreign to the equational-definition style characteristic of Lisp than are the list-...

Article
Free
An efficient environment allocation scheme in an interpreter for a lexically-scoped LISP

Lexically-scoped LISP dialects offer great flexibility and expressive power. Unfortunately, they tend to be inefficiently implemented, because many interpreter structures such as variable binding environments must be allocated in the heap rather than on ...

Article
Free
The dream of a lifetime: A lazy variable extent mechanism

We define a “rack”, a data abstraction hybrid of a register and a stack. It is used for encapsulating the behavior of the kind of register whose contents may have an extent which requires that it be saved during the execution of an unknown piece of ...

Article
Free
Strategies for data abstraction in LISP

The benefits of abstract data types are many and are generally agreed upon [Liskov and Zilles 1974, Linden 1976]. New languages are being constructed which provide for and enforce the use of data abstractions [Liskov et al 1977, Wulf et al 1976]. ...

Article
Free
Special forms in Lisp

Special forms are those expressions in the Lisp language which do not follow normal rules for evaluation. Some such forms are necessary as primitives of the language, while others may be desirable in order to improve readability, control the evaluation ...

Article
Free
Multiprocessing via intercommunicating LISP systems

Multiprocess environments comprising several intercommunicating LISP systems are straightforward to implement due to certain fundamental characteristics of the LISP language. Experiences with four methods of establishing the necessary communications ...

Article
Free
Divide and concer: Data structuring in applicative multiprocessing systems

The conc representation of lists in implementations of applicative languages is introduced. This representation is based on an operator conc which supplements the usual cons, the representation itself being able to coexist with the conventional nested-...

Article
Free
Compilation techniques for a control-flow concurrent LISP system

Described is a strategy for the compilation of LISP programs for a concurrent processing system in the presence of global side effects. The method supports “horizontal” concurrency, the concurrency available when two arguments of a function can be ...

Article
Free
On compiling embedded languages in LISP

In INTERLISP we find a number of embedded languages such as the iterative statement and the pattern match facility in the CLISP package, the editor and makefile languages and so forth. We will in this paper concentrate on the problem of extending the ...

Article
Free
A LISP compiler producing compact code

A compiler has been written which compiles MACLISP into a compact intermediate language called 1-code, and an 1-code interpreter has been incorporated into an existing LISP system. The 1-code “machine” has a simple stack architecture and an instruction ...

Article
Free
Local optimization in a compiler for stack-based Lisp machines

We describe the local optimization phase of a compiler for translating the INTERLISP dialect of LISP into stack-architecture (0-address) instruction sets. We discuss the general organization of the compiler, and then describe the set of optimization ...

Article
Free
ByteLisp and its Alto implementation

This paper describes in detail the most interesting aspects of ByteLisp, a transportable Lisp system architecture which implements the Interlisp dialect of Lisp, and its first implementation, on a microprogrammed minicomputer called the Alto. Two ...

Recommendations

Acceptance Rates

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