![scheme programming language list of people that made it scheme programming language list of people that made it](https://1.bp.blogspot.com/-aPJL7Ec_rP8/YRvv3QEw9JI/AAAAAAAAB_Y/7y-ZkbJYR3AKW3Msb8ls2ovJhQvZJGEUQCLcBGAsYHQ/w0/20210817_224554_0000.png)
ALGOL ĪLGOL 58, originally to be called IAL for "International Algorithmic Language", was developed jointly by a committee of European and American computer scientists in a meeting in 1958 at ETH Zurich. The 36-bit word size of the PDP-6 and PDP-10 was influenced by the usefulness of having two Lisp 18-bit pointers in one word. Since its inception, Lisp was closely connected with the artificial intelligence (AI) research community, especially on PDP-10. which ran on the PDP-10 and Multics systems. The two variants of Lisp most significant in the development of Scheme were both developed at MIT: LISP 1.5 developed by McCarthy and others, and Maclisp – developed for MIT's Project MAC, a direct descendant of LISP 1.5. This compiler introduced the Lisp model of incremental compilation, in which compiled and interpreted functions can intermix freely. The first complete Lisp compiler, written in Lisp, was implemented in 1962 by Tim Hart and Mike Levin at MIT. The familiar (but puzzling to newcomers) names CAR and CDR used in Lisp to describe the head element of a list and its tail, evolved from two IBM 704 assembly language commands: Contents of Address Register and Contents of Decrement Register, each of which returned the contents of a 15-bit register corresponding to segments of a 36-bit IBM 704 instruction word.
![scheme programming language list of people that made it scheme programming language list of people that made it](https://miro.medium.com/max/1400/1*d70uW3184sDtnrHTze46TQ.png)
The first implementation of Lisp was on an IBM 704 by Steve Russell, who read McCarthy's paper and coded the eval function he described in machine code.
![scheme programming language list of people that made it scheme programming language list of people that made it](https://149351115.v2.pressablecdn.com/wp-content/uploads/2017/10/languages-1-900x675.png)
S-expressions proved popular, however, and the many attempts to implement m-expressions failed to catch on. As an example, the m-expression car] is equivalent to the s-expression (car (cons A B)). The use of s-expressions which characterize the syntax of Lisp was initially intended to be an interim measure pending the development of a language employing what McCarthy called " m-expressions". He showed that with a few simple operators and a notation for functions, one can build a Turing-complete language for algorithms. McCarthy published its design in a paper in Communications of the ACM in 1960, entitled "Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I" (Part II was never published). Lisp was invented by John McCarthy in 1958 while he was at the Massachusetts Institute of Technology (MIT).
![scheme programming language list of people that made it scheme programming language list of people that made it](https://info.varonis.com/hs-fs/hubfs/Imported_Blog_Media/programming-language-java@2x.png)
The following example illustrates the use of this function: > (preorder T) (13 5 1 8 9 22 17 25) (c) Write a recursive function (inorder T), which returns the list of all elements in the tree T corresponding to an inorder traversal of the tree.Further information: Lisp (programming language) The following example illustrates the use of this function: > (tree-member? 17 T) #t (b) Write a recursive function (preorder T), which returns the list of all elements in the tree T corresponding to a preorder traversal of the tree. (a) Write a recursive function (tree-member? V T), which determines whether V appears as an element in the tree T. Transcribed image text: Consider an implementation of binary trees with Scheme lists, as in the following example: (define T ' (13 (5 (1 () ()) (8 () (9 () ()))) (22 (17 () ())(25 () ())))) Before proceeding, it may be useful to define three auxiliary functions (val T), (left T) and (right T), which return the value in the root of tree T, its left subtree and its right subtree, respectively.