The Spar Project

Spar is a maths applications framework. This means that the Spar Library allow C/C++ programmers to write easily maths applications. The library supports a number of features, such as: plugins (modules), user variables, many common math functions, complex functions, error reporting, test and timing functions, vectors algebra, formula library, constants, and a complete IO library. However the lirary is not yet complete: integration, interpolation, geometry (and other) are missing. All Spar applications can be configured as you wish: infact,   you can request special features such as modules support and getopt support. Finally the library comes with a fully featured console calculator (is only a Spar application).

Spar, can be easily extended with modules. A module is a "user" extensions, written in C/C++, to the basic features of the Simple Parser. Here you can find the module definition: is a C structure that contains only few data member:
    - module name
    - module version  
    - module version
    - module descriptionn
    - a pointer to the module main function

The modules are loaded at run-time by the module loader (that is a high     level layer of the module manager): you can load your modules, simply,  coping  theirs paths into the .spar_modules (or any other file, with the -c option).  However there is only one module available and it's intended only for didacticals  purposes. Finally, here  you can find  a module template. As you can see is very simple create a Spar module: these new features is  available only with the last release of the Spar Library. 

To install this software follow this general guidelines:
        tar zxvpf spar-{version}.tar.gz
        cd spar-{version}
        ./configure && make
       make install (with root privileges)

or refer to the INSTALL file!

The Spar is distributed under both the LGPL license (library) and  the GPL license license (frontend) .You are welcome to join this project, read the TODO file. 

The Spar console front end (aka spar) is a fully featured programs that     uses the Spar Library. It works as an interactive calculator (like bc, rascal and others). It's an  example  of the capabilities provided by the Spar Library: it's quite customizable and easy to use. Just try it! Here you can see a HTML version of the man page.

latest version is the 0.5.10 that includes:
       o  applications framework updated (signal and terminal support)
       o  some fixes in the math library
       o  complex library updated
       o  other bugfixes in the parser: scientific notation; function, variable and constant merged into this sub-library
       o  text-fe moved to calculator (spar) with some minor bugfixes

see the Change Log file to a full description  of the changes. If you have the 0.5 version, please install, this    
that correct a huge number of minor bugs.

The complete source package (library, examples, man pages, calculator, modules)
The RPM package (requires both curses and readline 4 libraries)
The Source RPM package

please, submit me any hint, idea, tip, other example sources, or comment using the BUG REPORT template file!

Finally, this project is hosted by both Freshmeat and Source forge sites, and, there are two mailing list (hosted by

                                                                                                                                                                 Davide Angelocola

last update on: Jun 26 2001                         

special thanks to:
  Sebastian Ritterbusch, please, visit his web site: