logo

The Lisp Programming Language

   

Added on  2022-08-22

5 Pages1138 Words27 Views
LISP
Overview:
Lisp is a specific type of programming language, which has a very long programming
history attached to it specifically due to its parenthesis based coding style. Appearing in the
year 1958, Lisp is the second oldest programming language (after FORTRAN) to be
programmed in high-level language and is still used in many areas. Influenced by the notation
of Alonzo Church’s lambda calculus, the programming language was initially created to
represent symbolic objects and ideas of mathematic related calculations in computer
programs. Due to its successful implementation, it became well-known programming
language for AI (artificial intelligence) related researches. With Lisp, introduction of many
computer science related ideas took place (Kunasaikaran & Iqbal, 2016). It consists of
automatic storage management, tree data structures, dynamic typing, recursion, higher-order
functions real-eval-print loop, self-hosting compiler and many more.
History
John McCarthy at MIT (Massachussetts Institute of Technology) developed Lisp in
1958. Later in 1960, he (John McCarthy) published its design in the paper Communications
of the ACM (Association of Computing Machinery). His article was titled “Recursive
Functions of Symbolic Expressions and Their Computation by Machines, Part I”. With a few
simplistic operations he showed that one can simulate Turing machines based on its
algorithms. After the publication, various functionalities like recursion, list processing and
IPL (Information Processing Language) related AI based concepts came to be used in Lisp
(McJones, 2017).
Steve Russell first implemented LISP on an IBM 704 Computer. Upon reading
McCarthy’s paper on Communications of the ACM, he comprehended that the ‘eval’
function described there (in the paper), can be used to implement in machine codes. It result
in working of Lisp interpreter that can be used to evaluate Lisp expressions and run the
programs (Lisp codes) as well. At the same Institute (MIT), Mike Levin and Tim Hart
implemented the very fast Lisp compiler in the year 1962. The introduction of incremental
compiler was done in this current implementation (in the first Lisp Compiler) in which
interpreter along with the compiled functions can be used without obstructions (Jian Lu &
Wang, 2015). The commonly used garbage collection in current programming languages was
first developed and used by an MIT graduation student Daniel Edwards.
The Lisp Programming Language_1
Features
The Lisp programming language is not limited to any specific machine hence
machine-independent. It is easily extensible and uses the methodology of iterative design
which can be used to design a prototype, test and analyze it, refine the prototype as per results
and continue the same process until the design satisfies the final requirement. Lisp also
supports dynamic updating of its programs. It provides a wide range of data types consisting
lists, structures, objects, adjustable arrays, vectors, symbols and hash-tables. It is mainly
expression based (Knott, 2017). The following examples will give a clear idea about some
functionalities of Lisp programming Language (Méndez, 2016).
Examples
Printing a String using Lisp
CODE
(print "Hello, world!")
OUTPUT
"Hello, world!"
Fig1: Basic printing syntax in Lisp
The Lisp Programming Language_2

End of preview

Want to access all the pages? Upload your documents or become a member.