Directory|Libraries|E-learning|Directions|Contact|Jobs|Diary
Fr|En
UMONS>Faculty of sciences>Institute of Mathematics>Numerical Analysis Team>Software

Software

On this page, you will find libraries for the Objective Caml language, a strongly typed functional language with great abstraction and performance characteristics.

Lacaml

Lacaml is a binding to the famous BLAS and LAPACK libraries which offer linear algebra routines. It is developed in collaboration with Markus Mottl and several other people. To use it you should be familiar with BLAS and LAPACK. The following quick reference guide for the BLAS and LAPACK quick reference may be useful to you. For the precise description of the functions, consult the man pages online or, if you installed them on your machine (if you use Linux, they should be in the packages of your distribution), read them with Emacs: M-x man (under Unix) ou M-x woman (all systems; you must first set

(add-to-list 'woman-manpath "C:/path/to/lapack/manpages/blas/man")
(add-to-list 'woman-manpath "C:/path/to/lapack/manpages/man")
in your ~/.emacs).

Delimited overloading

Delimited overloading (pa_do) is a syntax extension (thanks to camlp4) to allow (an extensible) operator and function overloading in OCaml. It also performs some optimizations, for example for expressions involving complex numbers.

OCaml-gnuplot

OCaml-gnuplot is a module which uses gnuplot to graph scientific data from OCaml.

This module is obsolete and only bugs will be corrected. It will be replaced by Archimedes (under development) which does not depend anymore on gnuplot.

Module FFTW 3

The Fftw3 module is a binding to the famous fast Fourier transform library FFTW.

The bindings to the old FFTW2 library are not longer developed.

OCaml Lego Mindstorm library

The Mindstorm module allows to control Lego® Mindstorm NXT bricks through the bluetooth protocol. It was used by three students in mathematics to program two robots: the first finds its way out of a maze and the second solves the Rubik's cube. You can read their interview (in French).

OCaml CSV

OCaml CSV is a module to read and write CSV (comma separated values) files. It understands Excel peculiarities (which do not conform to the standard).

Benchmark

Benchmark is a module to measure and compare running times of functions written in OCaml.

Rope library

The Rope module implements the "rope datastructure", an efficient immutable equivalent of strings. This module is ready to replace String for most applications.

OCamlDBI

OCamlDBI is a generic interface to databases inspired by Perl DBI.

OCaml-FreeTDS

The Freetds module offers a binding to the DB-lib API of FreeTDS as well as a deprecated binding to ct. It is recommended to use OCamlDBI (which uses this module as a driver) to benefit for higher level functions.

Lpd

The Lpd (Line Printer Deamon) library is a server for the LPD protocol completely written in OCaml (and therefore fully working on windows).

ANSITerminal

ANSITerminal is a module allowing to use the colors and cursor movements on ANSI terminals. Here is its interface.