Using logic programming for compiling APL

APL is a dynamically typed language which deals with arrays whose type, number of dimensions (rank) and size are not fixed at compile time, but are instead determined at run time. This makes APL more difficult to compile than static languages like Pascal or FORTRAN. This thesis describes a protot...

Full description

Bibliographic Details
Main Author: Derby, Howard
Format: Others
Language:en
Published: 1984
Online Access:https://thesis.library.caltech.edu/6897/1/Derby_h_1984.pdf
Derby, Howard (1984) Using logic programming for compiling APL. Master's thesis, California Institute of Technology. doi:10.7907/gmjh-z702. https://resolver.caltech.edu/CaltechTHESIS:04092012-134858703 <https://resolver.caltech.edu/CaltechTHESIS:04092012-134858703>
Description
Summary:APL is a dynamically typed language which deals with arrays whose type, number of dimensions (rank) and size are not fixed at compile time, but are instead determined at run time. This makes APL more difficult to compile than static languages like Pascal or FORTRAN. This thesis describes a prototype implementation of the core of an APL compiler. The intention thus far has been to demonstrate techniques for dealing with some of the issues that arise when trying to implement APL efficiently, rather than to produce a working implementation. The present program does not do any of the initial lexical processing required, and only compiles into intermediate code. Object code is never produced. The prototype has many APL features missing and is undoubtedly full of bugs.