15 luglio, 2019

Notarelle storiche sul Lisp - 4


Continuo da qui l'esplorazione dagli inizi del Lisp.

Continuo l'esame di Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I, sono giunto a Recursive Functions of Symbolic Expressions.

Il capitolo The LISP Programming System ci dice The LISP programming system is a system for using the IBM 704 computer to compute with symbolic information in the form of S-expressions. It has been or will be used for the following purposes:
  1. Writing a compiler to compile LISP programs into machine language.
  2. Writing a program to check proofs in a class of formal logical systems.
  3. Writing programs for formal differentiation and integration.
  4. Writing programs to realize various algorithms for generating proofs in predicate calculus.
  5. Making certain engineering calculations whose results are formulas rather than numbers.
  6. Programming the Advice Taker system.
Uh! cose difficili (un compilatore --a quei tempi!--, calcolo integrale, elaborazioni risultanti in formule invece di numeri, l'Advice Taker; tutta roba che con il Fortran nemmeno a pensarci.

Ci sono inoltre facilities for using S-functions in programs written as sequences of statements along the lines of FORTRAN or ALGOL.

E la via è quella che sarebbe stata quella vincente: [t]he basis of the system is a way of writing computer programs to evaluate S-functions.

La descrizione che segue, molto tecnica, è quella della rappresentazione delle S-expressions via liste strutturate:


L'ultima struttura (ciclo) non è permessa.

Status of the LISP Programming System (February 1960). A variant of the function apply described in section 5f has been translated into a program APPLY for the IBM 704. Since this routine can compute values of S-functions given their descriptions as S-expressions and their arguments, it serves as an interpreter for the LISP programming language.

Poi, cosa vecchia ma siamo agli inizi (io ho 8 anni): [a] "program feature" allows programs containing assignment and go to statements in the style of ALGOL.

E [c]omputation with floating point numbers is possible in the system, but this is inefficient.

E [a] programmer's manual is being prepared. The LISP programming system is appropriate for computations where the data can conveniently be represented as symbolic expressions allowing expressions of the same kind as subexpressions. A version of the system for the IBM 709 is being prepared.

Il computer di riferimento è l'IBM 704, la Wiki ci dice tutto, come al solito.
🔴

Nessun commento:

Posta un commento