Maxima by Example: Chapter 1 total rewrite



On July 13, 2009, Adam Majewski  wrote:
---------------------------------------------------------
Thx for new version.
I see that there is a info about maxima-init.mac file.
Can I find there all options which can be passed to maxima during
initialization ?
-----------------------------------
Hi Adam, The section on the maxima-init.mac file is very basic,
first trying to illustrate the advantages of assigning your own path
for maxima_userdir, showing what my own startup file looks like
(which also adds the path to my work folder to file_search_maxima),
and showing the differences in convenience when loading in
your own mac files.

The startup file example I give is :

++++++++++++++++++++
/* this is c:\Documents and Settings\Edwin Woollett\maxima\maxima-init.mac 
*/
/* last edit: 7-04-09  */
maxima_userdir: "c:/work2" $
maxima_tempdir : "c:/work2"$
file_search_maxima : append(["c:/work2/###.{mac,mc}"],file_search_maxima )$
load(mbe1util)$
print("   mbe1util.mac functions ", functions)$
disp("Maxima is the Future!")$
++++++++++++++++++++++++

You are free to design your startup file in any way
that promotes your work goals with Maxima. There
is no limit, I think, to what options you can set during
startup. I do not discuss all options available, since
there are a large number and each user will have
very specific criteria and interests.

------------------------------------------
Can you write about:
- compiling commands and programs under maxima
- compiling maxima with different lisp versions
- what to do with lisp error codes ( like stack overflow)
--------------------------------------------------------

For power users of Maxima, the ability to translate
and compile critical sections of code to speed up
work is a real attraction. However Maxima by
Example's first purpose is to provide a fast "onramp"
to the use of Maxima for Maxima beginners (some
of whom are very advanced in other areas and
languages), emphasizing the naturalness and simplicity of
the syntax (things like f(x) for a function instead
of Mathematica's f[x], for example), and trying to
show how easy it can be to execute basic moves in
Maxima.

Given the orientation of these notes, advanced topics
such as you are interested in must wait for space and time,
and eventually, things like solving really hard problems,
pattern matching code  strategy, translation and compiling,
beginning to code in lisp,  and advanced debugging  may
find their way into these notes.

  (The simplest debugging advice for anyone is to begin
with  a "debug version" which  has a generous number
of debug printouts  of intermediate expressions using
print, display, and disp. This will normally  prevent major
errors in syntax and logic and the  "working version" will
have  the debug printouts either removed or commented
out (or of course there are fancier ways to set up
verbosity levels of code).

Since I am a dedicated Windows XP user (although I
have spent  man-years on unix  based machines in my
youth), I do not enjoy the pleasures of bottom up
compilation of Maxima with the  attendant concern for
which Lisp version to use. Thus I would be a poor
source of information for those areas. However, the
Maxima developers have awesome depths of experience
in  such areas, as the Maxima Mailing list often attests.

Best Wishes,
Ted Woollett