Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
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



About

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

Resources

Stars

5 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages