Loading...
Please wait, while we are loading the content...
Similar Documents
π-RED+ An interactive compiling graph reduction system for an applied λ-calculus
| Content Provider | Scilit |
|---|---|
| Author | Gärtner, Dietmar Kluge, Werner E. |
| Copyright Year | 1996 |
| Description | This paper describes a compiling graph reduction system which realizes the reduction semantics of a fully-fledged applied λ-calculus. High-level functional programs are conceptually executed as sequences of program transformations governed by full β-reductions. They may be carried out step-by-step, and intermediate programs may be displayed in high-level notation, rendering the system suitable for interactive program design, high-level debugging, and also for teaching basic programming language concepts and language interpretation. Run-time efficiency for production runs is achieved by means of an abstract stack machine ASM which serves as an intermediate level of code generation. It employs multiple stacks for reasonably fast function calls, optimized tail-end recursions, and earliest possible releases of subgraphs that are no longer needed. The ASM involves an interpreter if and only if potential naming conflicts need to be resolved when reducing partial function applications. |
| Related Links | https://www.cambridge.org/core/services/aop-cambridge-core/content/view/62EC6AD594AB3E2892594304C5F9B032/S0956796800001957a.pdf/div-class-title-red-span-class-sup-span-an-interactive-compiling-graph-reduction-system-for-an-applied-calculus-div.pdf |
| Ending Page | 756 |
| Page Count | 34 |
| Starting Page | 723 |
| ISSN | 09567968 |
| e-ISSN | 14697653 |
| DOI | 10.1017/s0956796800001957 |
| Journal | Journal of Functional Programming |
| Issue Number | 5 |
| Volume Number | 6 |
| Language | English |
| Publisher | Cambridge University Press (CUP) |
| Publisher Date | 1996-01-01 |
| Access Restriction | Open |
| Subject Keyword | Journal of Functional Programming Lambda Calculus |
| Content Type | Text |
| Resource Type | Article |
| Subject | Software |