Recently, my father completed the development of his LISP implementation for Windows. The project is called HomeLisp . In order to make the project accessible to LISP lovers, a simplest site was created, where updates will be uploaded, documentation, and where the father will answer user questions. Actually I give him the word.
HomeLisp - simple, freely distributed Lisp on the Windows platform!
Among the programming languages developed to date, there is one completely unique. This is the language of Lisp.
The idea behind Lisp is extremely beautiful: all language constructs (programs and data) are represented using a single universal structure - a list. The Lisp programming methodology is fundamentally different from the programming methodology in traditional languages (such as C or Pascal).
')
A Lisp programmer does not break the algorithm into separate elementary steps, does not use cycles, branchings, assigning values to variables, but builds a function that solves the task. The structure of the function almost literally corresponds to the mathematical formulation of the problem being solved.
This methodology is now called functional programming. Lisp is the first functional programming language and probably the first language that clearly welcomed the use of recursion.
The languages that appeared after Lisp have surpassed Lisp in visual abilities ... but in terms of the strength / simplicity ratio, the Lisp record has not been broken yet!
Lisp is absolutely not a pop, elite programming language. And it is not surprising that although more than 50 years have passed since the invention of John McCarthy, Lisp is still alive today! Not every language is destined to have such a long life - where is Algol-60 now (who was predicted to have a great future)? And books are published on Lisp (unfortunately, not in Russian ...); There are new and new implementations of Lisp on different hardware platforms.
One of these simple implementations of Lisp is suggested by the author of these lines.
HomeLisp (home Lisp) is a 32-bit Lisp implementation in a Windows environment. The Lisp implementation described in the book by
S.S. Lavrov, G.S. Silagadze “Automatic data processing. Lisp language and its implementation »M. 1978
HomeLisp is free software (FreeWare). Free copying of both software and documentation is allowed. Changing the software code of HomeLisp components is not allowed. Documentation citation is allowed only with indication of the author.
The copyright to the software product and the attached documentation belong to the developer -
Fayfel Boris Leonidovich . E-mail to contact catstail@narod.ru.
HomeLisp includes the following independent components:
1. Development environment (IDE) , containing the core language, text editor, dialog constructor (screen designer), EXE file builder and modest debugging tools;
2. A COM library that allows you to call Lisp from any software environment that supports COM automation (for example, from Microsoft Excel), as well as
two script engines that allow writing scripts in Lisp;
3. A WEB component for working on the IIS WEB server that allows you to build a training class for learning Lisp (the WEB component is installed only on the server).
HomeLisp processes the following data types:
1. integers of almost unlimited digit capacity;
2. standard floating point numbers;
3. bit scales;
4. lines.
HomeLisp supports three types of user functions:
1. ordinary Lisp functions (calculating the values of the arguments);
2. special functions (not calculating the values of the arguments);
3. Macros.
Objects built into the HomeLisp core include:
1. COM objects that allow invoking objects from Lisp environment that support COM automation;
2. Files and
blobs (
blobs ) that allow processing arbitrary binary information;
3. Graphic windows that allow the use of simple graphics;
4. Dialogues that allow building programs with a graphical user interface;
HomeLisp is provided with
detailed documentation that contains not only descriptions of all functions,
language descriptions from scratch, but also
Lisp programming techniques (which may be useful for those who are familiar with the language for the first time). There is a
list of references in the Russian language, including a number of Internet resources devoted to Lisp.
Download HomeLisp
Several screenshots
