Results 1 -
8 of
8
Compiling Scientific Code using Partial Evaluation
- IEEE Computer
, 1989
"... Scientists are faced with a dilemma: Either they can write abstract programs that express their understanding of a problem, but which do not execute efficiently; or they can write programs that computers can execute efficiently, but which are difficult to write and difficult to understand. We hav ..."
Abstract
-
Cited by 47 (4 self)
- Add to MetaCart
Scientists are faced with a dilemma: Either they can write abstract programs that express their understanding of a problem, but which do not execute efficiently; or they can write programs that computers can execute efficiently, but which are difficult to write and difficult to understand. We have developed a compiler that uses partial evaluation and scheduling techniques to provide a solution to this dilemma.
The Evolution of Lisp
- ACM SIGPLAN Notices
, 1993
"... Lisp is the world's greatest programming language---or so its proponents think. The structure of Lisp makes it easy to extend the language or even to implement entirely new dialects without starting from scratch. Overall, the evolution of Lisp has been guided more by institutional rivalry, one-upsma ..."
Abstract
-
Cited by 42 (0 self)
- Add to MetaCart
Lisp is the world's greatest programming language---or so its proponents think. The structure of Lisp makes it easy to extend the language or even to implement entirely new dialects without starting from scratch. Overall, the evolution of Lisp has been guided more by institutional rivalry, one-upsmanship, and the glee born of technical cleverness that is characteristic of the "hacker culture" than by sober assessments of technical requirements. Nevertheless this process has eventually produced both an industrialstrength programming language, messy but powerful, and a technically pure dialect, small but powerful, that is suitable for use by programming-language theoreticians. We pick up where McCarthy's paper in the first HOPL conference left off. We trace the development chronologically from the era of the PDP-6, through the heyday of Interlisp and MacLisp, past the ascension and decline of special purpose Lisp machines, to the present era of standardization activities. We then examine...
Language Extensibility via First-class Interpreters and Constructive Modules
- Columbia University, Department of Computer Science
, 1993
"... This document proposes these theses: ffl First-class interpreters offer a flexible means of language extensibility. ffl A simple module system can provide: -- incremental specialization -- program construction rather than program organization -- static rather than dynamic composition of program ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
This document proposes these theses: ffl First-class interpreters offer a flexible means of language extensibility. ffl A simple module system can provide: -- incremental specialization -- program construction rather than program organization -- static rather than dynamic composition of programs -- explicit rather than implicit control over composition The former two claims duplicate properties presently associated only with object-oriented programming, while we regard the latter two as improvements. 2 Introduction Software design is language design for particular problems. The functional programming community has stressed the power and flexibility of this view on many occasions [Hen82, AS85, Hug90, Wad87, HS88], and one of the goals of this thesis is to emphasize it once more. According to this point of view, a programming language is a vehicle for constructing problem-specific languages. Existing languages support this view to varying degrees, but few allow significant sem...
Foundations of Computer Science: Computer Science Tripos Part 1a
, 1998
"... level: names for dates over a certain range Concrete level: typically 6 characters: YYMMDD Date crises caused by INADEQUATE internal formats: ffl Digital's PDP-10: using 12-bit dates (good for at most 11 years) ffl 2000 crisis: 48 bits could be good for lifetime of universe! Lessons: ffl infor ..."
Abstract
- Add to MetaCart
level: names for dates over a certain range Concrete level: typically 6 characters: YYMMDD Date crises caused by INADEQUATE internal formats: ffl Digital's PDP-10: using 12-bit dates (good for at most 11 years) ffl 2000 crisis: 48 bits could be good for lifetime of universe! Lessons: ffl information can be represented in many ways ffl get it wrong, and you will pay Digital Equipment Corporation's date crisis occurred in 1975. The PDP10 was a 36-bit mainframe computer. It represented dates using a 12-bit format designed for the tiny PDP-8. With 12 bits, one can distinguish 2 12 = 4096 days or 11 years. The most common industry format for dates uses six characters: two for the year, two for the month and two for the day. The most common isolutionj to the year 2000 crisis is to add two further characters, thereby altering le sizes. Others have noticed that the existing six characters consist of 48 bits, already suOEcient to represent all dates over the projected lifetime of the...
Foundations of Computer
, 2002
"... level: names for dates over a certain range Concrete level: typically 6 characters: YYMMDD Date crises caused by INADEQUATE internal formats: . ..."
Abstract
- Add to MetaCart
level: names for dates over a certain range Concrete level: typically 6 characters: YYMMDD Date crises caused by INADEQUATE internal formats: .
1 The Evolution of Lisp
"... Lisp is the world’s greatest programming language—or so its proponents think. The structure of Lisp makes it easy to extend the language or even to implement entirely new dialects without starting from scratch. Overall, the evolution of Lisp has been guided more by institutional rivalry, one-upsmans ..."
Abstract
- Add to MetaCart
Lisp is the world’s greatest programming language—or so its proponents think. The structure of Lisp makes it easy to extend the language or even to implement entirely new dialects without starting from scratch. Overall, the evolution of Lisp has been guided more by institutional rivalry, one-upsmanship, and the glee born of technical cleverness that is characteristic of the “hacker culture ” than by sober assessments of technical requirements. Nevertheless this process has eventually produced both an industrialstrength programming language, messy but powerful, and a technically pure dialect, small but powerful, that is suitable for use by programming-language theoreticians. We pick up where McCarthy’s paper in the first HOPL conference left off. We trace the development chronologically from the era of the PDP-6, through the heyday of Interlisp and MacLisp, past the ascension and decline of special purpose Lisp machines, to the present era of standardization activities. We then examine the technical evolution of a few representative language features, including both some notable successes and some notable failures, that illuminate design issues that distinguish Lisp from other

