login  home  contents  what's new  discussion  bug reports     help  links  subscribe  changes  refresh  edit

Edit detail for FriCASProgramming revision 7 of 7

1 2 3 4 5 6 7
Editor: test1
Time: 2019/06/13 20:35:49 GMT+0

  [Design By Contract]

General programming

Newcomers to FriCAS first need to learn new language and most of the page deals with this. But there are also conceptual problems. FriCAS languages (Spad and interpreter language) are multiparadigm languages. They allow various styles, each with its own issues. Below we give links to some frequently encountered issues:

Design By Contract




FriCAS programming languages

At first it might be confusing: So many programming languages to choose from. There is Lisp, Boot, Spad, Aldor and even more that can all be compiled from the FriCAS interpreter.

You can also compile and use functions written in each of these languages in web pages of this web site. See: FriCASTutorial .

So what do I really need to learn? These are listed below in order of importance:

FriCAS interpreter scripts

if you want to use FriCAS for doing mathematics at a basic to intermediate level. Similar in scope to the scripting languages provided by Maple, Mathematica, etc., only a lot better.

Explained in detail in the Axiom Book Sections 5 and 6 and by HyperDoc


if you want to use FriCAS for doing mathematics at an advanced level, in a way that you can share your efforts with other people. Furthermore, if you want to debug FriCAS "mathematical" bugs. The mathematical capabilities FriCAS provides are written in Spad.

It is (more or less) a prerequesite to know how to use the FriCAS interpreter language, they are nearly identical.

Explained in the Axiom Book, Sections 11, 12 and 13. For short crash course see ProgrammingSPAD.


is the language which was indended to be the successor of Spad and can be used within FriCAS via an external compiler. Some people who want to use FriCAS for doing mathematics at an advanced level prefer it to Spad. Unfortunatly in the past Aldor was only available under restrictive licence and there were no new developement on it. From July 2013 Aldor is available under free licence.

Also, if you really want to understand how to use Spad, learning Aldor can help.

Aldor has extensive online documentation


is the language we use for documenting everything.


to learn programming itself, if you intend to hack the interpreter, compiler, user-interface Currently FriCAS contains only about 10000 lines of hand written Lisp, however since Spad and Boot are compiled to Lisp it has very important place.


Boot is used internally in FriCAS for the implementation of the interpreter and Spad compiler. Boot is written mostly in Boot (it uses a few Lisp functions for system interface) and has a syntax very much like Spad.


C is used for operating system interface, for HyperDoc help browser and for graphic programs. By line count (about 55000 lines) it is the third language (after Spad and Boot).