Lisp is second oldest High-Level Programing Language, which was developed in 1958 and has been specified at the Massachusetts Institute of Technology (MIT). The initial designer of Lisp was Sir Professor John McCarthy, who is said to be the father of Artificial Intelligence and Father of Cloud Computing. The name of Richard Stallman comes in the context of Lisp dialects for Emacs Lisp.
Basics About Lisp
On the basis of Lisp numerous dialects has been developed. The most famous includes the Common Lisp. Therefore, the term often refers to the Lisp family of languages ??and not to a specific dialect or a concrete implementation. Lisp stands for Lis t P rocessing (list processing). In Fortran subroutines, symbolic computations needed to be carried out as in the lambda calculus. Steve Russell, a student of John McCarthy;, then came with the fundamental idea of an interpreter to program for these expressions. The basic data structures of Lisp are single values ??(scalar) and lists. The lists can be nested (lists of lists). So it is easy to data structures like an associative array implement. The lists are displayed with parentheses :
Program instructions are also lists, the first list element identifies the function to be executed. There is thus no fundamental difference between data and program instructions. This allows others to manipulate the program parts for runtime. The programmer can for example, add new control structures or object systems ( OOP ) for development.
Lisp allows the programmer a great flexibility and far-reaching – which is why it is sometimes Lisp is referred to as a programmable programming language. Data structures can be constructed dynamically, without the programmer, explicitly reserve space or to share needs. Declarations for data are not needed and a Lisp symbol can be described as any type of variable objects. Many of these properties over time in other programming languages ??have been adopted.
In the 1970s and 1980s there were special Lisp machines which were developed to be sold. This allowed the rapid execution of Lisp programs, however, with faster computers the dedicated machine’s need has been changed. Lisp programs can be interpreted by a compiler to be translated into an efficient code. Typical batch compiler compiler, incremental compiler. Incremental compiler can translate some expressions. Batch Compiler translate single files or entire Lisp programs. Compilers translate either into a bytecode for a virtual machine or in machine code for a processor.
The acronym LISP is sometimes jokingly said as “Lots of Irritating Superfluous Parentheses”. Historically, Lisp, together with Prolog was one of the programming for artificial intelligence.
Other Notes on Lisp
Example code in Common Lisp:
To implement a minimal Lisp system, very few operators and a general mechanism for the function definition are necessary. The following functions are included in the initial report of McCarthy :
- first (returns the first element of a list)
- rest (the rest are list (without the first element)), was originally
- cons (adds an element at the beginning of a list) (Construct)
- quote (prevents the evaluation of the following object)
- cond (conditional execution: if the first parameter is non- NIL, the second parameter is executed, otherwise the third)
We will go in to more details on Lisp with the usage in machine learning, AI and other developmental purposes for the general users as well as for Free Health Foundation.