General programmingNewcomers 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: FriCAS programming languagesAt 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 scriptsif 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 FriCASBook Sections 5 and 6 and by HyperDoc Spadif 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 FriCASBook, Sections 11, 12 and 13. For short crash course see ProgrammingSPAD. For higher level overview see FriCASProgrammingModel. Aldoris 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 LaTeXrestricted subset of LaTeX is the language we use for documenting everything. In particular almost all functions have a stylised comment giving short description. Also help system is based on LaTeX. FriCAS Book is main part of help system, for better printed/PDF appearence some constructs allow more general LaTeX. Lispto learn programming itself, if you intend to hack low level runtime support routines and compiler code generation. Currently FriCAS contains only about 10000 lines of hand written Lisp, however since currently Spad and Boot are compiled to Lisp it has very important place. BootBoot 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. Currently Boot code is (slowly) replaced by Spad. CC 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). |