PsiLAB2: Scientific and Numeric Research Software Environment
What is PsiLAB
PsiLAB has been developed for scientific research and data analysis. It is freely distributed in source code format under Gnu Public License, version 2. PsiLAB is written mainly in the functional language O'CaML developed at INRIA research laboratories. It's mainly made of three parts:
 An interpreter, of course O'CaML itself
 libraries written in O'CaML,
 external libraries written in Fortran and C.
Main features of PsiLAB2 are:
 All O'CaML functions and data types are supported,
 support for different data types: float, int, complex
 extensive matrix package
 2D and 3D plot package with graphical or postscript output
 various generic and special mathematical functions
 linear algebra package (solving of linear equation systems and linear least square problems)
 Linear Regression
 non linear least square fit routines
 Fast Fourier Transformations
 some image processing functions
 online help system, easily extensible by user functions
 easy to extend for people knowing basics about the O'CaML C extension facilities
PsiLAB2 uses the following external libraries, mainly written in Fortran:
 LAPACK: Linear algebra and linear least square problems
 MINPACK: Non linear least square fits
 PLPLOT: 2D and 3D plot library with several output drivers (X11, PS, Xfig,...)
 FFTW: Fastest Fourier Transform in the West (and the East ?)
 AMOS: Several special functions: Bessel Polynomials and more ...
 SLATEC (partially implemented): More special functions (Gamma function,...)
 CamlImages (partially implemented): Support for various image formats
PsiLAB2 is not only written in O'CaML, it is CaML. That means: if you are familiar with this programming language, you can write PsiLAB programs. And you can do all things with PsiLAB you can do with the generic O'CaML development system:
 using modules to access data base servers
 creating new develop environments
 writing lexers and parsers (perhaps with mathematical background)
 more sophisticated image processing
 creating HTTP servers (with direct access to your computation results ?)
 and many more ...
The O'CaML interpreter system, which is in reality a pure compiler concept, was chosen because of the high computation speed of this system and the high portability. You have the advantages of an interpreter like language (from the user point of view), but with performance comparable with C/C++ programs. All functions will be translated by the O'CaML compiler into a system and machine independent Byte Code. This Byte Code will be then executed on a virtual machine. Currently, you have a terminal driven environment with online help. Plots are printed to an additional X11 window or to a postscript file.
PsiLAB3: Scientific, Machine Learning and Numeric Research Software Environment

Similar to PsiLab2, PsiLab3 provides a framework for largescale numeric data processing.

In contrast to PsiLab2 based on OCaML, PsiLab3 uses JavaScript and a modified node.js platform pl3. All pl3 scripts are programmed in JavaScript.
 Extensive set of numerical and machine learning methods are provided:
 Vector and matrix modules supporting generic JS arrays and packed native typed arrays
 Linear Algebra
 Machine Learning
 Plotting package based again on PLPLOT
 FFT (1D/2D/3D), using FFTW library
 Bindings to native LAPACK/BLAS libraries