Experience with an uncommon Lisp

  title={Experience with an uncommon Lisp},
  author={Cyril N. Alberga and Chris Bosman-Clark and Martin Mikelsons and Mary S. Van Deusen and J. Padget},
  booktitle={LFP '86},
in 1974, a group at IBM Research began work on a new implementation of Lisp. Because the work was initially done for internal use only, many design decisions led the developers away from the more traditional Lisp paths. The most important design decision was to create a language which would have consistent semantics between compilation and interpretation. This paper takes a retrospective look at the decisions we made to see how they have stood up against the test of time and usage, especially… 

Figures from this paper

XREF: a case study in Common Lisp portability

Experience in building XREF, a Common Lisp cross reference utility, has revealed several issues relevant to writing portable program analysis utilities and supporting portable application programs

Implementing primitive datatypes for higher level languages

Experimental results indicate that although the process can be made to work, completely automated construction of high-quality designs requires further advances, and the separation of the notion of function type into signature and contextual types is an essential part of code generation.

A multiprocessor execution profiler

  • C. BurdorfJ. FitchJ. MartiJ. Padget
  • Computer Science
    [1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track
  • 1989
Already profiling tools are inadequate for profiling a large-scale multiprocessing system, even if they are adequate for manual analysis of a single processor system, and a tool is developed that collects the following information: where CPU time is expended, quality and quantity data passed between functions, how much global data is referenced and modified, and how these characteristics differ among processors on the network.

An alternative dynamic binding model: deep binding with cacheing

An alternative binding model, deep binding with cacheing, is described, which provides the efficiency of shallow binding in "ordinary" call/return control, while exhibiting the ease of context switching of deep binding.

An overview ofEuLisp

This paper is an abstracted version of the EuLisp definition that describes the module scheme, the object system and support for concurrent execution in the main part and consigns the majority of the datatypes to an appendix.

A Lisp environment at IBM T J Watson Research

A brief description of a Common Lisp programming environment developed at the IBM TJ Watson Research Center over the past two years is given, including a program analysis tool and a visual stepper.

Desiderata for the standardization of LISP

Trabajo presentado a la ACM Conference on LISP and Functional Programming, celebrada en Cambridge-Massachusetts (US) en 1986.-- et al.

Three Uncommon Lisps

This paper surveys three Lisp systems which do not enjoy widespread populario. Nevertheless, each has features which make them particularly suitable for certain applications and all exhibit care in

An entropy metric for software maintainability

  • N. Chapin
  • Computer Science
    [1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track
  • 1989
An entropy metric that can be calculated from readily available data for existing software is presented, which can be used as a metric in software maintenance.

A program development tool

This paper describes how a number of tools (most of which understand a particular programming language) are combined into a single system to aid in the reading, writing, and running of programs.

Steps toward better debugging tools for LISP

A new stepper for Lisp, Zstep, which integrates a stepper with a real-time full-screen text editor to display programs and data and borrows several techniques from the author's example-oriented programming environment.

A model and stack implementation of multiple environments

This paper presents an implementation technique using a single stack to hold procedure activation storage which allows retention of that storage for durations not necessarily tied to control flow, and applications to multitasking, coroutines, backtracking, label-valued variables, and functional arguments are discussed.

LISP/370: a short technical description of the implementation

This description is written for the person having some experience with a LISP programming system, who wishes a brief description of some of the highlights of LISP/370. For details and more

Lambda: The Ultimate Imperative

We demonstrate how to model the following common programming constructs in terms of an applicative order language similar to LISP: Simple Recursion, Iteration, Compound Statements and Expressions, GO

Debunking the “expensive procedure call” myth or, procedure call implementations considered harmful or, LAMBDA: The Ultimate GOTO

  • G. Steele
  • Computer Science
    ACM Annual Conference
  • 1977
It is shown that the unrestricted use of procedure calls permits great stylistic freedom, and any flowchart can be written as a “structured” program without introducing extra variables.

The Mechanical Evaluation of Expressions

It is shown how some forms of expression in current programming languages can be modelled in Church's X-notation, and a way of "interpreting" such expressions is described, which suggests a method of analyzing the things computer users write.

Prettyprinting in an interactive programming environment

  • M. Mikelsons
  • Computer Science
    SIGPLAN SIGOA Symposium on Text Manipulation
  • 1981
A data representation and an algorithm are described that allow the efficient generation of program displays from a parsed internal representation of a program.

The EPISTLE Text-Critiquing System

The overall EPISTLE system is described, with some details of the implementation, user interface, and the three levels of processing, especially the syntactic parsing of sentences with a computerized English grammar.

YES/MVS: A Continuous Real Time Expert System

The YES/MVS system, its domain of application, and issues that arise in the design and development of an expert system that runs continuously in real time are discussed.