What is Elisa?
Elisa is an experimental programming language. It started as an attempt to combine the paradigms of procedural programming, functional programming, object-oriented programming and logic programming into one coherent linguistic framework. Integration of the best features of different paradigms could create new possibilities of solving problems and could open new ways of programming. And it may create synergistic effects where the power of an integrated language is larger than the sum of the features of different paradigms. However, during this integration process it turned out that a complete integration of different paradigms is not possible. Mainly because of conflicting requirements. For example, assignment statements are essential in procedural and object-oriented paradigms, but are forbidden in the functional paradigm.
As a consequence we dropped the requirement of complete integration and decided to design a new language based on the best and well-established features of different paradigms. The result is a language not hindered by compatibility requirements but a language that uses the best available concepts. Not by piling feature upon feature on top of an existing language but by carefully designing a new language. This approach means that not all the functions of the different paradigms can be preserved, compromises were sometimes necessary. The resulting language has its own characteristics.
Programming by Definitions
One of its characteristics of Elisa is that the programs in Elisa are based on definitions. An Elisa program consists of a series of definitions. Programming in Elisa means identifying and designing definitions. In addition, the language contains also a number of novel features such as multi-value functions and extensive pattern matching. As a result, an Elisa program often consists of a limited number of concise definitions. A description of the language can be found in Language Description. Sophisticated Data Structures such as lists, sequences, trees, graphs are demonstrating the power of Elisa. There are also a number of Tutorials explaining implications of several language features.
In order to verify the concepts of a new programming language a compiler and associated runtime system has been developed. The development system is available for Windows computers. Elisa's Development System (EDS) is the integrated development environment in which developers can work when creating programs in the Elisa language. The EDS system provides a development and execution environment that allows different components and libraries to work together to create Elisa applications. It provides facilities for programming, editing, compiling, linking, testing, execution and debugging of Elisa programs. The Elisa compiler generates direct machine code and it interfaces with C libraries. The development system can be downloaded on Windows. Included in the download are a number of demo programs, demonstrating the capabilities of the system. Learn more about ...
Your feedback will be highly appreciated. Please send your comments, good or bad, to Jan Klunder.
<!-- Start of StatCounter Code for Default Guide -->
var scJsHost = (("https:" == document.location.protocol) ?
"https://secure." : "http://www.");
<noscript><div class="statcounter"><a title="Web Analytics Made Easy -
StatCounter" href="http://statcounter.com/" target="_blank"><img
alt="Web Analytics Made Easy - StatCounter"></a></div></noscript>
<!-- End of StatCounter Code for Default Guide -->