Skip to content

mirkov/numerical-lisp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

A specification for a common-lisp-based language for numerical computations

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •