<tr><tdvalign="top"align="left">1.1</td><tdcolspan="4"width="100%"><ahref="stklos-ref-1.html#-section-4874">Overview of <spanstyle="font-variant: small-caps">STklos</span></td></tr>
<tr><tdvalign="top"align="left">1.1</td><tdcolspan="4"width="100%"><ahref="stklos-ref-1.html#-section-5038">Overview of <spanstyle="font-variant: small-caps">STklos</span></td></tr>
<h3><fontcolor="darkolivegreen">1.1 Overview of <spanstyle="font-variant: small-caps">STklos</span></font></h3>
<aname="--index-entry-4830"></a><aname="--index-entry-4835"></a><p><spanstyle="font-variant: small-caps">STklos</span> is the successor of <spanstyle="font-variant: small-caps">STk</span>
<aname="--index-entry-4994"></a><aname="--index-entry-4999"></a><p><spanstyle="font-variant: small-caps">STklos</span> is the successor of <spanstyle="font-variant: small-caps">STk</span>
[<ahref="stklos-ref-16.html#Gallesio95-1a">6</a>], a Scheme interpreter which was tightly
connected to the Tk graphical toolkit [<ahref="stklos-ref-16.html#Ouster-Tk">11</a>].
<spanstyle="font-variant: small-caps">STk</span> had an object layer which was called <spanstyle="font-variant: small-caps">STklos</span>. At this
...
...
@@ -54,7 +54,7 @@ extension. For instance, when programming a GUI application,
a user could access the widgets at the (low) Tk level, or access
them using a neat hierarchy of classes wrapped in <spanstyle="font-variant: small-caps">STklos</span>.</p><p> Since the object layer is now more closely integrated with
the language, the new system has been renamed <spanstyle="font-variant: small-caps">STklos</span> and
<spanstyle="font-variant: small-caps">STk</span> is now used to designate the old system. </p><aname="--index-entry-4858"></a><p><strong>Compatibility with <spanstyle="font-variant: small-caps">STk</span></strong>: <spanstyle="font-variant: small-caps">STklos</span> has been
<spanstyle="font-variant: small-caps">STk</span> is now used to designate the old system. </p><aname="--index-entry-5022"></a><p><strong>Compatibility with <spanstyle="font-variant: small-caps">STk</span></strong>: <spanstyle="font-variant: small-caps">STklos</span> has been
completely rewritten and as a consequence, due to new
implementation choices, old <spanstyle="font-variant: small-caps">STk</span> programs are not fully
compatible with the new system. However, these changes are very
...
...
@@ -68,13 +68,13 @@ identical in every points, share the same philosophy.</p><a name="-Lexical-Conve
<aname="--index-entry-4895"></a><aname="--index-entry-4899"></a><aname="--index-entry-4903"></a><aname="--index-entry-4907"></a><aname="--index-entry-4911"></a><p>There are four types of comments in <spanstyle="font-variant: small-caps">STklos</span>:</p><ul><li>a semicolon "<code>;</code>" indicates the start of a
<aname="--index-entry-5059"></a><aname="--index-entry-5063"></a><aname="--index-entry-5067"></a><aname="--index-entry-5071"></a><aname="--index-entry-5075"></a><p>There are four types of comments in <spanstyle="font-variant: small-caps">STklos</span>:</p><ul><li>a semicolon "<code>;</code>" indicates the start of a
comment. This kind of comment extends to the end of the line (as
described in <spanstyle="font-variant: small-caps">R<sup>5</sup>RS</span>).</li>
<li> multi-lines comment use the classical Lisp convention:
...
...
@@ -103,7 +103,7 @@ accepts keywords and optional arguments, to be compatible with
<code><strong><fontcolor="IndianRed">(real-precision value)</font></strong></code><br/><br/>This parameter object permits to change the default precision used
<code><strong><fontcolor="IndianRed">(read-case-sensitive value)</font></strong></code><br/><br/>This parameter object permits to change the default behaviour of
...
...
@@ -77,7 +77,7 @@ with the <code>--case-sensitive</code> option.
<strong>Note:</strong> See also syntax for <ahref="stklos-ref-4.html#bar-in-symbol">special characters</a> in symbols.
<code><strong><fontcolor="IndianRed">(write-pretty-quotes value)</font></strong></code><br/><br/>This parameter object permits to change the default behaviour of
...
...
@@ -96,7 +96,7 @@ By default, this parameter value is set to <code>#t</code>.
<code><strong><fontcolor="IndianRed">(load-verbose value)</font></strong></code><br/><br/><code>load-verbose</code> is a parameter object. It permits to display the
path name of the files whch are loaded by <code>load</code> or <code>try-load</code> on
path name of the files which are loaded by <code>load</code> or <code>try-load</code> on
the current error port, when set to a true value. If <code>load-verbose</code>
is set to <code>#f</code>, no message is printed.</td></tr>
<code><strong><fontcolor="IndianRed">(thread-handler-error-show value)</font></strong></code><br/><br/>When an untrapped error occurs in a thread, it produces an
<ahref="stklos-ref-9.html#make-thread">uncaught exception</a> which can finally be
trapped when the thread is <ahref="stklos-ref-9.html#thread-join-">joined</a>.
Setting the <code>thread-handler-error-show</code> parameter permits to see
error message as soon as possible, even without joining the thread.
This makes debugging easier. By default, this parameter is set to
defined to allow an easy access to functions written in C without
needing to build C-wrappers and, consequently, without any need to
write C code. Note that the FFI is very machine dependent and that it
works only on a limited set of architectures/systems <ahref="#fn--footnote-41324"><sup><small>1</small></sup></a>. Moreover,
works only on a limited set of architectures/systems <ahref="#fn--footnote-41565"><sup><small>1</small></sup></a>. Moreover,
since FFI allows very low level access, it is easy to crash the
<spanstyle="font-variant: small-caps">STklos</span> VM when using an external C function.</p><p><strong>Note that the support for FFI is still minimal and that it will
evolve in future versions.</strong></p><p>The definition of an external function is done with the
...
...
@@ -72,7 +72,7 @@ between the C and the Scheme worlds.</p><br id="FFI-types"><a name="FFI-types"><