Welcome to Sadao Sato's Home page!
New! Small Scheme 2.23 released (2020.8.26)
New! scheme introductory book (3rd ed.) uploaded (2020.8.26)
support for Ubuntu19.10
Ubuntu19.10, Mac OSX (Sierra, Catalina)
Old Small Scheme 2.14 (2018.3.14)
scheme introductory book (advanced) uploaded (2011.10.23)
1. Probability Theory
2. Software system
Biharmonic pseudo process, Martingale Theory, Brownian motion,
An approach to the biharmonic pseudo process by a random walk
Computations of Moments for Disconted Brownian Additive Functionals
with Marc Yor, Jounal of Math. Kyoto Univ.,vol.38, No.3,1998
Introduction to SS (in Japanese)
Introduction to SS (advanced) (in Japanese)
Small Scheme 2.23
This scheme is an extended version of STk4.0.1 by Erick Gallesio 1993.
However, we don't provide STkLos or CLOS system.
This is a simple small scheme implementation.
Changes from Ver1.99
call/cc and compiler were improved
By this reason, the program 'makesr' generates "*.sr2" file , that is compiled file
from ss source file.
In ver1.99, those were "*.sr" files, which can not be used in ver2.23.
So, we need recompile by makesr of ver2.00.
Syntax macro is also improved.
For the multi-byte langage, we support utf8 or euc, which is determined from
the environment variable LANG.
the most of R5RS scheme functions and the following functions:
rational numbers, complex numbers
R5RS syntax macro
immediate compile of command lines
history and editable command line
If you install SS, then
you will have the following commands:
ss (scheme with TCL/TK/Tkogl)
sn (scheme Non-GUI)
ssweb (text browser, download manager)
ssftp (GUI sftp )
ssftp can work in linux and MacOSX.
ssweb is only applicable for simple html.
The detail of ss can be found in Doc directory.
(English documents in Doc_english/ 2005.5.7).
The interface for TCL/TK and Tkogl are almost as same as STk.
The following tar ball include all ss sources and
ss2.23 (4.5 MB) (2020.8.25) TCL/TK8.6
ss2.00 (4.4 MB) (2011.9.13) for TCL/TK8.5
Installation for Linux,FreeBSD ,MacOSX &Cygwin
If you are a
Mac OSX user, please see the following:
MACOSX X-window and macports
For recent other distributions, there exist rpm packages for gmp,tcl,tk and open gl.
In the case of Fedra Core( FC5 etc.), by using the yum command, you can
install or check those libraries easily.
For example, you can do
yum install gmp tcl tcl-devel tk tk-devel
In such a case, please goto Step3.
Our scheme uses GNU MP libraly GMP, which enables us to manipulate
multiple precision integer and rationals. The newest version is here:
gmp-5.0.2 (2.6 MB)
or download from GMP HOME (see below). The installation is easy as usual:
tar xzvf gmp-5.0.2.tar.gz
(or ./configure --prefix=/usr )
We use TCL/TK (8.6 or 8.5) libraries for GUI of ss.
If you don't need GUI interface, then you can skip this step and Step4
If you have already TCL/TK in /usr/local, then goto Step.3.
TCL/TK(8.5) sources are here.
tcl8.5.10 (4.5 MB)
tk8.5.10 (3.8 MB)
The installation is easy for Linux and FreeBSD :
tar xzvf tcl-8.5.10rc2.tar.gz
and then install tk similarly.
However Cygwin is a special case. See below.
Extract the ss source:
tar xzvf ss223.tgz
Please check in what direcory your system provides tcl-tk libraries.
GNU default installation usually set them in /usr/local/lib, However,
many recent distributions use /usr/lib.
Then you must use the option --prefix=/usr for configure in the following.
For the MAC OSX, use --prefix=/opt/local.
Exec the following command in the ss223 directory.
In this process, you must input the root password two times.
And when a test program will be executed, then you must push "quit" button
to terminate it.
If this process terminates with some errors, please see the source ss-install or
All is done
This installation will set executable files
ss , sn, makesr, ssweb, ssed and ssftp
in /usr/local/bin and libraries in /usr/local/lib/sslib/
or indicated place by the prefix option.
The command ss is our main program Small Scheme with full features
and sn is the light version of ss without GUI.
So, if you want to uninstall SS, then it is sufficient to delete these files.
Please check the directory /usr/local/lib/, which is the standard installation
place of TCL/TK libraries. In Redhat Linux, /usr/local/lib is not included in
default shared library directory. In such a case, you need
add a line "/usr/local/lib" in the system file /etc/ld.so.conf and then execute
1. TCL/TK for Cygwin
If you have old TCL/TK in /usr/lib or /usr/local/lib,
then backup them in other place.
If you use Pentium 4 processor,
then binary installation may be enough for you.
Compiled binary is here:
tcl (4.3 MB)
tk (4.2 MB)
tar xzvf tclcygwin.tgz
tar xzvf tkcygwin.tgz
Then test by executing wish84.exe.
If you have some troubles, you can try full build TCL/TK.
2. In the case of Cygwin, you should be in the console shell not in xterm or other X-termianl.
You can find some examples in ./ogldemo/ and ./ssdemo/.
Note that files of the form "name.ss" are scheme sources and
the form "name.sr2" indicates its compiled file. You can try as
without ".sr2" or ".ss".
You must install GNU make-3.7.5 and then GNU gcc-3.0.1 or higher.
These can be compiled by gcc-2xxx supplied from sunsite etc.
Then unix install can be applied to build GMP, TCL/TK and SS.
However we cannot use call/cc in scheme program for solaris.
- GMP is very sensitive for CPU type. It can be checked to exec
in the session of sn. This implementation uses integer and rational functions of GMP.
MP-float may be included in the future.
- Tkogl can be checked by glwish (Tkogl interpreter), which can be found in /usr/local/bin.
We use Tkogl-1.0 by Claudio Esperanca in 1997.
SS need only TCL/TK libraries and header files,
and need not change them. If you want to use a higher version of TCL/TK ,
you must change src/configure.in and execute autoconf , automake.
change the symbolic links TCL and TK to related new source directories.
- If TCL/TK can't find init library, you have to set the environment variables:
tcl_library and tk_library. See ./bin/ss.bat.
- We recommend to use the newest cygwin1.dll for WIN user. Old version may have
extreme low performance for the fork of a process.
- It will be useful to install tkimg1.3.
tkimg1.3 (3.9 MB)
The installation is usual. You can use it from ss, by
(package 'require 'Img)
in your ss source or in the ss command line.
Linux & Unix tools
GNU MP Library
for Multiple Precision calculation(Ver 6.2)
OpenGL with TCL/TK (Now TKogl Ver 3.0)
TCL/TK GUI interpreter (Ver 8.6)
Cygwin for Japanese
R4RS Scheme with TCL/TK
R5RS Scheme with STklos
A Scheme implementation includes STklos etc.
Micro soft technet
for IE, Outlook
| at a seminar
||with Kunio Nishioka
Department of Information System Design
Tokyo Denki University
Saitama Hiki 350-0394