2008/04/15 Support for GTK2 (initial release)
Two new packages have been released. They permit
to use GTK2 for making GUIs.
- the package
stklos-gtk-base is a wrapper
which permits access the GTK toolkit.
- the package
stklos-gtk-glade permits to use
interface built with the Glade
interface builder
The packages are provided as ScmPkg packages. They have been
tested only on Linux
2007/12/16 (version "0.97" released)
- Fixed support for recent versions of SLIB
- Added boxes: they were used by the system but unavailable to the
user.
- Improved the stklos-pkg command
- Fixed several mutexes bugs
- Minor improvements of the FFI
- Updated PCRE to version 7.4
- New implemented SRFIs
- SRFI-45 (Optional positional and named parameters)
- SRFI-59 (Vicinity)
- SRFI-88 (Keyword Objects)
- SRFI-89 (Optional Positional and Named Parameters)
- Bug fixes
2007/09/27 Development tree access
The STklos development tree is now available at the following URL
http://www.stklos.org/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.
2007/07/17 stklos-ssax package release
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 ...
2007/07/12 stklos-fuse package release
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:
- a simple filesystem which only contain one file
named "hello", and whose content is of course "Hello, world!"
- a more realistic filesystem, where all the files are stored in
Scheme hash tables (a directory being a hash-table whose
entries are the files of this directory. The program
which implements this filesystem is about 250 lines long).
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
2007/06/30 (version "0.96" released)
This release introduces a simple FFI (Foreign Function Interface).
- Better support for FreeBSD
- Fixed a bug when using the -j option of make during bootstrap
- Fixed several problems with ScmPkg packages installation
2007/06/08 (version "0.95" released)
This is a major version introducing support for the
ScmPkg
source packaging system.
- Better support for lexical analyzer generation
- Added some support for fixnum operations
- Added here-strings support
- Added partial module import
- Macros can be local
- Added some peephole optimizations
- Added new options to the compiler
- Added support for reading the tar files
- void and eof objects are now printed back as #void and #eof
and can be read back
- New primitives
signal-error
md5sum
md5sum-file
file-prefix
file-suffix
condition-set!
- Bug fixes
2007/04/12 Posix version 0.60
Bug fix version: this version must be used with
versions of STklos 0.80.
2006/12/19 (version "0.82" released)
- Added the --debug option to the interpreter
- Better error messages when in debug mode and more correct line numbers
- Updated Dominique Boucher lalr parser to the latest version
- Better error messages for POSIX functions
- Internal macro definition are allowed now
- New parameters for controlling compilation
- New primitives
null-environment
scheme-report-environment
interaction-environment
directory-files
make-directory
delete-directory
- Bug fixes
2006/11/06 (version "0.81" released)
This is a bug-fix version. Previous release had a bug which prevent
to compile it on some architectures/systems.
- Corrected a deadlock when compiling the system
- Corrected bugs in SRFI-0 and SRFI-13
2006/10/27 (version "0.80" released)
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/lurc for details).
- Thread support
- Better error messages
- Added the possibility to compile byte-codes to a C file.
- New peephole optimizations
- More customizable REPL
- New primitives
read-byte
write-byte
printf
fprintf
base64-{en|de}code
current-second
- New implemented SRFIs
- SRFI-18 (Multithreading support)
- Bug fixes
2006/05/27 HtmlPrag Extension
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.
2006/01/15 Fuse 0.50 Extension Release
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.
2006/01/06 Posix 0.50 Extension Release
This new extension provides access to POSIX system calls.
2006/01/04 (version "0.72" released)
This is a minor version
- New primitives
string-blit!
print
printerr
- New implemented SRFIs
- Bug fixes
2005/11/03 (version "0.71" released)
- Added virtual ports (ports defined by user functions)
- The reader accepts now
#eof to denote the eend of file object
- Fix problems with SunOS support
- Fix problems with gcc4 compilation
- Hash tables are now compliant to SRFI-69
(Basic Hash Tables). This implies some
(compatible) changes in the hash-tables function names.
- New primitives
finite?
infinite?
unsetenv!
file-size
- New implemented SRFIs
- SRFI-62 (S-expression comments)
- SRFI-69 (Basic Hash Tables)
- SRFI-70 (Numbers)
- Bug fixes
2005/09/09 Extensions
Two extensions to STklos:
- imap to access an IMAP mail server
- ssl to extend STklos sockets and
accepts SSL connections
For more informations on the extension mechanism, look at the
extensions page.
2005/05/28 Common Music in STklos 0.70
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.
2005/05/27 (version "0.70" released)
The main changes in this release are: a new back-trace system,
a conform
call/cc/
dynamic-wind implementation
and some performance enhancements.
- Added a way to have a back-trace when an error occurs
call/cc has been completely implemented. Its interaction with
dynamic-wind is now conform to R5RS.
- Performance improvements
- Added some infrastructure for auto-testing a newly built system.
- New primitives
port-rewind
port-seek
current-loading-file
decode-float
read/ss
write/ss
repl
- Multiple EOF can be seen now on an input file to allow staged REPLs
- Added the configure options
--with-provided-gc and
--with-provided-regexp to force the usage of our GC
and PCRE versions, even if there are some version
already installed on the system
- The boot file is now integrated in the VM instead of being read from
a file. This enhances the loading time of the interpreter a bit.
Describe shows more information for structures types
and conditions.
- The object system takes now into account conditions and conditions types
- Documention updated
- Bug fixes
2005/04/05 (version "0.61" released)
- Documentation updated
- Distribution uses now PCRE 5.0 for regexp
- Build process has changed
- Performance improvement thanks to VM and I/O optimizations
- Added a way to download and install STklos extensions
- Better error signaling on undefined variables when compiling files
- Minor enhancements:
- Some corrections in the reader
- Parameter objects SRFI-39
(Parameters objects) can be used now
in generalized set! SRFI-17
(Generalized set!)
- Reader can be case-sensitive now
(the system can be bootstraped using
case sensitive read)
- ...
- New primitives
eval-from-string
require/provide
read-chars
read-chars!
write-chars
get-password
- Implementation of SRFI-60 (Integers as bits)
- Bug fixes
2004/11/29 (version "0.60" released)
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
- SRFIs can also have symbolic names
- Minor modifications to allow the compilation of
Skribe
with STklos on Win32
- Added a bunch of functions on dates
- Implementation of SRFI-55 (Require-extension)
- Bug fixes
2004/11/04 (version "0.59" released)
- Documentation has been rewritten in
Skribe
- Added Dominique Boucher LALR(1) parser generator.
Thanks to Dominique for allowing me to do so
- Added the future R6RS comment syntax #;
- New primitives
read-from-string
load-path
load-verbose
load-suffixes
fork
port-current-position
port-closed?
- New implemented SRFIs
- SRFI-10 (Sharp Comma External Form)
- Bug fixes
2004/07/17 (version "0.58" released)
- Better Win32 port (was no more fully functional since
0.55)
- Added a way to configure the system with our version of
GMP even if GMP is installed
- Added structure types
- Stack size can be changed when the VM is launched
- New port on Octane/SGI Irix (by Joshua Boyd) and Itanium
- Added the
--interactive option for embedded VM
- Compiler can add line information to the generated code to
ease debugging
- error locations are more accurate now
- New primitives
winify-file-name (for Win32 only)
sleep
with-input-from-port
with-output-to-port
with-error-to-port
- New implemented SRFIs
- SRFI-34 (Exception Handling for Programs)
- SRFI-35 (Conditions)
- SRFI-36 (I/O Conditions)
- SRFI-48 (Intermediate Format Strings)
- Bug fixes
2004/01/14 (version "0.57" released)
- Added support for non Finked Mac-OS X
- Added the Danny Dubé SIlex
lexical analyser generator to the distribution. Thanks to Danny
for allowing me to do so
- New primitives
fork
register-exit-function!
html->string
uri-parse
chmod
- New implemented SRFIs
- SRFI-16 (Syntax for procedures of variable arity)
- SRFI-26 (Notation for Specializing Parameters without Currying)
- Bug corrections
2003/11/14 New web site
The new web site is online now. It is written in
Skribe and compiled using
version 0.56 of
STklos
2003/11/06 (version "0.56" released)
- The reader recognizes now the DSSL keywords #!rest,
#!optional and #!key.
- Added the definition of feature
stklos for SRFI-0 (Feature-based conditional expansion construct)
- New parameter object:
real-precision used to change
the precision used when displaying a real number
- New primitives
hostname
regexp-quote
make-path
file-separator
hash-table-update!
date
read-with-shared-structure
write-with-shared-structure
- Extended procedures:
- New implemented SRFIs
- SRFI-27 (Source of random bits)
- SRFI-38 (External representation of shared structures)
- SRFI-39 (Parameters objects)
- Bug corrections
2003/06/25 (version "0.55" released)
This version of
STklos is a maintenance release which
corrects some bugs. No new feature
2003/02/14 (version "0.54" released)
- Evaluation of parameters is now from left to right rather
than the opposite.
- Addded Sockets support
- Changed the Boehm GC version to 6.1
- Code cleaning (again) to be accepted by gcc-3.x
- New Ports: Solaris, Win32, Mac OS X
- New primitives
port-idle-register!
port-idle-unregister!
port-idle-reset!
glob
canonical-path-name
expand-file-name
basename
dirname
decompose-file-name
- New implemented SRFIs
- SRFI-23 (Error reporting mechanism)
- SRFI-30 (Nested Multi-line Comments)
- SRFI-31 (A special form for recursive evaluation)
- Bug corrections
2002/08/06 (version "0.53" released)
- Changed the Boehm GC version to 6.1 alpha5
- Code cleaning to be accepted by gcc-3.x
- New primitives
pretty-printer
trace
apropos
die
pair-mutable?
vector-mutable?
string-mutable?
string-titlecase
string-titlecase!
symbol-value*
- New implemented SRFIs
- SRFI-7 (Feature-based program configuration language )
- SRFI-11 (Syntax for receiving multiple values)
- SRFI-14 (Character-Set Library)
- SRFI-28 (Basic Format Strings)
- New syntax:
in-module
- Bug corrections
2002/04/10 (version "0.52" released)
- Compiler has been rewritten and deliver code which is more
efficient
- New command
compile-file to compile a STklos file
to byte-codes
- Complete rewriting of GTklos (support of GTK+ in STklos)
- the rewriting is still incomplete and needs some work
- support of the Canvas widget needs some work
- more general event management
- All the demos have been rewritten
- Better error reporting
- Errors can now be browsed with Emacs
next-error
and previous-error
- Virtual slots can now have an initial value
- new option:
--no-init-file
- Added bitwise operations on integers (and bignums)
- New form
parse-arguments to simplify command line arguments
parsing
- Better support of dynamic loading
- Minimal LDAP support
- Support of active-slots (as in old STk)
- PCRE package version used is now 3.7
- GC package used is now 6.0
- More documentation
- There are now man pages for stklos and utilities
- Many small improvements
- Added the Bigloo
match-case and match-lambda
- New primitives
key-delete!
key-delete
program-name
port-file-name
full-current-time
seconds->date
- New implemented SRFIs
- SRFI-2 (AND-LET*: an AND with local bindings, a guarded LET* special form)
- SRFI-4 (Homogeneous numeric vector datatypes)
- SRFI-8 (Receive: Binding to multiple values)
- SRFI-9 (Defining Record Types)
- SRFI-22 (Running Scheme Scripts on Unix)
- Bug corrections
2001/03/12 (version "0.51" released)
- Added R5RS hygienic macros
- Added compatibility with the Aubrey Jaffer's
SLIB
- New port on Alpha/Linux
- Some parts of the VM have been rewritten to integrate full
call/cc (not yet finished)
- New implemented SRFIs
- SRFI-0 (Feature-based conditional expansion construct)
- SRFI-1 (List Library)
- Exact reals can be read now (e.g
#e3.14 => 157/50)
- New demo:
edit.stk
- New primitives
current-time
running-os
find-path
call/ec
load-path
set-load-path!
load-suffixes
set-load-suffixes!
- Bug corrections
2001/01/17 (version "0.50" released)
First public release