Today we kick off a new series that will consist in two articles in which we will briefly introduce you to Lisp. We are going to look at its origins and history and then we will teach you how to create a small neural network for yourself using this programming language.
Since the 50’s, functional programming has been increasingly used in the field of artificial intelligence, and this owes a lot to the emergence of Lisp. This “high-level” language was created by John McCarthy, now seen by many as the father of Artificial Intelligence. His idea was to optimize the functioning and use of the resources that the computers of the era had available, and List Processor (Lisp) was born as a result.
This new language, based in part on the already-existing sms gateway norway Fortran, used some innovative technique such as data “trees” (a hierarchical data structure), or the use of “symbolic computation” (also known as “computer algebra”), out of which symbolic programming would later been born. As mentioned before, functional programming had its beginnings in the 50’s, more or less at the same time as Lisp. This new programming style was the one that the IBM 700/7000 series computers were based upon.
The way Lisp functions is largely based upon lambda calculus, which is a universal computational model that can be used to simulate any Turing machine. Its name, due to the Greek letter lambda, is used to refer to linking one variable to a function. This type of calculus is surprisingly simple and powerful. Its core foundation is two simple fundamentals: the abstraction of functions (which serves to generalize expressions by introducing variables) and applying a function (used to evaluate an expression by given names to given values).
Lisp didn’t take long before it became the favorite language of the world of Artificial Intelligence. At MIT, for example, it regularly became used in research projects. Unlike other languages, its mathematical base allowed it to solve operations and to test theorems.