bash-3.1$ sisc -v
which: no rlwrap in (/home/jaffer/bin:/usr/kerberos/bin:/usr/java/jdk1.5.0_08/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/sbin:/usr/sbin:/usr/local/chipmunk/bin:/usr/java/jdk1.5.0_08/bin)
SISC - The Second Interpreter of Scheme Code - 1.16.6
bash-3.1$ uname -a
Linux aubrey.jaffer 2.6.20-1.2320.fc5smp #1 SMP Tue Jun 12 19:40:16 EDT 2007 i686 i686 i386 GNU/Linux
bash-3.1$ which java
/usr/java/jdk1.5.0_08/bin/java
bash-3.1$ slib --version
slib 3a4
bash-3.1$
The following patch to the sisc script adds
-Dsisc.slib=$SCHEME_LIBRARY_PATH
to the $JAVA argument-list:
cd /usr/local/bin/
diff -c /usr/local/lib/sisc/sisc /usr/local/bin/sisc
*** /usr/local/lib/sisc/sisc 2007-02-27 11:42:03.000000000 -0500
--- /usr/local/bin/sisc 2007-09-03 14:37:13.000000000 -0400
***************
*** 70,75 ****
D=";" ;;
esac
! $JAVA $JAVAOPT -classpath $SISC_HOME/sisc-opt.jar${D}$SISC_HOME/sisc.jar${D}$SISC_HOME/sisc-lib.jar${D}$CLASSPATH -Dsisc.home=$SISC_HOME sisc.REPL -h $SISC_HOME/sisc.shp $PROPERTIES $EXTENSIONS "$@"
fi
--- 70,75 ----
D=";" ;;
esac
! $JAVA $JAVAOPT -classpath $SISC_HOME/sisc-opt.jar${D}$SISC_HOME/sisc.jar${D}$SISC_HOME/sisc-lib.jar${D}$CLASSPATH -Dsisc.slib=$SCHEME_LIBRARY_PATH -Dsisc.home=$SISC_HOME sisc.REPL -h $SISC_HOME/sisc.shp $PROPERTIES $EXTENSIONS "$@"
fi
Diff finished at Mon Sep 3 15:48:30
With SLIB-3a4, this modified sisc chokes because *features* changed to
slib:features between slib-3a3 and slib3a4:
bash-3.1$ export SCHEME_LIBRARY_PATH=/usr/local/lib/slib/
bash-3.1$ sisc
which: no rlwrap in (/home/jaffer/bin:/usr/kerberos/bin:/usr/java/jdk1.5.0_08/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/sbin:/usr/sbin:/usr/local/chipmunk/bin:/usr/java/jdk1.5.0_08/bin)
SISC (1.16.6)
#;> (require-library 'sisc/libs/slib)
Error in load: evaluation error at jar:file:/usr/local/lib/sisc/sisc-lib.jar!/sisc/libs/slib.scm:337:1
---------------------------
To enable more detailed stack tracing, set the dynamic parameter max-stack-trace-depth to a non-zero value, e.g. 16.
---------------------------
Some stack trace entries may have been suppressed. To see all entries set the dynamic parameter suppressed-stack-trace-source-kinds to '().
===========================
Caused by Error in load: evaluation error at file:/usr/local/lib/slib//require.scm:182:1
===========================
Caused by Error: undefined variable 'slib:features'.
file:/usr/local/lib/slib//require.scm:137:3: <indeterminate call>
#;>
When I tried to build from your source distribution (with
sisc/src/sisc/libs/slib.scm fixed) I get:
bash-3.1$ sisc
which: no rlwrap in (/home/jaffer/bin:/usr/kerberos/bin:/usr/java/jdk1.5.0_08/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/sbin:/usr/sbin:/usr/local/chipmunk/bin:/usr/java/jdk1.5.0_08/bin)
SISC (1.16.6)
#;> (require-library 'sisc/libs/slib)
Error in load: evaluation error at jar:file:/usr/local/lib/sisc/sisc-lib.jar!/sisc/libs/slib.scm:18:1
---------------------------
To enable more detailed stack tracing, set the dynamic parameter max-stack-trace-depth to a non-zero value, e.g. 16.
---------------------------
Some stack trace entries may have been suppressed. To see all entries set the dynamic parameter suppressed-stack-trace-source-kinds to '().
===========================
Caused by Error: library sisc/libs/srfi/srfi-59 not found
This is because the sisc-lib.jar built by running "ant" in the
top-level sisc/ directory contains no SRFIs, where the distribution
version does. Where in the documentation does it explain how to build
the srfis into sisc?
So, instead I created sisc.init in slib/:
http://cvs.savannah.gnu.org/viewvc/slib/slib/sisc.init?view=markup
The "slib" script in the development version,
http://swiss.csail.mit.edu/ftpdir/users/jaffer/slib.zip now handles
SISC by invoking it "slib sisc".
I find that DEFMACROs in files which are loaded aren't visible in the
interactive top level. I don't understand why.
I also have added SISC support to JACAL
http://swiss.csail.mit.edu/ftpdir/users/jaffer/jacal.zip invoked by
"jacal sisc". Jacal-sisc runs all the mathematical tests, but chokes
trying to read /* */ comments!
Error: attempt to apply non-procedure '#<character-input-port *prec:p...'.
I tracked down the error to a call at the end of
TOK:READ-THROUGH-COMMENT in slib/prec.scm. The passed procedure STP
is a procedure (says PROCEDURE?); perhaps the problem is some call it
makes.
Logged In: YES
user_id=117017
Originator: YES
Defmacro turned out to be responsible for both problems. "slib.scm" was written as though SISC had no defmacro. Removing that stuff healed it -- SISC now runs Jacal. http://cvs.savannah.gnu.org/viewvc/slib/slib/sisc.init?view=markup
has the fix.
Does SISC have a way to implement MACROEXPAND (a la CommonLisp)?