Abstract
A fare spread opinion is that LISP and ALGOL belong to different "families" of programming languages. In our current activities concerning LISP, we are trying to characterise pure LISP as an ALGOL-like programming language in the sense of ALGOL 60 resp. ALGOL 68 /1/, /2/. LISP is considered as a sublanguage of ALGOL 60, where the datatype "s-expression" with its 5 standard functions is introduced and where procedure identifiers are allowed as values of function-procedures (ALGOL 68) in order to have upward FUNARGs /3/. In contrast to the operational semantic definitions via interpreters, this approach gives a precise, mathematical definition of the LISP-semantic. Within this framework we are able to prove properties of LISP-programs much easier than using inductive proofs based on an interpreter. Our method for modelling variable bindings follows the well known ALGOL 60 definitions, which are very close to the FUNARG-feature of LISP 1.5, while other authors prefer the "shallow access binding" method; e. g. M.J. Gordon gives a formal definition of pure LISP by algebraic methods /4/.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.