Welcome to Sadao Sato's Home page!

Japanese Page Here

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)

Research fields

1. Probability Theory
2. Software system


Biharmonic pseudo process, Martingale Theory, Brownian motion,
Mathematical finance

Lisp, Scheme,

Papers, Preprints

1. An approach to the biharmonic pseudo process by a random walk DVI , PDF
2. Computations of Moments for Disconted Brownian Additive Functionals DVI , PDF
with Marc Yor, Jounal of Math. Kyoto Univ.,vol.38, No.3,1998


Introduction to SS (in Japanese) PDF
Introduction to SS (advanced) (in Japanese) PDF

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.

SS provides

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 
         matrix,graph, etc.

If you install SS, then
you will have the following commands:
ss (scheme with TCL/TK/Tkogl)
sn (scheme Non-GUI)
makesr (compiler)
ssed (editor)
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 tkogl1.0.


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.

Step1 GMP

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
cd gmp-5.0.2
(or ./configure --prefix=/usr )
make install


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
cd tcl-8.5.10/unix
make install
and then install tk similarly.

However Cygwin is a special case. See below.


Extract the ss source:
tar xzvf ss223.tgz
cd ss223


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.


./ss-install /opt/local


./ss-install /usr

GNU unix

./ss-install /usr/local
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 see Step5 detail

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 
cd tcl-8.4.9/win
make install
cd ../..
tar xzvf tkcygwin.tgz
cd tk-8.4.9/win
make install
cd ../..
Then test by executing wish84.exe.

If you have some troubles, you can try full build TCL/TK. cygwin-TCL/TK-build
2. In the case of Cygwin, you should be in the console shell not in xterm or other X-termianl.

3. Examples
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
ss ogldemo/gencyldemo
without ".sr2" or ".ss".
4. Solaris2.6
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.


  1. GMP is very sensitive for CPU type. It can be checked to exec
    (fact 100)
    in the session of sn. This implementation uses integer and rational functions of GMP.
    MP-float may be included in the future.
  2. 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.
  3. 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.
  4. If TCL/TK can't find init library, you have to set the environment variables:
    tcl_library and tk_library. See ./bin/ss.bat.
  5. We recommend to use the newest cygwin1.dll for WIN user. Old version may have
    extreme low performance for the fork of a process.
  6. 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.

SS history




Linux & Unix tools

GNU MP Library for Multiple Precision calculation(Ver 6.2)

Tkogl OpenGL with TCL/TK (Now TKogl Ver 3.0)

TCL/TK TCL/TK GUI interpreter (Ver 8.6)

OpenGL OpenGL


CygWin Cygwin

Holon Linux Cygwin for Japanese


Scheme Home Scheme R5RS

STk-Home R4RS Scheme with TCL/TK

STklos-Home R5RS Scheme with STklos

Gauche A Scheme implementation includes STklos etc.


Micro soft technet for IE, Outlook



at a seminar with Kunio Nishioka Summer seminar

Sadao Sato

Department of Information System Design
Tokyo Denki University
Saitama Hiki 350-0394

Mail Address: