The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
The Calculi of Lambda Conversion. (AM-6) (Annals of Mathematics Studies)
The Calculi of Lambda Conversion. (AM-6) (Annals of Mathematics Studies)
Survey on special purpose computer architectures for AI
ACM SIGART Bulletin
Demand-Driven Interpretation of FP Programs on a Data-Flow Multiprocessor
IEEE Transactions on Computers - Special issue on architectural support for programming languages and operating systems
CTDNet-A Mechanism for the Concurrent Execution of Lambda Graphs
IEEE Transactions on Software Engineering
High-speed top-of-stack scheme for VLSI processor: a management algorithm and its analysis
ISCA '85 Proceedings of the 12th annual international symposium on Computer architecture
Data-Driven and Demand-Driven Computer Architecture
ACM Computing Surveys (CSUR)
Organizing Speculative Computations in Functional Systems
IFL '00 Selected Papers from the 12th International Workshop on Implementation of Functional Languages
A recursive computer architecture for VLSI
ISCA '82 Proceedings of the 9th annual symposium on Computer Architecture
ISCA '81 Proceedings of the 8th annual symposium on Computer Architecture
A multi-processor reduction machine for user-defined reduction languages.
ISCA '80 Proceedings of the 7th annual symposium on Computer Architecture
Compilation techniques for a control-flow concurrent LISP system
LFP '80 Proceedings of the 1980 ACM conference on LISP and functional programming
Computer architecture for correct programming
ISCA '78 Proceedings of the 5th annual symposium on Computer architecture
ALICE a multi-processor reduction machine for the parallel evaluation CF applicative languages
FPCA '81 Proceedings of the 1981 conference on Functional programming languages and computer architecture
Decentralised control flow - based on UNIX
Proceedings of the 1983 ACM SIGPLAN symposium on Programming language issues in software systems
Methodology for designing a computer architecture
ACM SIGARCH Computer Architecture News
Traversing Binary Tree Structures with Shift-Register Memories
IEEE Transactions on Computers
Cooperating Reduction Machines
IEEE Transactions on Computers
Central European Functional Programming School
Hi-index | 0.01 |
This paper describes a particular realization of a Lambda-Red language as a machine language. Parts of it resemble the Lambda Calculus or a transposed form of it. A constructor syntax is employed such that a linearized preorder representation of the syntax tree is the information structure on which the machine operates. Instances of reduction rules are recognized by combinations of constructors and atoms. Reduction rules with 1, 2 and 3 constructors and/or atoms have been described.A recursive control structure forms the essential part of the implementation. There is a one to one correspondence between constructor syntax and control structure rather than a simulation of recursive structure by von Neumann type instruction sequencing. Thus the system is easily expandable by new constructors and atoms. Execution, that is the application of reduction rules, is subsumed under editing. Emphasis has been on the following pragmatic concepts: locality of action, directness, and security. There are no error messages, errors appear as irreducible expressions. There is no "RUN" instruction, instead the number of reductions to be performed is specified. Whatever happens - it is restricted to subexpressions. The user has the security that all his actions are limited and predictable.The machine language resembles a higher level programming language, but it is "variable-free": expressions are named, not boxes which contain expressions. There seems to be a concept of late binding. However, this is not made a matter of principle, but a matter of degree. Between a general statement of a problem and the result are many intermediate representations - all in the same language - corresponding to various degrees of binding parameters. The user has complete freedom in the choice of variable names. There is a specially developped protection system which avoids confusion of variables.The efficiency of the system is limited by the rate characters can be processed which is essentially determined by the control store cycletime. Measurements will be performed as soon as a simulation of the system is available. Three other important subjects, namely arithmetic, the definition of constants, and source sink input-output will be reported later.