Lisp programming language

From ArticleWorld


Lisp is a self-compiling language. It came about around 1958. One of the biggest compliments it has received is that it should be learned by programmers, even if they do not plan to use it, for the sheer enlightening experience. Changing over time, today’s most popular flavor is Common Lisp and Scheme.

The language

  • uses unique parenthesis syntax
  • is mainly a mathematical programming language
  • is developed for List processing (hence the name Lisp) the source code is created as s-expressions or parenthesized lists.

Structure: the operator name or the function is created first, next comes the argument Function (f) with argument (x y z).

Being the second oldest programming language, it had the luxury and the hardship of introducing many firsts.

Some of them are:

  • Tree data structures
  • Automatic storage management
  • Dynamic typing
  • OOP
  • Self-hosting compiler
  • Storage management
  • In addition, of course linked lists

Since the source code itself depends on linked lists, this programming language can manipulate source code as a data structure. As far as the programmers are concerned, it’s a very useful language because they can create their own syntax. The difference between being provided prefabricated modules and the building blocks themselves is that one saves time while the other encourages creativity.

The world begins to lisp (1958-1962)

John McCarthy proved that with a handful of basic operators and a few notations one could achieve a Turing –complete language for algorithms. Even if he did not fully realize the power of the simple language he created. Steve Russell read his 1960 paper and implemented this new language on an IBM 704 machine. To everyone’s surprise, he found that the eval function could be implemented as an interpreter of this new language. While the language was created in 1958 and the paper was published in 1960, it was not until 1962 that a complete Lisp compiler was implemented. But then, the good news was that it was written in Lisp, making it self-compiling. The better news was that it lent itself to incremental compilation (the Lisp model of incremental compilation).

Lisp and AI were closely connected from the days of its discovery/invention. Within two decades of its invention, the world of AI research gave rise to commercial offshoots. Off shoots, that required Lisp. As the number of users increased, Lisp’s weaknesses came to the fore. Given the kind of memory-limited systems of the seventies, users began to question Lisp’s efficiency. The problem arose partially from garbage collection, which then led to the creation of the LISP machines.

Along with CLI (command line interface), Lisp was one the first languages to have REPL (read-evaluate-print Loop).

All elements surrounded by parentheses are lists.

Example:

  • (123456)
  • ()
  • (One 3 four (5)).
  • Lisp.org is a good place to begin.

Today

Today there are many dialects, but a unification effort in the eighties and the nineties led to Common Lisp. The hard-core programmer, who is capable of changing the world, programs in one of two languages: Lisp or C. Though lisp is not in its highest today, there are some very ardent fans, adding to its repertoire.