Commit 3d61a426 authored by Erick's avatar Erick

Updated documentation for version 1.20

parent ba9098e0
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
scriptversion=2016-01-11.22; # UTC
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
nl='
'
# We need space, tab and new line, in precisely that order. Quoting is
# there to prevent tools from complaining about whitespace usage.
IFS=" "" $nl"
file_conv=
# func_file_conv build_file lazy
# Convert a $build file to $host form and store it in $file
# Currently only supports Windows hosts. If the determined conversion
# type is listed in (the comma separated) LAZY, no conversion will
# take place.
func_file_conv ()
{
file=$1
case $file in
/ | /[!/]*) # absolute file, and not a UNC file
if test -z "$file_conv"; then
# lazily determine how to convert abs files
case `uname -s` in
MINGW*)
file_conv=mingw
;;
CYGWIN*)
file_conv=cygwin
;;
*)
file_conv=wine
;;
esac
fi
case $file_conv/,$2, in
*,$file_conv,*)
;;
mingw/*)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
cygwin/*)
file=`cygpath -m "$file" || echo "$file"`
;;
wine/*)
file=`winepath -w "$file" || echo "$file"`
;;
esac
;;
esac
}
# func_cl_dashL linkdir
# Make cl look for libraries in LINKDIR
func_cl_dashL ()
{
func_file_conv "$1"
if test -z "$lib_path"; then
lib_path=$file
else
lib_path="$lib_path;$file"
fi
linker_opts="$linker_opts -LIBPATH:$file"
}
# func_cl_dashl library
# Do a library search-path lookup for cl
func_cl_dashl ()
{
lib=$1
found=no
save_IFS=$IFS
IFS=';'
for dir in $lib_path $LIB
do
IFS=$save_IFS
if $shared && test -f "$dir/$lib.dll.lib"; then
found=yes
lib=$dir/$lib.dll.lib
break
fi
if test -f "$dir/$lib.lib"; then
found=yes
lib=$dir/$lib.lib
break
fi
if test -f "$dir/lib$lib.a"; then
found=yes
lib=$dir/lib$lib.a
break
fi
done
IFS=$save_IFS
if test "$found" != yes; then
lib=$lib.lib
fi
}
# func_cl_wrapper cl arg...
# Adjust compile command to suit cl
func_cl_wrapper ()
{
# Assume a capable shell
lib_path=
shared=:
linker_opts=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
eat=1
case $2 in
*.o | *.[oO][bB][jJ])
func_file_conv "$2"
set x "$@" -Fo"$file"
shift
;;
*)
func_file_conv "$2"
set x "$@" -Fe"$file"
shift
;;
esac
;;
-I)
eat=1
func_file_conv "$2" mingw
set x "$@" -I"$file"
shift
;;
-I*)
func_file_conv "${1#-I}" mingw
set x "$@" -I"$file"
shift
;;
-l)
eat=1
func_cl_dashl "$2"
set x "$@" "$lib"
shift
;;
-l*)
func_cl_dashl "${1#-l}"
set x "$@" "$lib"
shift
;;
-L)
eat=1
func_cl_dashL "$2"
;;
-L*)
func_cl_dashL "${1#-L}"
;;
-static)
shared=false
;;
-Wl,*)
arg=${1#-Wl,}
save_ifs="$IFS"; IFS=','
for flag in $arg; do
IFS="$save_ifs"
linker_opts="$linker_opts $flag"
done
IFS="$save_ifs"
;;
-Xlinker)
eat=1
linker_opts="$linker_opts $2"
;;
-*)
set x "$@" "$1"
shift
;;
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
func_file_conv "$1"
set x "$@" -Tp"$file"
shift
;;
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
func_file_conv "$1" mingw
set x "$@" "$file"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -n "$linker_opts"; then
linker_opts="-link$linker_opts"
fi
exec "$@" $linker_opts
exit 1
}
eat=
case $1 in
'')
echo "$0: No command. Try '$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: compile [--help] [--version] PROGRAM [ARGS]
Wrapper for compilers which do not understand '-c -o'.
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
arguments, and rename the output as expected.
If you are trying to build a whole package this is not the
right script to run: please start by reading the file 'INSTALL'.
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "compile $scriptversion"
exit $?
;;
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
func_cl_wrapper "$@" # Doesn't return...
;;
esac
ofile=
cfile=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
# So we strip '-o arg' only if arg is an object.
eat=1
case $2 in
*.o | *.obj)
ofile=$2
;;
*)
set x "$@" -o "$2"
shift
;;
esac
;;
*.c)
cfile=$1
set x "$@" "$1"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -z "$ofile" || test -z "$cfile"; then
# If no '-o' option was seen then we might have been invoked from a
# pattern rule where we don't need one. That is ok -- this is a
# normal compilation that the losing compiler can handle. If no
# '.c' file was seen then we are probably linking. That is also
# ok.
exec "$@"
fi
# Name of file we expect compiler to create.
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
# Create the lock directory.
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build.
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
while true; do
if mkdir "$lockdir" >/dev/null 2>&1; then
break
fi
sleep 1
done
# FIXME: race condition here if user kills between mkdir and trap.
trap "rmdir '$lockdir'; exit 1" 1 2 15
# Run the compile.
"$@"
ret=$?
if test -f "$cofile"; then
test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
elif test -f "${cofile}bj"; then
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
fi
rmdir "$lockdir"
exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
......@@ -15,10 +15,10 @@
<td align="left" valign="top" width="20%" bgcolor="#8A8983">
<br /><table width="97%" border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse;" frame="box" rules="none"><tbody>
<tr><th align="center" colspan="2" bgcolor="#ACE919"><font color="darkolivegreen">Contents</font></th></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-44516">*Top*</a></td></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-44527">*Top*</a></td></tr>
<tr class="navsel"><td width="8%" align="left" valign="top">1&nbsp;</td><td align="left"><a href="stklos-ref-1.html#Introduction">Introduction</a><br /><table cellspacing="1" cellpadding="1" width="100%">
<tbody>
<tr><td valign="top" align="left">1.1</td><td colspan="4" width="100%"><a href="stklos-ref-1.html#-section-5059">Overview of <span style="font-variant: small-caps">STklos</span></td></tr>
<tr><td valign="top" align="left">1.1</td><td colspan="4" width="100%"><a href="stklos-ref-1.html#-section-5069">Overview of <span style="font-variant: small-caps">STklos</span></td></tr>
<tr><td valign="top" align="left">1.2</td><td colspan="4" width="100%"><a href="stklos-ref-1.html#-Lexical-Conventions"> Lexical Conventions</td></tr>
<tr><td valign="top" align="left">1.3</td><td colspan="4" width="100%"><a href="stklos-ref-1.html#Basic-Concepts">Basic Concepts</td></tr>
</tbody>
......@@ -42,9 +42,9 @@
</tbody></table>
</td>
<td align="left" valign="top">
<a name="-section-5059"></a>
<a name="-section-5069"></a>
<h3><font color="darkolivegreen">1.1 Overview of <span style="font-variant: small-caps">STklos</span></font></h3>
<a name="--index-entry-5015"></a><a name="--index-entry-5020"></a><p> <span style="font-variant: small-caps">STklos</span> is the successor of <span style="font-variant: small-caps">STk</span>
<a name="--index-entry-5025"></a><a name="--index-entry-5030"></a><p> <span style="font-variant: small-caps">STklos</span> is the successor of <span style="font-variant: small-caps">STk</span>
[<a href="stklos-ref-16.html#Gallesio95-1a">6</a>], a Scheme interpreter which was tightly
connected to the Tk graphical toolkit [<a href="stklos-ref-16.html#Ouster-Tk">11</a>].
<span style="font-variant: small-caps">STk</span> had an object layer which was called <span style="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 <span style="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 <span style="font-variant: small-caps">STklos</span> and
<span style="font-variant: small-caps">STk</span> is now used to designate the old system. </p><a name="--index-entry-5043"></a><p> <strong>Compatibility with <span style="font-variant: small-caps">STk</span></strong>: <span style="font-variant: small-caps">STklos</span> has been
<span style="font-variant: small-caps">STk</span> is now used to designate the old system. </p><a name="--index-entry-5053"></a><p> <strong>Compatibility with <span style="font-variant: small-caps">STk</span></strong>: <span style="font-variant: small-caps">STklos</span> has been
completely rewritten and as a consequence, due to new
implementation choices, old <span style="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
<h3 id="-Lexical-Conventions"><font color="darkolivegreen">1.2 Lexical Conventions</font></h3>
<a name="Identifiers"></a>
<h4 id="Identifiers"><font color="darkolivegreen">1.2.1 Identifiers</font></h4>
<a name="--index-entry-5062"></a><p>In <span style="font-variant: small-caps">STklos</span>, identifiers which start (or end) with a colon
<a name="--index-entry-5072"></a><p>In <span style="font-variant: small-caps">STklos</span>, identifiers which start (or end) with a colon
"<code>:</code>" are considered as keywords. For instance
<code>:foo</code> and <code>bar:</code> are <span style="font-variant: small-caps">STklos</span> keywords, but
<code>not:key</code> is not a keyword. See
section&nbsp;<a href="stklos-ref-4.html#Keywords">Keywords</a> for more information</p><a name="Comments"></a>
<h4 id="Comments"><font color="darkolivegreen">1.2.2 Comments</font></h4>
<a name="--index-entry-5080"></a><a name="--index-entry-5084"></a><a name="--index-entry-5088"></a><a name="--index-entry-5092"></a><a name="--index-entry-5096"></a><p>There are four types of comments in <span style="font-variant: small-caps">STklos</span>:</p><ul><li>a semicolon "<code>;</code>" indicates the start of a
<a name="--index-entry-5090"></a><a name="--index-entry-5094"></a><a name="--index-entry-5098"></a><a name="--index-entry-5102"></a><a name="--index-entry-5106"></a><p>There are four types of comments in <span style="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 <span style="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
DSSSL lambdas [<a href="stklos-ref-16.html#dsssl-96">10</a>].</p></li>
</ul><a name="Here-Strings"></a>
<h4 id="Here-Strings"><font color="darkolivegreen">1.2.3 Here Strings</font></h4>
<a name="--index-entry-5151"></a><a name="--index-entry-5155"></a><p>Here strings permit to easily enter multilines strings in programs.
<a name="--index-entry-5161"></a><a name="--index-entry-5165"></a><p>Here strings permit to easily enter multilines strings in programs.
The sequence of characters <em>#&lt;&lt;</em> starts a here string. The characters
following this sequence #&lt;&lt; until a newline character define a terminator for
the here string. The content of the string includes all characters between
......@@ -149,6 +149,6 @@ can also be represented in this way:
See the original <span style="font-variant: small-caps">R<sup>5</sup>RS</span> document for more informations on
the basic concepts of the Scheme Programming Language.<p></p></td>
</tr></table><small><hr>This <span style="font-variant: small-caps">Html</span> page has been produced by
<a href="http://www.stklos.net/~eg/Publis/JFP05/article.html">Skribe</a>.<br />Last update <em>Sat Dec 31 15:49:29 2011</em></small>
<a href="http://www.stklos.net/~eg/Publis/JFP05/article.html">Skribe</a>.<br />Last update <em>Fri Apr 20 15:48:42 2018</em></small>
</body>
</html>
......@@ -15,7 +15,7 @@
<td align="left" valign="top" width="20%" bgcolor="#8A8983">
<br /><table width="97%" border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse;" frame="box" rules="none"><tbody>
<tr><th align="center" colspan="2" bgcolor="#ACE919"><font color="darkolivegreen">Contents</font></th></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-44516">*Top*</a></td></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-44527">*Top*</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">1&nbsp;</td><td align="left"><a href="stklos-ref-1.html#Introduction">Introduction</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">2&nbsp;</td><td align="left"><a href="stklos-ref-2.html#Expressions">Expressions</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">3&nbsp;</td><td align="left"><a href="stklos-ref-3.html#Program-structure">Program structure</a></td></tr>
......@@ -38,7 +38,7 @@
<p><span style="font-variant: small-caps">STklos</span> environement can be customized using
<a href="stklos-ref-4.html#Parameter-Objects">parameters objects</a>. These
parmaters are listed below.</p><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="real-precision"></a><a name="--index-entry-41766"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="real-precision"></a><a name="--index-entry-41777"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(real-precision)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">STklos</span> procedure</i></font></td></tr>
</tbody></table>
<code><strong><font color="IndianRed">(real-precision value)</font></strong></code><br /><br />This parameter object permits to change the default precision used
......@@ -53,7 +53,7 @@ to print real numbers.
</tbody></table></blockquote>
</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="read-case-sensitive"></a><a name="--index-entry-41817"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="read-case-sensitive"></a><a name="--index-entry-41828"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(read-case-sensitive)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">STklos</span> procedure</i></font></td></tr>
</tbody></table>
<code><strong><font color="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 <a href="stklos-ref-4.html#bar-in-symbol">special characters</a> in symbols.
</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="write-pretty-quotes"></a><a name="--index-entry-41913"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="write-pretty-quotes"></a><a name="--index-entry-41924"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(write-pretty-quotes)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">STklos</span> procedure</i></font></td></tr>
</tbody></table>
<code><strong><font color="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>.
</tbody></table></blockquote>
</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="load-path"></a><a name="--index-entry-41971"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="load-path"></a><a name="--index-entry-41982"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(load-path)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">STklos</span> procedure</i></font></td></tr>
</tbody></table>
<code><strong><font color="IndianRed">(load-path value)</font></strong></code><br /><br /><code>load-path</code> is a parameter object. It
......@@ -113,7 +113,7 @@ setting the <code>STKLOS_LOAD_PATH</code> shell variable.
Giving a <code>value</code> to the parameter <code>load-path</code> permits to change the
current list of paths.</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="load-suffixes"></a><a name="--index-entry-42036"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="load-suffixes"></a><a name="--index-entry-42047"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(load-suffixes)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">STklos</span> procedure</i></font></td></tr>
</tbody></table>
<code><strong><font color="IndianRed">(load-suffixes value)</font></strong></code><br /><br /><code>load-suffixes</code> is a parameter object. It
......@@ -122,7 +122,7 @@ must be a string. Suffixes are appended (in their apparition order)
to a file name is appended to a file name given to <code>load</code> or <code>try-load</code>
until the file can be loaded.</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="load-verbose"></a><a name="--index-entry-42074"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="load-verbose"></a><a name="--index-entry-42085"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(load-verbose)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">STklos</span> procedure</i></font></td></tr>
</tbody></table>
<code><strong><font color="IndianRed">(load-verbose value)</font></strong></code><br /><br /><code>load-verbose</code> is a parameter object. It permits to display the
......@@ -130,7 +130,7 @@ path name of the files which are loaded by <code>load</code> or <code>try-load</
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>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="thread-handler-error-show"></a><a name="--index-entry-42122"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="thread-handler-error-show"></a><a name="--index-entry-42133"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(thread-handler-error-show)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">STklos</span> procedure</i></font></td></tr>
</tbody></table>
<code><strong><font color="IndianRed">(thread-handler-error-show value)</font></strong></code><br /><br />When an untrapped error occurs in a thread, it produces an
......@@ -141,7 +141,7 @@ error message as soon as possible, even without joining the thread.
This makes debugging easier. By default, this parameter is set to
<code>#t</code>.</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="stklos-debug-level"></a><a name="--index-entry-42163"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="stklos-debug-level"></a><a name="--index-entry-42174"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(stklos-debug-level)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">STklos</span> procedure</i></font></td></tr>
</tbody></table>
<br /><code>stklos-debug-level</code> is a parameter objet. It permits to know the current
......@@ -150,6 +150,6 @@ Note that the debugging level can also be set by the <code>--debug</code> option
<code>stklos(1)</code> command.</td></tr>
</tbody></table></td>
</tr></table><small><hr>This <span style="font-variant: small-caps">Html</span> page has been produced by
<a href="http://www.stklos.net/~eg/Publis/JFP05/article.html">Skribe</a>.<br />Last update <em>Sat Dec 31 15:49:34 2011</em></small>
<a href="http://www.stklos.net/~eg/Publis/JFP05/article.html">Skribe</a>.<br />Last update <em>Fri Apr 20 15:48:44 2018</em></small>
</body>
</html>
......@@ -15,7 +15,7 @@
<td align="left" valign="top" width="20%" bgcolor="#8A8983">
<br /><table width="97%" border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse;" frame="box" rules="none"><tbody>
<tr><th align="center" colspan="2" bgcolor="#ACE919"><font color="darkolivegreen">Contents</font></th></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-44516">*Top*</a></td></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-44527">*Top*</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">1&nbsp;</td><td align="left"><a href="stklos-ref-1.html#Introduction">Introduction</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">2&nbsp;</td><td align="left"><a href="stklos-ref-2.html#Expressions">Expressions</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">3&nbsp;</td><td align="left"><a href="stklos-ref-3.html#Program-structure">Program structure</a></td></tr>
......@@ -28,7 +28,7 @@
<tr class="navnorm"><td width="8%" align="left" valign="top">10&nbsp;</td><td align="left"><a href="stklos-ref-10.html#Customizations">Customizations</a></td></tr>
<tr class="navsel"><td width="8%" align="left" valign="top">11&nbsp;</td><td align="left"><a href="stklos-ref-11.html#The-ScmPkg-Package-System">The ScmPkg Package System</a><br /><table cellspacing="1" cellpadding="1" width="100%">
<tbody>
<tr><td valign="top" align="left">11.1</td><td colspan="4" width="100%"><a href="stklos-ref-11.html#-section-42393"><span style="font-variant: small-caps">ScmPkg</span> &quot;tutorial&quot;</td></tr>
<tr><td valign="top" align="left">11.1</td><td colspan="4" width="100%"><a href="stklos-ref-11.html#-section-42404"><span style="font-variant: small-caps">ScmPkg</span> &quot;tutorial&quot;</td></tr>
<tr><td valign="top" align="left">11.2</td><td colspan="4" width="100%"><a href="stklos-ref-11.html#stklos-pkg-options">stklos-pkg options</td></tr>
</tbody>
</table>
......@@ -41,11 +41,11 @@
</tbody></table>
</td>
<td align="left" valign="top">
<a name="--index-entry-42316"></a><p><span style="font-variant: small-caps">ScmPkg</span> is a package distribution system for Scheme. It is
<a name="--index-entry-42327"></a><p><span style="font-variant: small-caps">ScmPkg</span> is a package distribution system for Scheme. It is
currently supported by Bigloo and Stklos. This package system
provides new APIs to Scheme (e.g., network programming,
cryptography, encoding, ...) and it manages automatic package
installation, deinstallation and testing.</p><a name="-section-42393"></a>
installation, deinstallation and testing.</p><a name="-section-42404"></a>
<h3><font color="darkolivegreen">11.1 <span style="font-variant: small-caps">ScmPkg</span> &quot;tutorial&quot;</font></h3>
<p><tt>stklos-pkg</tt> is the command which gives access to
<span style="font-variant: small-caps">ScmPkg</span> in <span style="font-variant: small-caps">STklos</span>. This is the only command necessary to
......@@ -138,6 +138,6 @@ Misc
</tbody></table></blockquote>
</td>
</tr></table><small><hr>This <span style="font-variant: small-caps">Html</span> page has been produced by
<a href="http://www.stklos.net/~eg/Publis/JFP05/article.html">Skribe</a>.<br />Last update <em>Sat Dec 31 15:49:34 2011</em></small>
<a href="http://www.stklos.net/~eg/Publis/JFP05/article.html">Skribe</a>.<br />Last update <em>Fri Apr 20 15:48:44 2018</em></small>
</body>
</html>
......@@ -15,7 +15,7 @@
<td align="left" valign="top" width="20%" bgcolor="#8A8983">
<br /><table width="97%" border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse;" frame="box" rules="none"><tbody>
<tr><th align="center" colspan="2" bgcolor="#ACE919"><font color="darkolivegreen">Contents</font></th></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-44516">*Top*</a></td></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-44527">*Top*</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">1&nbsp;</td><td align="left"><a href="stklos-ref-1.html#Introduction">Introduction</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">2&nbsp;</td><td align="left"><a href="stklos-ref-2.html#Expressions">Expressions</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">3&nbsp;</td><td align="left"><a href="stklos-ref-3.html#Program-structure">Program structure</a></td></tr>
......@@ -39,7 +39,7 @@
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 <a href="#fn--footnote-42573"><sup><small>1</small></sup></a>. Moreover,
works only on a limited set of architectures/systems <a href="#fn--footnote-42584"><sup><small>1</small></sup></a>. Moreover,
since FFI allows very low level access, it is easy to crash the
<span style="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"><
<strong>Fig. 2:</strong> FFI types</center>
<br>
<br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="define-external"></a><a name="--index-entry-42662"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="define-external"></a><a name="--index-entry-42673"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(define-external name parameters option)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">STklos</span> syntax</i></font></td></tr>
</tbody></table>
<br />The form <code>define-external</code> binds a new procedure to <code>name</code>.
......@@ -153,12 +153,12 @@ Note that in this function the name of the parameter has been omitted
as within C prototypes.</li>
</ul><strong>TODO: describe malloc and malloc_atomic and their
interaction with the GC</strong><br><br><hr width='20%' size='2' align='left'>
<a name="fn--footnote-42573"><sup><small>1</small></sup></a>: FFI
<a name="fn--footnote-42584"><sup><small>1</small></sup></a>: FFI
system should works on the following architectures/systems:
gcc_ppc_osx, gcc_sparc_unix, gcc_x64_unix, gcc_x86_unix.
<br>
</td>
</tr></table><small><hr>This <span style="font-variant: small-caps">Html</span> page has been produced by
<a href="http://www.stklos.net/~eg/Publis/JFP05/article.html">Skribe</a>.<br />Last update <em>Sat Dec 31 15:49:35 2011</em></small>
<a href="http://www.stklos.net/~eg/Publis/JFP05/article.html">Skribe</a>.<br />Last update <em>Fri Apr 20 15:48:44 2018</em></small>
</body>
</html>
......@@ -15,7 +15,7 @@
<td align="left" valign="top" width="20%" bgcolor="#8A8983">
<br /><table width="97%" border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse;" frame="box" rules="none"><tbody>
<tr><th align="center" colspan="2" bgcolor="#ACE919"><font color="darkolivegreen">Contents</font></th></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-44516">*Top*</a></td></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-44527">*Top*</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">1&nbsp;</td><td align="left"><a href="stklos-ref-1.html#Introduction">Introduction</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">2&nbsp;</td><td align="left"><a href="stklos-ref-2.html#Expressions">Expressions</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">3&nbsp;</td><td align="left"><a href="stklos-ref-3.html#Program-structure">Program structure</a></td></tr>
......@@ -35,7 +35,7 @@
</tbody></table>
</td>
<td align="left" valign="top">
<a name="--index-entry-42913"></a><a name="--index-entry-42917"></a><p>Aubrey Jaffer maintains a package called
<a name="--index-entry-42924"></a><a name="--index-entry-42928"></a><p>Aubrey Jaffer maintains a package called
<em><a href="http://swiss.csail.mit.edu/~jaffer/SLIB">SLIB</a></em>
which is a portable Scheme library which provides compatibility
and utility functions for all standard Scheme implementations. To
......@@ -52,6 +52,6 @@ such as if their parameter is a string this is the old <span style="font-variant
procedure which is called, and if their parameter is a symbol,
this is the <em>SLIB</em> one which is called.</p></td>
</tr></table><small><hr>This <span style="font-variant: small-caps">Html</span> page has been produced by
<a href="http://www.stklos.net/~eg/Publis/JFP05/article.html">Skribe</a>.<br />Last update <em>Sat Dec 31 15:49:35 2011</em></small>
<a href="http://www.stklos.net/~eg/Publis/JFP05/article.html">Skribe</a>.<br />Last update <em>Fri Apr 20 15:48:44 2018</em></small>
</body>
</html>
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -15,7 +15,7 @@
<td align="left" valign="top" width="20%" bgcolor="#8A8983">
<br /><table width="97%" border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse;" frame="box" rules="none"><tbody>
<tr><th align="center" colspan="2" bgcolor="#ACE919"><font color="darkolivegreen">Contents</font></th></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-44516">*Top*</a></td></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-44527">*Top*</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">1&nbsp;</td><td align="left"><a href="stklos-ref-1.html#Introduction">Introduction</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">2&nbsp;</td><td align="left"><a href="stklos-ref-2.html#Expressions">Expressions</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">3&nbsp;</td><td align="left"><a href="stklos-ref-3.html#Program-structure">Program structure</a></td></tr>
......@@ -38,6 +38,6 @@
<table><tbody><tr><td valign="top" align="right">[1] </td><td valign="top" align="left"> -- <a title="http://www-sop.inria.fr/mimosa/fp/Bigloo/" href="http://www-sop.inria.fr/mimosa/fp/Bigloo/"><strong>Bigloo Home Page</strong></a>.</td></tr><tr><td valign="top" align="right">[2] </td><td valign="top" align="left"> -- <a title="http://gtk.org/" href="http://gtk.org/"><strong>The GTK+ Toolkit Home Page</strong></a>.</td></tr><tr><td valign="top" align="right">[3] </td><td valign="top" align="left">Apple Computer -- <strong>Dylan: an Object Oriented Dynamic Language</strong> -- <i>Apple</i>, April, 1992.</td></tr><tr><td valign="top" align="right">[4] </td><td valign="top" align="left">C. Queinnec and J-M. Geffroy -- <strong>Partial Evaluation Applied to Symbolic Pattern Matching with Intelligent Backtrack</strong> -- Workshop in Static Analysis, Bigre, (81--82), Bordeaux (France), September, 1992.</td></tr><tr><td valign="top" align="right">[5] </td><td valign="top" align="left">Chris Hanson -- <a title="http://www.swiss.ai.mit.edu/projects/scheme/documentation/sos.html" href="http://www.swiss.ai.mit.edu/projects/scheme/documentation/sos.html"><strong>The SOS Reference Manual, version 1.5</strong></a> -- March, 1993.</td></tr><tr><td valign="top" align="right">[6] </td><td valign="top" align="left">Erick Gallesio -- <strong>Reference Manual</strong> -- RT 95-31a, I3S CNRS / Universit頤e Nice - Sophia Antipolis, juillet, 1995, pp. 82.</td></tr><tr><td valign="top" align="right">[7] </td><td valign="top" align="left">Gregor Kickzales -- <a title="ftp://parcftp.xerox.com/pub/openimplementations/tiny" href="ftp://parcftp.xerox.com/pub/openimplementations/tiny"><strong>Tiny-Clos</strong></a> -- December, 1992.</td></tr><tr><td valign="top" align="right">[8] </td><td valign="top" align="left">Gregor Kickzales, Jim de Rivi貥s and Daniel G. Bobrow -- <strong>The Art of Meta Object Protocol</strong> -- <i>MIT Press</i>, 1991.</td></tr><tr><td valign="top" align="right">[9] </td><td valign="top" align="left">Guy L. Steele Jr. -- <strong>Common Lisp: the Language, 2nd Edition</strong> -- <i>Digital Press</i>, 12 Crosby Drive, Bedford, MA 01730, USA, 1990.</td></tr><tr><td valign="top" align="right">[10] </td><td valign="top" align="left">ISO/IEC -- <strong>Information technology, Processing Languages, Document Style Semantics and Specification Languages (DSSSL)</strong> -- 10179:1996(E), ISO, , 1996.</td></tr><tr><td valign="top" align="right">[11] </td><td valign="top" align="left">John K. Ousterhout -- <strong>An X11 toolkit based on the Tcl Language</strong> -- USENIX Winter Conference, January, 1991, pp. 105--115.</td></tr><tr><td valign="top" align="right">[12] </td><td valign="top" align="left">Kelsey, R. and Clinger, W. and Rees, J. -- <a title="http://www.schemers.org/Documents/Standards/R5RS/HTML" href="http://www.schemers.org/Documents/Standards/R5RS/HTML"><strong>The Revised5 Report on the Algorithmic Language Scheme</strong></a> -- Higher-Order and Symbolic Computation, 11(1), Sep, 1998.</td></tr><tr><td valign="top" align="right">[13] </td><td valign="top" align="left">Philip Hazel -- <a title="http://pcre.org/" href="http://pcre.org/"><strong>PCRE (Perl Compatible Regular Expressions) Home page</strong></a>.</td></tr><tr><td valign="top" align="right">[14] </td><td valign="top" align="left">Sho-Huan Simon Tung and R. Kent Dybvig -- <strong>Reliable Interactive Programming with Modules</strong> -- LISP and Symbolic Computation, 91996, pp. 343--358.</td></tr></tbody></table>
</td>
</tr></table><small><hr>This <span style="font-variant: small-caps">Html</span> page has been produced by
<a href="http://www.stklos.net/~eg/Publis/JFP05/article.html">Skribe</a>.<br />Last update <em>Sat Dec 31 15:49:36 2011</em></small>
<a href="http://www.stklos.net/~eg/Publis/JFP05/article.html">Skribe</a>.<br />Last update <em>Fri Apr 20 15:48:44 2018</em></small>
</body>
</html>
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -15,7 +15,7 @@
<td align="left" valign="top" width="20%" bgcolor="#8A8983">
<br /><table width="97%" border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse;" frame="box" rules="none"><tbody>
<tr><th align="center" colspan="2" bgcolor="#ACE919"><font color="darkolivegreen">Contents</font></th></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-44516">*Top*</a></td></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-44527">*Top*</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">1&nbsp;</td><td align="left"><a href="stklos-ref-1.html#Introduction">Introduction</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">2&nbsp;</td><td align="left"><a href="stklos-ref-2.html#Expressions">Expressions</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">3&nbsp;</td><td align="left"><a href="stklos-ref-3.html#Program-structure">Program structure</a></td></tr>
......@@ -56,7 +56,7 @@
</tbody></table>
</td>
<td align="left" valign="top">
<a name="--index-entry-35551"></a><p><span style="font-variant: small-caps">STklos</span> uses the Philip Hazel's Perl-compatible Regular Expression
<a name="--index-entry-35561"></a><p><span style="font-variant: small-caps">STklos</span> uses the Philip Hazel's Perl-compatible Regular Expression
(PCRE) library for implementing regexps [<a href="stklos-ref-16.html#PCRE">13</a>].
Consequently, the <span style="font-variant: small-caps">STklos</span> regular expression syntax is the same
as PCRE, and Perl by the way.</p><p>The following text is extracted from the PCRE package. However, to make
......@@ -64,7 +64,7 @@ things shorter, some of the original documentation as not been reported
here. In particular some possibilities of PCRE have been completely
occulted (those whose description was too long and which seems (at least
to me), not too important). Read the documentation provided with PCRE
for a complete description <a href="#fn--footnote-35564"><sup><small>1</small></sup></a></p><p>A regular expression is a pattern that is matched against a
for a complete description <a href="#fn--footnote-35574"><sup><small>1</small></sup></a></p><p>A regular expression is a pattern that is matched against a
subject string from left to right. Most characters stand for
themselves in a pattern, and match the corresponding characters
in the subject. As a trivial example, the pattern</p><blockquote><table cellspacing="0" cellpadding="4" width="90%"><tbody>
......@@ -851,7 +851,7 @@ refer.</p><a name="Regexp-Procedures"></a>
<h3 id="Regexp-Procedures"><font color="darkolivegreen">5.17 Regexp Procedures</font></h3>
<p>This section lists the Scheme functions that can use PCRE regexpr described
before</p><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="string--regexp"></a><a name="--index-entry-36319"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="string--regexp"></a><a name="--index-entry-36329"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(string-&gt;regexp string)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">STklos</span> procedure</i></font></td></tr>
</tbody></table>
<br /><code>String-&gt;regexp</code> takes a string representation of a regular
......@@ -862,13 +862,13 @@ multiple times, it is faster to compile the string once to a regexp
value and use it for repeated matches instead of using the string
each time.</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="regexp-"></a><a name="--index-entry-36343"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="regexp-"></a><a name="--index-entry-36353"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(regexp? obj)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">STklos</span> procedure</i></font></td></tr>
</tbody></table>
<br /><code>Regexp</code> returns <code>#t</code> if <code>obj</code> is a regexp value created by the <code>regexp</code>,
otherwise <code>regexp</code> returns <code>#f</code>.</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="regexp-match-positions"></a><a name="regexp-match"></a><a name="--index-entry-36393"></a><a name="--index-entry-36397"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="regexp-match-positions"></a><a name="regexp-match"></a><a name="--index-entry-36403"></a><a name="--index-entry-36407"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(regexp-match pattern str)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">STklos</span> procedure</i></font></td></tr>
</tbody></table>
<code><strong><font color="IndianRed">(regexp-match-positions pattern str)</font></strong></code><br /><br />These functions attempt to match <code>pattern</code> (a string or a regexp value)
......@@ -902,7 +902,7 @@ in the order of the opening parentheses in pattern.
</tbody></table></blockquote>
</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="regexp-replace-all"></a><a name="regexp-replace"></a><a name="--index-entry-36521"></a><a name="--index-entry-36525"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="regexp-replace-all"></a><a name="regexp-replace"></a><a name="--index-entry-36531"></a><a name="--index-entry-36535"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(regexp-replace pattern string substitution)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">STklos</span> procedure</i></font></td></tr>
</tbody></table>
<code><strong><font color="IndianRed">(regexp-replace-all pattern string substitution)</font></strong></code><br /><br /><code>Regexp-replace</code> matches the regular expression <code>pattern</code> against
......@@ -940,7 +940,7 @@ To replace <strong>all</strong> the occurrences of <code>pattern</code>, use <co
</tbody></table></blockquote>
</td></tr>