| The Illinois functional programming interpreter |
| Full text |
Pdf
(585 KB)
|
| Source
|
Conference on Programming Language Design and Implementation
archive
Papers of the Symposium on Interpreters and interpretive techniques
table of contents
St. Paul, Minnesota, United States
Pages: 64 - 73
Year of Publication: 1987
ISBN:0-89791-235-7
Also published in ...
|
|
Author
|
|
A. D. Robison
|
University of Illinois at Urbana-Champaign, Department of Computer Science, 1304 W . Springfield Ave., Urbana IL
|
|
| Sponsor |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 3, Downloads (12 Months): 29, Citation Count: 4
|
|
|
ABSTRACT
The Illinois Functional Programming (IFP) language is a modified version of Backus' FP(1). IFP has the same side-effect free combinator style of Backus FP, while introducing an ALGOL-like syntax and structure. While IFP superficially appears to be an inefficient language to execute, its simplicity makes it quick to interpret. Functions are always monadic and there are no variable or parameter names. Furthermore, combinator-style languages allow common housekeeping operations to be condensed into efficient machine-language primitives.By reference-counting, the interpreter can often convert call-by-value to destructive call-by-reference while preserving referential transparency. The interpreter has an expression cache which can improve the asymptotic time of some combinatorial functions. IFP function definitions are stored as UNIX files, so much of UNIX's functionality is immediately borrowed into the IFP environment, e.g. ls, more, and grep.Benchmarks indicate that IFP is an order of magnitude faster than Berkeley FP[2], and is competitive with interpreted von-Neumann languages such as BASIC. The interpreter can parallel process on shared-memory multiprocessors, e.g. the Encore Multimax. IFP currently runs on machines as varied as the IBM PC, VAX, and CRAY-XMP.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
| |
2
|
2. Baden, Scott. Berkeley FP User's Manual, Rev. 4.1. UNIX Programmers Manual (July 27, 1983).
|
| |
3
|
3. Robison, Arch D. Illinois Functional Programming: A Tutorial. BYTE (February 1987) vol. 12, 2, pp. 115-125.
|
| |
4
|
|
| |
5
|
|
| |
6
|
6. Hilden, J. Elimination of Recursive Calls Using a Small Table of "Randomly" Selected Function Values. BIT (1976) vol. 16-1, pp. 60-73.
|
 |
7
|
|
| |
8
|
8. Foderaro, John K., Keith L. Sklower and Kevin Layer. The FRANZ LISP Manual. UNIX Programmer's Manual - Supplementary Documents (June 1983).
|
| |
9
|
9. Robison, Arch D. A Functional Programming Interpreter. M.S. Thesis, University of Illinois at Urbana-Champaign (January 1987).
|
CITED BY 4
|
|
|
|
|
|
|
|
|
|
|
Akihiko Tozawa , Michiaki Tatsubori , Tamiya Onodera , Yasuhiko Minamide, Copy-on-write in the PHP language, Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, January 21-23, 2009, Savannah, GA, USA
|
|