Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
#+title: numerical-lisp
* Aim
Numerical Lisp (NL) is a specification for a common-lisp-based
language for numerical simulation, computations, data analysis, and
presentation (numerical and visual). One of its goals is to provide
an environment and framework for including currently disparate
numerical libraries.
This environment will redefine (shadow) some of CL's symbols - thus
the name Numerical Lisp. However, the shadowed symbols will always
be accessible. Most of the redefinitions will be augmentation of
CL. There will be very incompatibilities. NL will also add and
standardize large body of numerical, statistical, visualization, and
io capabilities.
It will also define new functionality for numerical simulation,
analysis and visualization.
At its core, NL remains a CL, albeit an augmented one.
This project will initially consists of my notes on how to proceed.
These notes should prompt others to think about these issues and
contribute to the specification. Eventually we will move on to
coding.
Currently, all the action is in the documentation files in the
~doc/developers~ folder (and their html counterparts in the
~documentation~ folder). I generate the text files in Emacs'
org-mode. Then I publish them into html.
* Project philosophy
NL will borrow from the design and user experiences from R, Matlab,
IDL, Mathematica, Macsyma, Fortress, and others. However, it will
always remain a lisp language.
To a some extent we will be defining a new domain specific language:
data structures, control structures, and (to a much, much lesser
extent) syntax. With that in mind, should we consult lisp language
gurus (Steele, Pitman, others)?
*Note* NL must still have the flavor of CL.
* Project management
I am currently the only contributor. As the need and opportunity
arises, I will allow others to become contributors as well.
It is possible that this github project will terminate, and/or be
handed over to someone that can put it more effort and energy into
it.
* Development plan
Development will proceed in three phases. In practice there will be
overlap between phases I and II and phases II and III. It is very
unlikely that there will be any phase III activity until phase I is
substantially complete.
- Phase I :: development of general guidelines and software architecture
In this phase we want to establish general ideas and
how they will be implemented
- Phase II :: detailed user interface development and software architecture
In this phase we will firm up the user interface, and
also the software architecture
- Phase III :: coding