Spell check.
[bpt/guile.git] / doc / ref / slib.texi
CommitLineData
a0e07ba4
NJ
1@page
2@node SLIB
3@chapter SLIB
4
5Before the the SLIB facilities can be used, the following Scheme
6expression must be executed:
7
8@smalllisp
9(use-modules (ice-9 slib))
10@end smalllisp
11
12@code{require} can then be used as described in
13@ref{Top, , SLIB, slib, The SLIB Manual}.
14
15For example:
16
17@smalllisp
18guile> (use-modules (ice-9 slib))
19guile> (require 'primes)
20guile> (probably-prime? 13)
21@end smalllisp
22
23@menu
24* SLIB installation::
25* JACAL::
26@end menu
27
28@node SLIB installation
29@section SLIB installation
30
c2c67382 31The following seems to work (e.g., with slib versions 2c7 and 2d2):
a0e07ba4
NJ
32
33@enumerate
34@item
c2c67382 35Unpack slib somewhere, e.g., /usr/local/share/slib.
a0e07ba4
NJ
36
37@item
38Create a symlink in the Guile site directory to slib, e.g.,:
39
40@example
c2c67382 41ln -s /usr/local/share/slib /usr/local/share/guile/site/slib
a0e07ba4
NJ
42@end example
43
44@item
85a9b4ed 45Use Guile to create the catalog file, e.g.,:
a0e07ba4
NJ
46
47@example
48# guile
49guile> (use-modules (ice-9 slib))
c2c67382 50guile> (load "/usr/local/share/slib/mklibcat.scm")
a0e07ba4
NJ
51guile> (quit)
52@end example
53
85a9b4ed 54The catalog data should now be in
a0e07ba4
NJ
55@code{/usr/local/share/guile/site/slibcat}.
56
57If instead you get an error such as:
58
59@example
60Unbound variable: scheme-implementation-type
61@end example
62
63then a solution is to get a newer version of Guile,
64or to modify ice-9/slib.scm to use define-public for the
65offending variables.
66
67@item
68Install the documentation:
69
70@example
c2c67382 71cd /usr/local/share/slib
a0e07ba4
NJ
72rm /usr/local/info/slib.info*
73cp slib.info /usr/local/info
74install-info slib.info /usr/local/info/dir
75@end example
76@end enumerate
77
78@node JACAL
79@section JACAL
80
81@cindex Jaffer, Aubrey
82@cindex symbolic math
83@cindex math -- symbolic
84Jacal is a symbolic math package written in Scheme by Aubrey Jaffer. It
85is usually installed as an extra package in SLIB (@pxref{Packages not
86shipped with Guile}).
87
88You can use Guile's interface to SLIB to invoke Jacal:
89
90@smalllisp
91(use-modules (ice-9 slib))
92(slib:load "math")
93(math)
94@end smalllisp
95
96@noindent
97For complete documentation on Jacal, please read the Jacal manual. If
98it has been installed on line, you can look at @ref{Top, , Jacal, jacal,
99The SLIB Manual}. Otherwise you can find it on the web at
100@url{http://www-swiss.ai.mit.edu/~jaffer/JACAL.html}
101
102
103@c Local Variables:
104@c TeX-master: "guile.texi"
105@c End: