mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-01 04:10:18 +02:00
108 lines
2.2 KiB
Text
108 lines
2.2 KiB
Text
@page
|
|
@node SLIB
|
|
@chapter SLIB
|
|
@cindex SLIB
|
|
|
|
Before the SLIB facilities can be used, the following Scheme expression
|
|
must be executed:
|
|
|
|
@smalllisp
|
|
(use-modules (ice-9 slib))
|
|
@end smalllisp
|
|
|
|
@cindex @code{require}
|
|
@code{require} can then be used as described in
|
|
@ref{Top, , SLIB, slib, The SLIB Manual}.
|
|
|
|
For example:
|
|
|
|
@smalllisp
|
|
guile> (use-modules (ice-9 slib))
|
|
guile> (require 'primes)
|
|
guile> (probably-prime? 13)
|
|
@end smalllisp
|
|
|
|
@menu
|
|
* SLIB installation::
|
|
* JACAL::
|
|
@end menu
|
|
|
|
@node SLIB installation
|
|
@section SLIB installation
|
|
|
|
The following seems to work (e.g., with slib versions 2c7 and 2d2):
|
|
|
|
@enumerate
|
|
@item
|
|
Unpack slib somewhere, e.g., @file{/usr/local/share/slib}.
|
|
|
|
@item
|
|
Create a symlink in the Guile site directory to slib, e.g.,:
|
|
|
|
@example
|
|
ln -s /usr/local/share/slib /usr/local/share/guile/site/slib
|
|
@end example
|
|
|
|
@item
|
|
Use Guile to create the catalog file, e.g.,:
|
|
|
|
@example
|
|
# guile
|
|
guile> (use-modules (ice-9 slib))
|
|
guile> (load "/usr/local/share/slib/mklibcat.scm")
|
|
guile> (quit)
|
|
@end example
|
|
|
|
The catalog data should now be in
|
|
@file{/usr/local/share/guile/site/slibcat}.
|
|
|
|
If instead you get an error such as:
|
|
|
|
@example
|
|
Unbound variable: scheme-implementation-type
|
|
@end example
|
|
|
|
then a solution is to get a newer version of Guile,
|
|
or to modify @file{ice-9/slib.scm} to use @code{define-public} for the
|
|
offending variables.
|
|
|
|
@item
|
|
Install the documentation:
|
|
|
|
@example
|
|
cd /usr/local/share/slib
|
|
rm /usr/local/info/slib.info*
|
|
cp slib.info /usr/local/info
|
|
install-info slib.info /usr/local/info/dir
|
|
@end example
|
|
@end enumerate
|
|
|
|
@node JACAL
|
|
@section JACAL
|
|
@cindex JACAL
|
|
|
|
@cindex Jaffer, Aubrey
|
|
@cindex symbolic math
|
|
@cindex math -- symbolic
|
|
Jacal is a symbolic math package written in Scheme by Aubrey Jaffer. It
|
|
is usually installed as an extra package in SLIB (@pxref{Packages not
|
|
shipped with Guile}).
|
|
|
|
You can use Guile's interface to SLIB to invoke Jacal:
|
|
|
|
@smalllisp
|
|
(use-modules (ice-9 slib))
|
|
(slib:load "math")
|
|
(math)
|
|
@end smalllisp
|
|
|
|
@noindent
|
|
For complete documentation on Jacal, please read the Jacal manual. If
|
|
it has been installed on line, you can look at @ref{Top, , Jacal, jacal,
|
|
JACAL Symbolic Mathematics System}. Otherwise you can find it on the web at
|
|
@url{http://www-swiss.ai.mit.edu/~jaffer/JACAL.html}
|
|
|
|
|
|
@c Local Variables:
|
|
@c TeX-master: "guile.texi"
|
|
@c End:
|