Commit of 3.99.1 version

master Version_3.99.1
Erick Gallesio 26 years ago
parent 5f74a25a3c
commit 3c98caa84e

@ -1,7 +1,22 @@
04/27/98 Release 3.99.1
-----------------------
Mainly minor correction to 3.99.0 (installation problems principally)
Otherwise:
* Inclusion of the Metaclass init-keywords patch from J-M Kubek
<kubek@insa-tlse.fr>, which allows to initialize some slots of
a class when declaring it.
* Tk widgets can be initailized at creation time, even if they
are disabled (idea from Walter C. Pelissero
<wcp@luppolo.lpds.sublink.org>
04/10/98 Release 3.99.0
-----------------------
This is the pre-4.0 release. Why is is not calles 4.0? Good question.
This is the pre-4.0 release. Why is is not called 4.0? Good question.
This version would have been numbered 4.0 if there was not a so long
time between this release and the previous one. Since I take so long
to release, I had time to add a lot of things to my "TODO list".
@ -16,7 +31,7 @@ Here are the main visible changes from previous release:
* A module system has been added
* Integration of the Bigloo MATCH-CASE and MATCH-LAMBDA
primitives. Furthermore, the file bigloo.stk provide
primitives. Furthermore, the file bigloo.stk provides
some compatibility between STk and bigloo modules.
* A simple FFI has been added. It allows to access C
functions without writing C code (works only on a
@ -28,7 +43,7 @@ Here are the main visible changes from previous release:
REPL are now user definable.
* report-error mechanism has been enhanced a lot (work
is not completely achieved).
* new-primitives: append!, mast-pair, C-string->string,
* new-primitives: append!, last-pair, C-string->string,
remove-file, rename-file, temporary-file-name, ...
* Numerous bug corrections
* ...
@ -72,6 +87,12 @@ Here are the main visible changes from previous release:
method-generic-function, method-specializers
method-procedure, remove-method
change-object-class
* When a class is redefined, the instances and methods which uses it
are redefined accordingly, as in CLOS (i.e. if you add a slot in a
class, all its -- direct or indirect -- instances will have the new
slot added dynamically.
* New kind of slot allocation: "active". An active slot
is a slot for which you can put a daemon before or
after its reading/writing

@ -1,11 +1,88 @@
1998-04-30 Erick Gallesio <eg@unice.fr>
* STk-3.99.1 Release
* STklos/stklos.stk (ensure-class): Inclusion of the Metaclass
init-keywords patch from J-M kubek <kubek@insa-tlse.fr>, which
allows to initialize some slots of a class when declaring it.
* Lib/bigloo.stk (module): The compatibility function between
bigloo modules and STk modules was not updated to the current
version of modules. Bug signaled by J-M kubek <kubek@insa-tlse.fr>
* STklos/stklos.stk (shallow-clone): usage of
class-definition-name instead of slot-definition-name in *-clone
functions. Bug signaled by Walter C. Pelissero
<wcp@luppolo.lpds.sublink.org>
* Tcl/tclUnixPort.h:
* Tcl/Int.h: Path correction for accessing compatibility
files. This was needed for SunOS 4.3.x.
* Extensions/Makefile.in : Don't trap errors when linking to see
that there are problems (particularly for Solaris).
1998-04-27 Erick Gallesio <eg@unice.fr>
* Installation process has been updated.
* STklos/Tk/Button.stklos: The variable associated to a radio
button or check button was not using the environment.
* STklos/Tk/Text.stklos:
* STklos/Tk/Entry.stklos:
* STklos/Tk/Scale.stklos:
* STklos/Tk/Basic.stklos: New function: initialize-value-slot
which allow to initialize this slot even if the state of the
widget is disabled. Idea from Walter C. Pelissero
<wcp@luppolo.lpds.sublink.org>
1998-04-26 Erick Gallesio <eg@unice.fr>
* Src/toplevel.c: Correction of a long standing bug which causes
background STk to take all the CPU in some circumstances. It was
hard to track
1998-04-22 Erick Gallesio <eg@unice.fr>
* Src/tcl-glue.c (STk_valid_environment): Various problems
corrected with the new :environment options which is available on
widgets now.
* Src/port.c (STk_flush): Bug correction. Trying to flush a string
port was erroneous. Bug signalled by Walter C. Pelissero
<wcp@luppolo.lpds.sublink.org>
Mon Apr 20 20:52:21 1998 Erick Gallesio <eg@unice.fr>
* Doc/Manual/repl-display-prompt.n: New documentation file.
* Doc/Reference/*: Documentation update.
Mon Apr 13 12:24:19 1998 Erick Gallesio <eg@unice.fr>
* Demos/Html-demos/*: Adding the English demos which were
accidentally forgotten from the previous release
Sun Apr 12 14:13:05 1998 Erick Gallesio <eg@unice.fr>
* Help/*: Pages were not regenerated and correspond to an old
version.
* configure.in : Various correction in the installation process
which was wrong. The spec file for RPM and the STk.prj are now
auto generated at configuration time
Fri Apr 10 09:01:17 1998 Erick Gallesio <eg@unice.fr>
* STk-3.99.0 release
Wed Apr 8 17:02:26 1998 Erick Gallesio <eg@unice.fr>
* Src/*.c: Correction: stderr (instead of STk_stderr) was incorrectly
used in some places.
* Src/*.c: Correction: stderr (instead of STk_stderr) was
incorrectly used in some places.
* Src/Stack: Code was absolutely incorrect for machine which don't
support FFI.
@ -215,7 +292,7 @@ Thu Jan 8 12:27:44 1998 Erick Gallesio <eg@unice.fr>
Sat Jan 3 16:50:55 1998 Erick Gallesio <eg@unice.fr>
* STk.prj: STk.prj has been completely redefines. Now PRCS
* STk.prj: STk.prj has been completely redefined. Now PRCS
versions are in sync with STk version.
Thu Jan 1 13:18:22 1998 Erick Gallesio <eg@unice.fr>

@ -0,0 +1,33 @@
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>S-scape: The STk Web Browser.</title>
</head>
<body bgcolor=white>
<h1><img src="Images/STk-tiny.gif"><i>S-scape</i>: The STk Web Browser.</h1>
<font size=+4>
<b>S-scape</b> is a Web browser<P>
<ul>
<li> Entirely written in Scheme;<P>
<li> Accepts a subset of the HTML 2.0 norm (no <i>"forms"</i>)<P>
<li> Is used generally to access <b>STk</b> on line help:<p>
<ul>
<li><tt> <A expr=(help)> (help) </A></tt><p>
<li><tt> <A expr=(help "bell")>(help "bell")</A></tt>
</ul><p>
<li> Allows the definition of Scheme <i>"<A HREF="applet-en.html">applets</A>"</i><P>
<li> can browse <b>remote</b> pages (<i>e.g.</i>
<A HREF=http://kaolin.unice.fr/STk/>http://kaolin.unice.fr/STk/</A>)
</ul>
</font>
<hr>
<A HREF="main-en.html"><img src="Images/backward.gif" align=middle> Top</A>
<hr>
<address><a href="mailto:eg@unice.fr">Erick Gallesio</a></address>
<!-- Created: Mon Mar 9 13:00:15 CET 1998 -->
<!-- hhmts start -->
Last modified: Mon Apr 13 11:59:20 CEST 1998
<!-- hhmts end -->
</body>
</html>

@ -19,7 +19,7 @@
<li> Permet de d&eacute;finir des <i>"<A HREF="applet-fr.html">applets</A>"</i>
en Scheme<P>
<li> Permet la consultation de pages <b>distantes</b> (<i>e.g.</i>
<A HREF=http://kaolin.unice.fr/>http://kaolin.unice.fr/</A>)
<A HREF=http://kaolin.unice.fr/STk/>http://kaolin.unice.fr/STk/</A>)
</ul>
</font>
<hr>
@ -28,7 +28,7 @@
<address><a href="mailto:eg@unice.fr">Erick Gallesio</a></address>
<!-- Created: Mon Mar 9 13:00:15 CET 1998 -->
<!-- hhmts start -->
Last modified: Mon Mar 9 21:41:18 CET 1998
Last modified: Mon Apr 13 09:25:03 CEST 1998
<!-- hhmts end -->
</body>
</html>

@ -0,0 +1,63 @@
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>Building Interfaces in STklos</title>
</head>
<body bgcolor=white>
<script language="STk">
(lambda (parent url)
(let ((dir (dirname (expand-file-name
((with-module URL url:filename) url)))))
(chdir dir)))
</script>
<h1><img src="Images/STk-tiny.gif">
AMIB: <font color=red>A</font>
<font color=red>M</font>ini
<font color=red>I</font>nterface
<font color=red>B</font>uilder</h1>
<font size=+4>
<center>
<a href="Images/amib.gif"><img src="Images/amib-tiny.gif"></a>
</center>
<ul>
</ul><p>
<I>Objective</I>: Building Graphical Interfaces interactively<P>
<ul>
<li> Written in STklos<P>
<li> Provides
<ul>
<li> Interactive building of GUI;
<li> Save/Restore of built interfaces.<P>
</ul>
<li> Uses the STklos Meta Object Protocol<P>
<li> Code
<ul>
<li> generic (adding a new widget just consists in adding a line in
the program)
<li> just a demo (less than <B>600 lines</B> of code!!)<p>
</ul>
<li> Launch a Demo of AMIB with
<ul>
<li> the non-installed version of STk
(<a expr=(system "test-stk -f amib.stklos&")><tt>test-stk -f amib.stklos&</tt></a>)
<li> the installed version of STk
(<a expr=(system "stk -f amib.stklos &")><tt>stk -f amib.stklos&</tt></a>)
</ul>
</ul>
</font>
</font>
<hr>
<A HREF="main-en.html"><img src="Images/backward.gif" align=middle> Top</A>
<hr>
<address><a href="mailto:eg@unice.fr">Erick Gallesio</a></address>
<!-- Created: Tue Mar 10 17:40:16 CET 1998 -->
<!-- hhmts start -->
Last modified: Mon Apr 13 12:00:21 CEST 1998
<!-- hhmts end -->
</body>
</html>

@ -57,7 +57,7 @@
<address><a href="mailto:eg@unice.fr">Erick Gallesio</a></address>
<!-- Created: Tue Mar 10 17:40:16 CET 1998 -->
<!-- hhmts start -->
Last modified: Tue Mar 10 18:41:48 CET 1998
Last modified: Mon Apr 13 09:58:25 CEST 1998
<!-- hhmts end -->
</body>
</html>

@ -10,7 +10,7 @@
;;;; permission of the copyright holder.
;;;; This software is provided ``as is'' without express or implied warranty.
;;;;
;;;; $Id: animate.stk 1.1 Tue, 10 Mar 1998 21:43:37 +0100 eg $
;;;; $Id: animate.stk 1.1 Tue, 10 Mar 1998 20:43:37 +0000 eg $
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 9-Mar-1998 18:51

@ -0,0 +1,70 @@
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>Applets in STk</title>
</head>
<body bgcolor=white>
<h1><img src="Images/STk-tiny.gif">Applets in STk</h1>
<p>
<script language="STk">
(lambda (parent url)
(let ((dir (dirname (expand-file-name
((with-module URL url:filename) url)))))
(load (string-append dir "/animate.stk"))))
</script>
<font size=+4>
<b>S-scape</b> allows the insertion of STk-code in a HTML page.
<P> Examples:
<ul>
<li> Animation:
<script language="STk">
(lambda (parent url)
(let* ((dir (dirname (expand-file-name
((with-module URL url:filename) url))))
(img (make-animation (string-append dir "/Images/mosaic*")
parent 100)))
(set! *img* img)
(pack img :expand #t :fill "both")))
</script>
<p>
<li> Piece of embedded interface:
<script language="STk">
(lambda (parent url)
(let ((w (scale (format #f "~A.scale" (widget-name parent))
:label "delay between frames (ms)" :orient "hor"
:to 300 :length 250))
(b (button (format #f "~A.butt" (widget-name parent))
:text "Stop animation" :foreground "red")))
(w 'set 100)
(tk-set! w :command (lambda (x)
(change-animation-delay *img* (w 'get))))
(tk-set! b :command (lambda ()
(change-animation-delay *img* -1)))
(pack w b :expand #t :fill "both")))
</script>
<p>
<li> Embedded application:
<script language="STk">
(lambda (parent url)
(let ((dir (dirname (expand-file-name
((with-module URL url:filename) url)))))
(load (string-append dir "/puzzle.stk"))
(display-puzzle parent)))
</script>
</ul>
</font>
<hr>
<A HREF="main-en.html"><img src="Images/backward.gif" align=middle> Top</A>
<hr>
<address><a href="mailto:eg@unice.fr">Erick Gallesio</a></address>
<!-- Created: Mon Mar 9 13:16:50 CET 1998 -->
<!-- hhmts start -->
Last modified: Tue Mar 10 21:37:14 CET 1998
<!-- hhmts end -->
</body>
</html>

@ -0,0 +1,69 @@
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>Composite Widgets</title>
</head>
<body bgcolor="white">
<script language="STk">
(lambda (parent url)
(let ((dir (dirname (expand-file-name
((with-module URL url:filename) url)))))
(chdir dir)))
</script>
<h1><img src="Images/STk-tiny.gif">Composite Widgets</h1>
<font size=+4>
A composite widget is made by assembling several widgets (simple
or even composite widgets):
</font>
<pre>
(define le (make &lt;Labeled-entry&gt; :value 50 :title "Valeur:"))
</pre>
<font size=+4>
defines <tt>le</tt> as an instance of the <tt>&lt;Labeled-entry&gt;</tt>
class. This object, on a screen, gives:
<p>
<center>
<IMG SRC="Images/compo-all.gif"><P>
</center>
<pre>
</pre>
In fact, this widget is composed if three Tk basic widgets: a
<i>frame</i>, a <i>label</i> an an <i>entry</i>:
<pre>
</pre>
<center>
<IMG SRC=Images/frame.gif> + <IMG SRC=Images/label.gif> + <IMG SRC=Images/entry.gif><P>
</center>
<pre>
</pre>
<ul>
<li> A demonstration of some composite widgets can be launched from here with:
<ul>
<li> the non-installed version of STk
(<a expr=(system "test-stk -f stklos-widgets.stklos&")><tt>test-stk</tt></a>)
<li> the installed version of STk
(<a expr=(system "stk -f stklos-widgets.stklos &")><tt>stk</tt></a>)<p>
</ul>
<li> The complete <a href="Lentry.stklos">code</a> of the <tt>&lt;Labeled-entry&gt;</tt> class is approximatively 60 lines.
</ul>
</font>
<hr>
<A HREF="main-fr.html"><img src="Images/backward.gif" align=middle> Retour</A>
<hr>
<address><a href="mailto:eg@unice.fr">Erick Gallesio</a></address>
<!-- Created: Tue Mar 10 18:42:29 CET 1998 -->
<!-- hhmts start -->
Last modified: Mon Apr 13 12:08:18 CEST 1998
<!-- hhmts end -->
</body>
</html>

@ -4,15 +4,27 @@
<title>Envdraw</title>
</head>
<body>
<h1>Envdraw</h1>
<body bgcolor=white>
<h1><img src="Images/STk-tiny.gif"> Envdraw</h1>
<font size=+4>
<center>
<img src="Images/envdraw.gif">
</center>
<pre>
</pre>
EnvDraw is a environment diagramming package which draws environment
diagrams as taught in Abelson and Sussman's _Structure and
Interpretation of Computer Languages_. It was written as an
diagrams as taught in <i>Abelson and Sussman's</i> <b>Structure and
Interpretation of Computer Languages</b>.
<p>
It was written as an
instructional tool for the CS61A course at the University of
California at Berkeley. The environment diagrammer is a metacircular
California at Berkeley.
<p>
The environment diagrammer is a metacircular
evaluator which draws procedures, environments, and box and pointer
diagrams along with all the accompanying symbols and mutation. It
includes a box and pointer diagrammer which handles circular list
@ -20,6 +32,15 @@ structures, cons cell mutation, and also will watch for modification
of any symbols known to be pointing to drawn cells.
<p>
Envdraw can be downloaded from the following URL:
<a href=http://kaolin.unice.fr/Contribs">http://kaolin.unice.fr/STk/Contribs</a>
</font>
<hr>
<A HREF="main-en.html"><img src="Images/backward.gif" align=middle> Top</A>
<hr>
<address><a href="mailto:eg@unice.fr">Erick Gallesio</a></address>
<
@ -28,6 +49,7 @@ of any symbols known to be pointing to drawn cells.
<address><a href="mailto:eg@unice.fr">Erick Gallesio</a></address>
<!-- Created: Tue Mar 10 19:29:32 CET 1998 -->
<!-- hhmts start -->
Last modified: Mon Apr 13 12:15:49 CEST 1998
<!-- hhmts end -->
</body>
</html>

@ -24,7 +24,7 @@ d'environnement tels qu'il sont pr
<p>
Cet outil a été écrit comme un outil pédagogique pour le cours
<b>CS61A</b> de l'Université de Berkeley (Californie).
<p>
Envdraw est en fait un interprète méta-circulaire capable de
dessiner des procedures, des environnement ainsi que des listes sous forme
de boîtes (les listes circulaire sont gérées)
@ -33,7 +33,7 @@ modifications apport
<p>
Envdraw peut être récupéré à l'URL suivante:
<a href=http://kaolin.unice.fr/Contribs">http://kaolin.unice.fr/Contribs</a>
<a href=http://kaolin.unice.fr/Contribs">http://kaolin.unice.fr/STk/Contribs</a>
</font>
<hr>
<A HREF="main-fr.html"><img src="Images/backward.gif" align=middle> Retour</A>
@ -41,7 +41,7 @@ Envdraw peut
<address><a href="mailto:eg@unice.fr">Erick Gallesio</a></address>
<!-- Created: Tue Mar 10 19:29:32 CET 1998 -->
<!-- hhmts start -->
Last modified: Tue Mar 10 21:24:50 CET 1998
Last modified: Mon Apr 13 12:11:34 CEST 1998
<!-- hhmts end -->
</body>
</html>

@ -0,0 +1,34 @@
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>STk/STklos Introduction</title>
</head>
<body bgcolor=white>
<h1><img src="Images/STk-tiny.gif">STk/STklos Introduction</h1>
<p>
<font size=+4>
<B>STk</B> is a Scheme interpreter which<p>
<ul>
<li>is able to access the Tk graphical toolkit<p>
<li>eases the constrution of GUI<p>
</ul>
<b>STklos</b> is the Object extension of STk<p>
<ul>
<li> gives access to the Tk toolit as a hierarchy of objets<p>
<li> eases the Tk toolkit programming<p>
</ul>
A simple <A HREF=simple-en.html>example</A> written in STklos
</font>
<hr>
<A HREF="main-en.html"><img src="Images/backward.gif" align=middle> Top</A>
<hr>
<address><a href="mailto:eg@unice.fr">Erick Gallesio</a></address>
<!-- Created: Mon Mar 9 12:19:35 CET 1998 -->
<!-- hhmts start -->
Last modified: Mon Apr 13 12:16:54 CEST 1998
<!-- hhmts end -->
</body>
</html>

@ -0,0 +1,30 @@
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>Presentation of STk</title>
</head>
<body bgcolor=white>
<h1><img src="Images/STk-tiny.gif">Presentation of STk</h1>
<font size=+4>
<ul>
<li> <A HREF=intro-en.html>Introduction</A><P>
<li> Applications written in STk:<p>
<ul>
<li> Browser Web: <a href="S-scape-en.html">S-scape</a><P>
<li> Interface Builder: <A HREF=amib-en.html>
AMIB</A><P>
<li> Visualization of Environments in Scheme:
<A HREF=envdraw-en.html>Envdraw</A><P>
</ul>
<li> Definition of <A HREF=compo-en.html>composite</A> widgets
</ul>
</font>
<hr>
<address><a href="mailto:eg@unice.fr">Erick Gallesio</a></address>
<!-- Created: Mon Mar 9 12:11:25 CET 1998 -->
<!-- hhmts start -->
Last modified: Mon Apr 13 09:57:17 CEST 1998
<!-- hhmts end -->
</body>
</html>

@ -10,7 +10,7 @@
;;;; permission of the copyright holder.
;;;; This software is provided ``as is'' without express or implied warranty.
;;;;
;;;; $Id: puzzle.stk 1.1 Tue, 10 Mar 1998 21:43:37 +0100 eg $
;;;; $Id: puzzle.stk 1.1 Tue, 10 Mar 1998 20:43:37 +0000 eg $
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 9-Mar-1998 21:11

@ -0,0 +1,39 @@
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>STklos Example</title>
</head>
<body bgcolor=white>
<h1><img src="Images/STk-tiny.gif">STklos Example</h1>
<font size=+6>
Launch an <b>xterm</b> to test this <i>program</i> with
<ul>
<li> the non-installed version of STk
(<a expr=(system "xterm -e test-stk &")>test-stk</a>)
<li> the installed version of STk
(<a expr=(system "xterm -e stk &")>stk</a>)
</ul>
</font>
<pre>
(require "Tk-classes")
(define l (make &lt;Button&gt;
:text "Hello, world"
:font "10x20"
:command (lambda () (exit 0))))
(pack l)
</pre>
<font size=+6>
<b>Cut</b> the 3 expressions above and <b>Paste</b> them in the xterm
window as soon as it appears.
</font>
<hr>
<A HREF="main-en.html"><img src="Images/backward.gif" align=middle> Top</A>
<hr>
<address><a href="mailto:eg@unice.fr">Erick Gallesio</a></address>
<!-- Created: Mon Mar 9 12:30:47 CET 1998 -->
<!-- hhmts start -->
Last modified: Mon Apr 13 10:13:04 CEST 1998
<!-- hhmts end -->
</body>
</html>

@ -4,22 +4,30 @@
include ../config.make
DEMODIR=$(libdir)/demos
DEMODIR=$(libdir)/Demos
what:
@echo "Type make install to install demos"
install:
-if [ ! -d $(DEMODIR) ] ; then mkdir -p $(DEMODIR); fi
for i in *.stk *.stklos Widget/*.stklos ; \
chmod 0755 $(DEMODIR)
for i in *.stk *.stklos Widget/*.stklos *.html; \
do \
j=`basename $$i`; \
sed -e 's=/usr/local/lib/stk=$(libdir)=' \
-e 's=/usr/local/bin=$(bindir)=' $$i > $(DEMODIR)/$$j;\
done
for i in *.stk *.stklos ; \
for i in *.stk *.stklos *.html; \
do \
chmod 0755 $(DEMODIR)/`basename $$i`; \
done
mkdir $(DEMODIR)/Html-Demos; chmod 0755 $(DEMODIR)/Html-Demos
cp Html-Demos/*.html $(DEMODIR)/Html-Demos
chmod 0644 $(DEMODIR)/Html-Demos/*.html
mkdir $(DEMODIR)/Html-Demos/Images; chmod 0755 $(DEMODIR)/Html-Demos/Images
cp Html-Demos/Images/* $(DEMODIR)/Html-Demos/Images
chmod 0644 $(DEMODIR)/Html-Demos/Images/*
(cd $(DEMODIR)/Html-Demos; ln -s ../amib.stklos ../stklos-widgets .)
install.libs:

@ -8,7 +8,7 @@
;;;; double-clicking.
;;;; This is a new version of the demo which can be run before STk is installed
;;;;
;;;; $Id: browse.stk 1.2 Mon, 16 Feb 1998 08:28:39 +0100 eg $
;;;; $Id: browse.stk 1.2 Mon, 16 Feb 1998 07:28:39 +0000 eg $
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 3-Aug-1993 17:33

@ -7,7 +7,7 @@
;;;; directory and allows you to open files or subdirectories by
;;;; double-clicking.
;;;;
;;;; $Id: browse.stklos 1.2 Mon, 16 Feb 1998 08:28:39 +0100 eg $
;;;; $Id: browse.stklos 1.2 Mon, 16 Feb 1998 07:28:39 +0000 eg $
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 3-Aug-1993 17:33

@ -13,7 +13,7 @@
;;;; permission of the copyright holder.
;;;; This software is provided ``as is'' without express or implied warranty.
;;;;
;;;; $Id: calc.stklos 1.2 Mon, 16 Feb 1998 08:28:39 +0100 eg $
;;;; $Id: calc.stklos 1.2 Mon, 16 Feb 1998 07:28:39 +0000 eg $
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 6-Apr-1995 18:11

@ -16,7 +16,7 @@
;;;; This software is a derivative work of other copyrighted softwares; the
;;;; copyright notices of these softwares are placed in the file COPYRIGHTS
;;;;
;;;; $Id: filebox.stklos 1.2 Mon, 16 Feb 1998 08:28:39 +0100 eg $
;;;; $Id: filebox.stklos 1.2 Mon, 16 Feb 1998 07:28:39 +0000 eg $
;;;;
;;;; Author: Erick Gallesio [eg@kaolin.unice.fr]
;;;; Creation date: 12-Jun-1994 11:24

@ -13,7 +13,7 @@
;;;; permission of the copyright holder.
;;;; This software is provided ``as is'' without express or implied warranty.
;;;;
;;;; $Id: term.stk 1.2 Mon, 16 Feb 1998 08:28:39 +0100 eg $
;;;; $Id: term.stk 1.2 Mon, 16 Feb 1998 07:28:39 +0000 eg $
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 7-Oct-1995 10:39

@ -10,7 +10,7 @@
#
# Author: Erick Gallesio [eg@unice.fr]
# Creation date: 21-Oct-1994 11:25
# Last file update: 30-Oct-1996 12:00
# Last file update: 20-Apr-1998 21:43
include ../../config.make
@ -61,11 +61,10 @@ install.man:
for i in *.n ;do \
$(CP) $$i $(MANN_DIR)/stk_$$i; \
done
../../Src/test-stk -no -file make-link $(MANN_DIR)
# ../../Src/test-stk -no -file make-link $(MANN_DIR)
clean:
rm -f *~
very-clean: clean
rm -f *.ps

@ -0,0 +1 @@
make-image.n

@ -0,0 +1 @@
make-image.n

@ -1,21 +0,0 @@
;;;;
;;;; This file contains data for make-link.stk.
;;;;
;;;; Copyright © 1996-1997 Erick Gallesio - I3S-CNRS/ESSI <eg@unice.fr>
;;;;
;;;; Permission to use, copy, and/or distribute this software and its
;;;; documentation for any purpose and without fee is hereby granted, provided
;;;; that both the above copyright notice and this permission notice appear in
;;;; all copies and derived works. Fees for distribution or use of this
;;;; software or derived works may only be charged with express written
;;;; permission of the copyright holder.
;;;; This software is provided ``as is'' without express or implied warranty.
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 30-Oct-1996 11:27
;;;; Last file update: 17-Sep-1997 22:01
;;;;
(define *links* '(
("create-image" "find-image" "change-image" "delete-image")
))

@ -1,31 +0,0 @@
;;;;
;;;; This script is executed for linking manual pages which are identical
;;;; Data are taken in the "links.stk" file
;;;;
;;;; Copyright © 1996 Erick Gallesio - I3S-CNRS/ESSI <eg@unice.fr>
;;;;
;;;; Permission to use, copy, and/or distribute this software and its
;;;; documentation for any purpose and without fee is hereby granted, provided
;;;; that both the above copyright notice and this permission notice appear in
;;;; all copies and derived works. Fees for distribution or use of this
;;;; software or derived works may only be charged with express written
;;;; permission of the copyright holder.
;;;; This software is provided ``as is'' without express or implied warranty.
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 30-Oct-1996 11:27
;;;; Last file update: 30-Oct-1996 12:32
;;;;
(load "links.stk")
(define (make-link dir source destination)
(for-each (lambda (x)
(let ((cmd (format #f "cd ~A; rm -f stk_~A.n; ln stk_~A.n stk_~A.n"
dir x source x)))
(system cmd)))
destination))
(for-each (lambda (l) (make-link (car *argv*) (car l) (cdr l)))
*links*)
(exit 0)

@ -0,0 +1,45 @@
'\" Color=Green
'\"
'\"
.so STk-man.macros
.TH repl-display-prompt n 3.99 STk "STk procedure"
.BS
'\" Note: do not modify the .SH NAME line immediately below!
.SH NAME
repl-display-prompt, repl-display-result \- Display a prompt/result in
interactive mode
.SH SYNOPSIS
(\fBrepl-display-prompt \fImodule\fR)
.br
(\fBrepl-display-result \fIvalue\fR)
.BE
.SH DESCRIPTION
.PP
\fBRepl-display-prompt\fR is called by the interactive toplevel loop
before reading a \fIsexpr\fR. This procedure is called with one parameter:
the selected module in the toplevel loop.
.LP
A simple form of this procedure could be:
.CS
(define (repl-display-prompt module)
(let ((p (current-error-port)))
(format p "~A> " (module-name module))
(flush p)))
.CE
.PP
\fBRepl-display-result\fR is called by the interactive toplevel loop
after the evaluation of a \fIsexpr\fR. This procedure is called with the
result of this evaluation as parameter.
.LP
A simple form, mimicking the MIT Scheme way of presenting results, could be:
.CS
(define (repl-display-result value)
(format #t "\\n;Value: ~S\\n\\n" value))
.CE

@ -0,0 +1 @@
repl-display-prompt.n

@ -23,7 +23,7 @@ causes the error (or the empty list when there is no object to incriminate).
The STk library includes a default \fBreport-error\fR procedure
that posts a dialog box containing the error message and offers
the user a chance to see a stack trace showing where the
error occurred and its associated environment..
error occurred and its associated environment.
.PP
If an error occurs while is \fBreport-error\fR execution, the
interpreter detect that the procedure is buggy and it redirect further

@ -21,7 +21,7 @@
'\" ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
'\" PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
'\"
'\" $Id: stk.1 1.1 Sat, 03 Jan 1998 13:46:25 +0100 eg $
'\" $Id: stk.1 1.2 Mon, 20 Apr 1998 20:15:01 +0000 eg $
'\"
.so STk-man.macros
.TH STk 1 4.0 STk "January_1998"
@ -172,6 +172,10 @@ variable is a list of paths to try when in a load command.
This variable serves to initialize the \fI*help-path*\fR Scheme variable. It
must contain a list of documentation directories. This variable is used by the help
procedure.
.IP "\fISTK_IMAGE_PATH\fR" 15
This variable serves to initialize the \fI*image-path*\fR Scheme variable. It
must contain a list of images directories. This variable is used by the make-image
procedure.
.SH FILES

@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.11
%%CreationDate: Fri Apr 10 09:05:16 1998
%%CreationDate: Mon Apr 20 10:54:40 1998
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%+ font Times-Italic
@ -496,24 +496,29 @@ F .525(ariable is a list)-.25 F(of paths to try when in a load command.)
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF 175.12(STk\(1\) January_1998 STk\(1\))72 48 R/F1
9/Times-Bold@0 SF(FILES)72 84 Q/F2 10/Times-Italic@0 SF(./init.stk)108
96 Q($STK_LIBRAR)108 112.8 Q(Y/STk/init.stk)-.18 E F0(When)183 124.8 Q
/F3 10/Times-Bold@0 SF(stk)2.69 E F0 .19
(starts running, it tries to load the \214le)2.69 F F2(init.stk)2.69 E
10/Times-Italic@0 SF(STK_IMA)108 84 Q(GE_P)-.35 E -.37(AT)-.9 G(H).37 E
F0 .137(This v)183 96 R .137(ariable serv)-.25 F .137
(es to initialize the)-.15 F F1(*ima)2.637 E -.1(ge)-.1 G(-path*).1 E F0
.137(Scheme v)2.637 F .137(ariable. It must contain a list)-.25 F
(of images directories. This v)183 108 Q(ariable is used by the mak)-.25
E(e-image procedure.)-.1 E/F2 9/Times-Bold@0 SF(FILES)72 148.8 Q F1
(./init.stk)108 160.8 Q($STK_LIBRAR)108 177.6 Q(Y/STk/init.stk)-.18 E F0
(When)183 189.6 Q/F3 10/Times-Bold@0 SF(stk)2.69 E F0 .19
(starts running, it tries to load the \214le)2.69 F F1(init.stk)2.69 E
F0 .19(in the current directory)2.69 F 2.69(.I)-.65 G 2.69(ft)-2.69 G
.19(his \214le)-2.69 F 1.581
(is not present, it tries to load this \214le in the)183 136.8 R F3
(STk_LIBRAR)4.082 E(Y)-.35 E F0 1.582(directory \(the v)4.082 F 1.582
(alue of)-.25 F F3(STk_LIBRAR)183 148.8 Q(Y)-.35 E F0 .244(is automatic\
ally computed to be in a sibling directory of the interpreter)2.745 F
-.15(exe)183 160.8 S(cutable.).15 E F2(~/.stkr)108 189.6 Q(c)-.37 E F0
(Standard)47.32 E F2(init.stk)2.979 E F0 .479
(\214le tries to load the \214le)2.979 F F2(~/.stkr)2.979 E(c)-.37 E F0
2.979(.T)C .48(his \214le can be used to store functions)-2.979 F .704
(de\214nitions or v)183 201.6 R .704(ariables settings that you w)-.25 F
.19(his \214le)-2.69 F 1.582
(is not present, it tries to load this \214le in the)183 201.6 R F3
(STk_LIBRAR)4.081 E(Y)-.35 E F0 1.581(directory \(the v)4.081 F 1.581
(alue of)-.25 F F3(STk_LIBRAR)183 213.6 Q(Y)-.35 E F0 .244(is automatic\
ally computed to be in a sibling directory of the interpreter)2.744 F
-.15(exe)183 225.6 S(cutable.).15 E F1(~/.stkr)108 254.4 Q(c)-.37 E F0
(Standard)47.32 E F1(init.stk)2.98 E F0 .48
(\214le tries to load the \214le)2.98 F F1(~/.stkr)2.979 E(c)-.37 E F0
2.979(.T)C .479(his \214le can be used to store functions)-2.979 F .703
(de\214nitions or v)183 266.4 R .704(ariables settings that you w)-.25 F
.704(ant to be e)-.1 F -.15(xe)-.15 G .704(cuted at each interpreter in)
.15 F -.2(vo)-.4 G(ca-).2 E(tion.)183 213.6 Q F1(SEE ALSO)72 242.4 Q F0
(wish\(1\))108 254.4 Q 208.58(STk 4.0)72 768 R(3)222.75 E EP
.15 F -.2(vo)-.4 G(ca-).2 E(tion.)183 278.4 Q F2(SEE ALSO)72 307.2 Q F0
(wish\(1\))108 319.2 Q 208.58(STk 4.0)72 768 R(3)222.75 E EP
%%Trailer
end
%%EOF

@ -3,7 +3,7 @@
%
% Author: Erick Gallesio [eg@unice.fr]
% Creation date: ??-Nov-1993 ??:??
% Last file update: 8-Jul-1996 21:52
% Last file update: 20-Apr-1998 11:54
%
\newcommand{\schglob}[1]{*#1*}
@ -16,7 +16,8 @@ implementation and the language described in {\rrrr}.
{\stk} symbol syntax has been augmented to allow case significant symbols.
This extension is discussed in \ref{symbolsection}.
The following symbols are defined in the global environment.
\smallskip {\stk} also defines some symbols in the global environment
which are described below:
\begin{itemize}
@ -34,7 +35,7 @@ The following symbols are defined in the global environment.
each loaded file is printed before its effective reading. File names
are printed on the standard error stream.
\item {\tt\schglob{load-path}}\schindex{\schglob{load-path}} must
\item {\tt\schglob{load-path}}\schindex{\schglob{load-path}} must
contain a list of strings. Each string is taken as a directory
path name in which a file will be searched for loading. This
variable can be set automatically from the {\tt STK\_LOAD\_PATH}
@ -47,13 +48,7 @@ The following symbols are defined in the global environment.
file does not exist, the system will sequentially try to find the file by
appending each suffix of this list. A typical value for this
variable may be {\tt ("stk" "stklos" "scm" "so")}.
\item {\tt\schglob{help-path}}\schindex{help,
getting}\schindex{\schglob{help-path}} must contain a list of
strings. Each string is taken as a directory path name in which
documentation files are searched. This variable can be set
automatically from the {\tt STK\_HELP\_PATH} shell variable. See
{\tt stk(1)} for more details.
\item {\tt\schglob{argc}}\schindex{\schglob{argc}} contains the
number of arguments (0 if none), not including interpreter
@ -70,14 +65,77 @@ The following symbols are defined in the global environment.
See {\tt stk(1)} for more details.
\item {\tt\schglob{print-banner}}\schindex{\schglob{print-banner}}. If
{\tt\schglob{print-verbose}} is {\schfalse}, the usual copyright
{\tt\schglob{print-banner}} is {\schfalse}, the usual copyright
message is not displayed when the interpreter is started.
\item {\tt\schglob{stk-library}}\schindex{\schglob{stk-library}}
contains the path name of the installation directory of the
{\stk} library. This variable can be set automatically from the
{\tt STK\_LIBRARY} shell variable. See {\tt stk(1)} for more
details.
\end{itemize}
The following symbols are defined only when Tk is loaded:
\begin{itemize}
\item {\tt\schglob{root}}\schindex{\schglob{root}} designates the Tk main
window (see~A-\ref{root window}). This variable is not set if
the Tk toolkit is not initialized.
\item {\tt\schglob{help-path}}\schindex{help,
getting}\schindex{\schglob{help-path}} must contain a list of
strings. Each string is taken as a directory path name in which
documentation files are searched. This variable can be set
automatically from the {\tt STK\_HELP\_PATH} shell variable. See
{\tt stk(1)} for more details.
\item {\tt\schglob{image-path}}\schindex{\schglob{image-path}} must contain
a list of strings. Each string is taken as a directory path name in which
images are searched by the function \texttt{make-image}. This variable can be
set automatically from the {\tt STK\_IMAGE\_PATH} shell variable. See
{\tt stk(1)} and {\tt make-image(n)} for more details.
\item {\tt\schglob{root}}\schindex{\schglob{root}} designates the Tk main
window (see~A-\ref{root window}). This variable is not set if
the Tk toolkit is not initialized.
\item {\tt\schglob{start-withdrawn}}\schindex{\schglob{start-withdrawn}}. If
\schglob{start-withdrawn} is not false, the \schglob{root} window
is not mapped on screen until its first sub-window is packed or some
action is asked to the window manager for it.
\item {\tt\schglob{tk-version}}\schindex{\schglob{tk-version}} is a string
which contains the version number of the Tk toolkit used by {\stk}.
\item {\tt\schglob{tk-patch-level}}\schindex{\schglob{tk-patch-level}} is
a string which contains the version and patch level of the Tk toolkit
used by {\stk}.
\end{itemize}
Furthermore, {\stk} also defines the following procedures in the global
environment:
\begin{itemize}
\item \ide{report-error}. This procedure is called by the error system to
display the message error. This procedure is described in
{\tt report-error(n)}
\item \ide{repl-display-prompt}. \label{repl-display-prompt}
This procedure is called when the system
is run interactively before reading a \emph{sexpr} to evaluate to display
a prompt. This procedure is described in {\tt repl-display-prompt(n)}.
\item \ide{repl-display-result}. This procedure is called when the system
is run interactively after the evaluation of a \emph{sexpr} to write the
result. This procedure is described in {\tt repl-display-result(n)}.
\end{itemize}
\section{Types}
{\stk} implements all the types defined as mandatory in {\rrrr}. However, complex

@ -3,7 +3,7 @@
%
% Author: Erick Gallesio [eg@unice.fr]
% Creation date: 22-May-1994 22:13
% Last file update: 21-Jan-1996 17:35
% Last file update: 22-Apr-1998 11:04
%
\section{Introduction}
@ -388,8 +388,8 @@ So:
These rules are used to compute a linear order for a class and all its
superclasses, from most specific to least specific. This order is called the
``class precedence list'' of the class. Given those two rules, we can claim
that the initial form for the {\tt x} slot of previous example is 2 since the
``class precedence list'' of the class. Given these two rules, we can claim
that the initial form for the {\tt x} slot of previous example is 1 since the
class {\tt X} is placed before {\tt Y} in class precedence list of {\tt Z}.
This two rules are not always enough to determine a unique order, however, but
@ -517,7 +517,7 @@ the list of applicable methods. This is done by using the special form
\begin{scheme}
(define-method Test((a <integer>)) (cons 'integer (next-method)))
(define-method Test((a <number>)) (cons 'number (next-method)))
(define-method Test(a) (list 'top))
(define-method Test(a) (list 'top))
\end{scheme}
With those definitions,

@ -3,7 +3,7 @@
%
% Author: Erick Gallesio [eg@unice.fr]
% Creation date: 21-Dec-1997 20:09
% Last file update: 21-Dec-1997 21:56
% Last file update: 18-Apr-1998 13:36
%
\section*{Introduction}
@ -11,11 +11,63 @@
This appendix lists the main differences\footnote{ Only the
differences which affect the language or new ports are reported here.
In particular, internal changes, packages written in Scheme or
performance enhancement are not discussed here.}.among the various
performance enhancement are not discussed here.} among the various
recent versions of STk. Differences with older versions as well as
implementation changes are described in the CHANGES file located in
the main directory of the STk distribution.
\section*{Release 3.99.0}
\small{\emph{Release date: 04/10/98}}
Changes can be classified in three categories:
\begin{itemize}
\item About Scheme
\begin{itemize}
\item A module system has been added
\item Integration of the Bigloo \ide{match-case} and
\ide{match-lambda} primitives. Furthermore, the file \emph{bigloo.stk}
provides some compatibility between {\stk} and bigloo modules.
\item A simple Foreign Function Interface has been added.
\item integrates the {\rfive} \ide{values} and \ide{call-with-values}
\item multi-line comments have been added.
\item new file primitives: \texttt{remove-file}, \texttt{rename-file} and
\texttt{temporary-file-name}.
\item new list primitives: \texttt{append!}, \texttt{last-pair},
\texttt{remq}, \texttt{remv} and \texttt{remove}.
\item \texttt{load}, \texttt{try-load} and \texttt{autoload?} can nw
be called with a module as second parameter. If this second parameter is
present, the loading is done in the environment of the given module.
\end{itemize}
\item About Tk
\begin{itemize}
\item Integration of the Tk8.0 toolkit
\item Buttons, Checkbuttons and Radiobuttons can use a
\texttt{:variable} and \texttt{:textvariable} in a given
environment. This environment is given with the new \texttt{:environment}
option.
\end{itemize}
\item About STklos
\begin{itemize}
\item The MOP of {\stklos} is now very similar to the CLOS's MOP. In
particular generic function has been added for controlling slot
accesses, as well as numerous introspection functions.
\item When a class is redefined, the instances and methods which uses it
are redefined accordingly, as in CLOS (i.e. if anew slot is added in a
class, all its -- direct or indirect -- instances will have the new
slot added dynamically.
\end{itemize}
\end{itemize}
\section*{Release 3.1.1}
\small{\emph{Release date: 09/26/96}}

@ -3,7 +3,7 @@
%
% Author: Erick Gallesio [eg@unice.fr]
% Creation date: ??-Nov-1993 ??:??
% Last file update: 16-Dec-1997 19:09
% Last file update: 18-Apr-1998 14:47
%
\section*{Introduction}
@ -55,7 +55,7 @@ There are three types of comments in {\stk}:
\begin{enumerate}
\item a semicolon (;) indicates the start of a comment.
This kind of comment extends to the end of the line (as described in \rrrr).
\item multi-lines comment use the classical lisp conventions: a comment
\item multi-lines comment use the classical Lisp convention: a comment
begins with \verb+#|+ and ends with \verb+|#+.
\item comments can also be introduced by \sharpsign$!$. This
extension is particularly useful for building {\stk} scripts. On most
@ -88,14 +88,13 @@ This kind of comment extends to the end of the line (as described in \rrrr).
\item[\tt\sharpsign.<expr>] is read as the evaluation of the Scheme
expression {\tt <expr>}. The evaluation is done during the
\ide{read} process, when the \var{\sharpsign.} is encountered.
Evaluation is done in the global environment.
Evaluation is done in the environment of the current module.
\begin{scheme}
(define foo 1)
\sharpsign.foo \lev 1
'(foo \sharpsign.foo \sharpsign.(+ foo foo)) \lev (foo 1 2)
(let ((foo 2))
\sharpsign.foo) \lev 1
\end{scheme}
\end{description}
@ -353,7 +352,30 @@ keywords into account. On keywords, \ide{eq?} behaves like \ide{eqv?}.
\proto{list?}{ obj}{procedure}
\proto{list}{ \var{obj} \dotsfoo}{procedure}
\proto{length}{ list}{procedure}
\proto{append}{ list \dotsfoo}{procedure}
\proto{append}{ list \dotsfoo}{procedure}}
\saut
\doc
\end{entry}
\begin{entry}{%
\proto{append!}{ list \ldots}{procedure}}
\saut
Returns a list consisting of the elements of the first \var{list}
followed by the elements of the other lists, as with \texttt{append}.
The differenece with \texttt{append} is that the arguments are {\em
changed} rather than {\em copied}.
\begin{scheme}
(append! '(1 2) '(3 4) '(5 6)) \lev '(1 2 3 4 5 6)
(let ((l1 '(1 2))
(l2 '(3 4))
(l3 '(5 6)))
(append! l1 l2 l3)
(list l1 l2 l3)) \lev ((1 2 3 4 5 6) (3 4 5 6) (5 6))
\end{scheme}
\end{entry}
\begin{entry}{%
\proto{reverse}{ list}{procedure}
\proto{list-tail}{ list \vr{k}}{procedure}
\proto{list-ref}{ list \vr{k}}{procedure}
@ -387,6 +409,17 @@ have been deleted. The predicate used to test the presence of \var{obj} in
\end{scheme}
\end{entry}
\begin{entry}{%
\proto{last-pair}{ list}{procedure}}
\saut
Returns the last pair of \var{list}\footnote{\ide{Last-pair} was a standard
procedure in {\rthree}.}.
\begin{scheme}
(last-pair '(1 2 3)) \lev 3
(last-pair '(1 2 . 3)) \lev (2 . 3)
\end{scheme}
\end{entry}
\begin{entry}{%
\proto{list*}{ obj}{procedure}}
\saut
@ -1275,15 +1308,11 @@ undefined. Otherwise, it returns the handler currently associated to
\begin{entry}{%
\proto{load}{ filename}{procedure}
\proto{load}{ filename environment}{procedure}}
\proto{load}{ filename module}{procedure}}
\saut
The first form is identical to \rrrr{}. The second one loads the
content of \var{filename} in the given \var{environment}. So, the first
form is equivalent to
\begin{scheme}
(load filename (global-environment))
\end{scheme}
content of \var{filename} in the given \var{module} environment.
\begin{note}
The \var{load} primitive has been extended to allow loading of
object files, though this is not implemented on all systems.
@ -1296,13 +1325,13 @@ form is equivalent to
\begin{entry}{%
\proto{try-load}{ filename}{procedure}
\proto{try-load}{ filename environment}{procedure}}
\proto{try-load}{ filename module}{procedure}}
\saut
Tries to load the file named \var{filename}. If \var{filename} exists and is
readable, it is loaded, and \ide{try-load} returns {\schtrue}.
Otherwise, the result of the call is {\schfalse}.
The second form of \var{try-load} tries to load the content of \var{filename}
in the given \var{environment}.
in the given \var{module} environment.
\end{entry}
\begin{entry}{%
@ -1310,16 +1339,17 @@ in the given \var{environment}.
\saut
Defines \hyper{symbol}s as autoload symbols associated to file
\var{filename}.
Fisrt evaluation of an autoload symbol will cause the loading of its
associated file. \var{Filename} must provide a definition for the symbol which
First evaluation of an autoload symbol will cause the loading of its
associated file in the module environment in which the autoload was done.
\var{Filename} must provide a definition for the symbol which
lead to its loading, otherwise an error is signaled.
\end{entry}
\begin{entry}{%
\proto{autoload?}{ symbol}{procedure}}
\proto{autoload?}{ symbol module}{procedure}}
\saut
Returns {\schtrue} if \var{symbol} is an autoload symbol; returns {\schfalse}
otherwise.
Returns {\schtrue} if \var{symbol} is an autoload symbol in \var{module}
environment ; returns {\schfalse} otherwise.
\end{entry}
\begin{entry}{%

@ -3,7 +3,7 @@
%
% Author: Erick Gallesio [eg@unice.fr]
% Creation date: ??-Nov-1993 ??:??
% Last file update: 6-Apr-1998 11:25
% Last file update: 20-Apr-1998 11:58
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@ -342,11 +342,11 @@ they are automatically exported.
\end{entry}
\begin{entry}{%
\proto{with-module}{ module \hyperi{expr} \hyperii{expr} \ldots} {syntax}}
\proto{with-module}{ name \hyperi{expr} \hyperii{expr} \ldots} {syntax}}
\saut
Evaluates the expressions of \hyperi{expr} \hyperii{expr} \ldots in
the \var{module} environment. \var{Module} must have been created
the environment of module \var{name}. Module \var{name} must have been created
previously by a \ide{define-module}. The result of \ide{with-module}
is the result of the evaluation of the last \hyper{expr}.
@ -376,6 +376,34 @@ Returns the current-module.
\end{scheme}
\end{entry}
\begin{entry}{%
\proto{select-module}{ name} {syntax}}
\saut
Evaluates the expressions which follows in module \var{name}
environment. Module \var{name} must have been created previously by a
\ide{define-module}. The result of \ide{select-module} is undefined.
\ide{Select-module} is particularly useful when debugging since it
allows to place toplevel evaluation in a particular module. The
following transcript shows an usage of
\ide{select-module}\footnote{This transcript uses the default value for the
function \texttt{repl-display-prompt} (see page \pageref{repl-display-prompt})
which displays the name of the current module in the prompt.}: