Version “2.00” released 2023-09-12

This is a major version of STklos, bringing it from R5RS to R7RS. It is the fruit of nearly two years of development with the help of the following persons (in alphabetical order):

The main changes in this version are:

Version “1.70” released 2021-11-25

This version further improves compliance with R7RS and brings some new SRFIs

The main changes in this version are:

Version “1.60” released 2021-02-15

As the previous version, R7RS compliance is enhanced and a bunch of new SRFIS has been implemented (thanks again to Jeronimo Pellegrini — @jpellegrini).

Changes in this version are:

Version “1.50” released 2020-08-17

This version enhances R7RS compliance and a lot of new SRFIs (thanks to the awesome work of Jeronimo Pellegrini — @jpellegrini)

Changes in this version are:

Version “1.40” released 2020-06-05

Changes in this version are:

Version “1.31” released 2019-07-13

Bug fix version.

Changes in this version are:

Version “1.30” released 2019-07-04

The goal of this version consists to be more R7RS compliant. All the R5RS functions which have been extended in R7RS are now conform to R7RS (for instance assoc and member accept now an optional parameter which is a compare function, vector->list accepts the start and end parameters, …)

Changes in this version are:

Version “1.20” released 2018-06-04

Even if previous version was released more than seven years ago, STklos is not completely dead.

Now the developement tree of STklos is available on Gitlab and Github.

Changes in this version are:

Version “1.10” released 2011-12-31

This version brings the support of UTF-8 encoding and begins to support some (future) R7RS traits:

Version “1.01” released 2010-12-30

This is mainly a maintenance version.

Version “1.00” released 2010-08-11

The version 1.00 is finally here (work on STklos started 10 years before …). The main difference with this version and the pre-1.0 ones is that it does not integrate GTK+ 1.x support. In fact, GTK+ support is now available through several ScmPkg packages. Otherwise:

Version “0.98” released 2008-05-18

Support for GTK2 — initial release 2008-04-15

Two new packages have been released. They permit to use GTK2 for making GUIs.

The packages are provided as *ScmPkg** packages. They have been tested only on Linux

Version “0.97” released 2007-12-16

Development tree access 2007-09-27

The STklos development tree is now available at the following URL http://www.stklos.net/hgweb.cgi. The development tree is managed by Mercurial Source Control Management system. Having Mercurial on your box may help, but is not necessary if you don’t plan to modify STklos distribution. In effect, the Web interface to Mercurial tree gives easy access to developement versions in common archive formats.

STklos-ssax package release 2007-07-17

A port of SSAX, the Oleg Kiselyov’s XML parser, is available as a *ScmPkg** package. SSAX defines itself as a full-featured, algorithmically optimal, pure-functional parser, which can act as a stream processor. SSAX is an efficient SAX parser that is easy to use.

More information on SSAX …

STklos-fuse package release 2007-07-12

A new release of the stklos-fuse package is available through *ScmPkg**. This new release can be installed with the stklos-pkg command. This package permits to implement a fully functional filesystem in a Scheme program thanks to the FUSE package. Two exemples of Scheme file systems are provided with the distribution:

Since the support of *ScmPkg** is new, a simple session showing how to install this package is given below:

    % mkdir /tmp/X           # create a temporary dir
    % cd /tmp/X
    % stklos-pkg --sync     # Sync with servers
    ...
    % stklos-pkg -e stklos-fuse # download package stklos-fuse
    % make
    ...
    % make install      # Install in ~/.stklos/pkg
    ...
    install done

Let’s use now the package

    % cd stklos-fuse/examples
    % mkdir /tmp/HASH   # create mountpoint for the hashfs
    % hashfs /tmp/HASH  # mount it
    % cd /tmp/HASH      # An now manipulate files in our filesystem
    % echo Hello foo
    % ls -l
    total 1
    -rw-r--r-- 1 eg stklos 6 Jul 12 17:53 foo
    % cat foo
    Hello
    % mkdir bar
    % cp foo bar
    % ls -l
    total 1
    drwxr-xr-x 2 eg stklos 0 Jul 12 17:53 bar
    -rw-r--r-- 1 eg stklos 6 Jul 12 17:53 foo
    % cat bar/foo
    Hello

Version “0.96” released 2007-06-30

This release introduces a simple FFI (Foreign Function Interface).

Version “0.95” released 2007-06-08

This is a major version introducing support for the *ScmPkg** source packaging system.

Posix version 0.60 2007-04-12

Bug fix version: this version must be used with versions of STklos 0.80.

Version “0.82” released 2006-12-19

Version “0.81” released 2006-11-06

This is a bug-fix version. Previous release had a bug which prevent to compile it on some architectures/systems.

Version “0.80” released 2006-10-27

This is a version with important changes to support multi-threading. This version provides two kinds of threads: LURC threads and Posix threads (aka pthreads). LURC threads are implemented using the LURC library, the Light ULM/Reactive library for C developed at INRIA. LURC supports the creation of synchronous cooperative threads, synchronizing and communicating with each other using signals in a deterministic scheduler (see <http://www-sop.inria.fr/mimosa/Stephane.Epardaud/lurcfor details).

HtmlPrag Extension 2006-05-27

This extension packages Neil Van Dykes HtmlPrag parser in a STklos extension.

HtmlPrag provides permissive HTML parsing and emitting capability to Scheme programs. The parser is useful for software agent extraction of information from Web pages, for programmatically transforming HTML files, and for implementing interactive Web browsers.

Fuse 0.50 Extension Release 2006-01-15

Ever dreamt to write your own file system in Scheme?

The fuse STklos extension, thanks to the FUSE package FUSE permits to make user lambdas being called by the kernel when performing I/O on a user Scheme file system. This extension indeed permits you to write your own file system in a bunch of Scheme lines. Two exemples of Scheme file systems are provided with the distribution.

Posix 0.50 Extension Release 2006-01-06

This new extension provides access to POSIX system calls.

Version “0.72” released 2006-01-04

This is a minor version

Version “0.71” released 2005-11-03

Extensions 2005-09-09

Two extensions to STklos:

For more informations on the extension mechanism, look at the extensions page.

Common Music in STklos 0.70 2005-05-28

Rick Taube has ported Common Music, an object-oridented music composition system, to STklos 0.70. The version of CM that runs in STklos is in the cvs head branch. See Common Music home page for CVS installation instructions.

To start up CM in STklos you can do:

    cm/bin/cm.sh -l stklos

or to start it running under xemacs do:

    cm/bin/cm.sh -l stklos -e xemacs

The file cm/etc/intro.cm is a good place to start. The distribution also contains loop.scm, an (almost) complete implementation of the common lisp LOOP macro. You should be able to load loop.scm into STklos without needing anything else from CM.

Version “0.70” released 2005-05-27

The main changes in this release are: a new back-trace system, a conform call/cc/dynamic-wind implementation and some performance enhancements.

Version “0.61” released 2005-04-05

Version “0.60” released 2004-11-29

This version is mostly a correcting version which fixes a serious bug on file loading introduced in release 0.59. Very minor changes since previous release

Version “0.59” released 2004-11-04

Version “0.58” released 2004-07-17

Version “0.57” released 2004-01-14

New web site 2003-11-14

The new web site is online now. It is written in Skribe and compiled using version 0.56 of STklos

Version “0.56” released 2003-11-06

Version “0.55” released 2003-06-25

This version of STklos is a maintenance release which corrects some bugs. No new feature.

Version “0.54” released 2003-02-14

Version “0.53” released 2002-08-06

Version “0.52” released 2002-04-10

Version “0.51” released 2001-03-12

Version “0.50” released 2001-01-17

First public release