Some people have run into a problem that gcl throws a stack overflow error after too many function invocations. The stack size can be increased by typing
(setq si::*multiply-stacks* 4)which increases the stack size by a factor of 4. If this is not sufficient, you can use a larger increase factor than 4. If this doesn't solve your problem, you may have infinite recursion in one of your functions.
+, -, *, /, =, <=, >=, abs, and, append, atom, bye, car, cdr, caar, cadr, cdar... etc., cond, cons, defun, dribble, equal, exp, first, second, third, fourth, fifth... etc., last, length, let, list, listp, load, max, member, min, nil, not, nth, null, numberp, or, remove, reverse, time.
gcl(for GNU Common LISP). For gcl to work you have to add:
setenv PATH /u/cs/class/cs161/cbin:$PATHto your path (one way is to place the line in your .login file). If you wish to run scheme just type
M-x shellThis will create a unix shell. In the unix shell start GCL. Everything will remain in the emacs buffer which can be saved like any other document (
An even easier way has been suggested to me by a very
astute member of the class. From the UNIX prompt type
script. Then start GCL and run your program as you
normally would. When you finish exit GCL, and then from the UNIX
exit (or press
transcript should be in a text file called typescript.
mail email@example.com < filename
You do it as follows.(cond (pred) (body) : : (pred) ( (do this) & then (do that) ) )
(cond ((pred) (body)) : : ('t (body1) (body2) (body3) .... ) )