Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
2578 lines (1527 sloc) 78.9 KB
2011-XX-XX David Banks <>
* Rip out various uses of antcall to fix incremental build issues
2007-11-08 Scott G. Miller <>
* Made character sets proper SISC values, fixing bug 1687759.
* Give a proper Scheme exception on invalid slotid for record-set!.
Fixes part of bug 1683317.
* NaN should never be comparable to anything. Fixes bug 1729292.
2007-02-27 Scott G. Miller <>
* 1-arg append should be the same as identity. Fixes bug 1693950.
2007-02-27 Released SISC 1.16.6
2007-02-27 Scott G. Miller <>
* Fixed bug 1666713, where psyntax was trying to strip annotations
from circular lists.
2007-02-20 Scott G. Miller <>
* Fixed bug 1663873, where |read-block| and |write-block|'s
optional port argument wasn't actually optional.
2007-02-06 Scott G. Miller <>
* Fixed a bug in error handling triggered by the recycling of
escaping continuations. Bug #1585900.
* Fixed a bug in eval which evaluated code in the wrong environment
when a custom environment was used, breaking |load|. Bug #1650514.
* Fixed return value of |read-string|, which should be the eof object,
not -1. Bug #1653382.
2007-01-20 Scott G. Miller <>
* Fixed a bug in LCM and GCD's recursions. Bug #1640371.
2006-11-15 Matthias Radestock <>
* Fixed a bug in SISC's slib binding that resulted in slib:warn
breaking. See bug 1597134.
2006-09-11 Released SISC 1.16.4
2006-09-11 Scott G. Miller <>
* Updated build-heapjar.scm for the new I/O layer.
2006-08-31 Released SISC 1.16.3-rc
2006-08-30 Scott G. Miller <>
* Made |max-stack-trace-depth| a dynamic parameter, including
adding serialization of StackTracers. See feature request
2006-08-23 SISC 1.15.3 Released
2006-08-23 SISC 1.16.2-beta Released
2006-08-23 Scott G. Miller <>
* Fixed big that prevented |fix| being used as a symbol. See bug
2006-08-22 Scott G. Miller <>
* Fixed java-io converters to correctly pass unwrapped Scheme
* Accept autoflush as a parameter in character ports, for
backwards compatibility.
* Documented character-set as an argument to
2006-08-19 SISC 1.16.1-beta Released
2006-08-12 Scott G. Miller <>
* Fixed module definition of binary-io to export constructors of
buffered binary ports.
2006-08-11 Scott G. Miller <>
* Fixed bug in |open-character-input-port|, which wasn't producing
read compatible streams.
* Ported the os module to the new I/O system, including using the
java-io module. See bug 1538636.
* Changed the os module streams to be binary. This is the right
thing, as they can be converted to character as needed but don't
have to be.
* Fixed single-line comment escape handling. See bug 1538637.
2006-08-10 SISC 1.15.2 Released
2006-08-10 SISC 1.16.0-alpha Released
2006-07-12 Scott G. Miller <>
* Replaced generic I/O with a new, lighter weight
custom ports framework, which is much faster.
2006-07-12 Matthias Radestock <>
* Improved error reporting in Java->Scheme interface.
2006-07-10 Scott G. Miller <>
* Fixed handling of the null character constant in the reader.
See bug 1520129.
2006-07-05 SISC 1.5.1 Released
2006-06-30 SISC 1.5.1-rc Released
2006-06-30 SISC 1.13.8 Released
2006-06-21 Matthias Radestock <>
* Fixed fatal error in de-optimisation of letrec. See bug 1509504.
2006-05-30 SISC 1.13.7 Released
2006-05-30 SISC 1.15.0-beta Released
2006-05-23 Matthias Radestock <>
* Added |hashtable/contains?|. See FR 1493069.
* Implemented srfi-59. See FR 1475144.
2006-05-18 Matthias Radestock <>
* Fixed automatic printing of stack traces for Java exceptions.
* Improved exception reporting for java proxies
2006-05-17 Matthias Radestock <>
* Made the synopsis-length (used in error messages an warnings)
adjustable. See bug 1477687.
2006-05-15 Scott G. Miller <>
* Fixed bug in equals? with respect to nested empty lists.
See bug 1482221.
2006-05-13 Matthias Radestock <>
* Improved readability of stack traces by optionally suppressing
entries for SISC-internal calls.
2006-05-05 SISC 1.14.0-alpha Released
2006-05-05 Scott G. Miller <>
* Implemented programmer creation of chained environments.
See FR 1470820.
2006-05-02 Scott G. Miller <>
* Implemented SSL/TLS support in the networking module.
See FR 1469396.
2006-04-29 SISC 1.13.6 Released
2006-04-28 Matthias Radestock <>
* Fixed two bugs in srfi-19, including bug 1477638, and added
recent leap second. Thanks to Norman Gray for these changes.
2006-04-26 Matthias Radestock <>
* Re-enabled support for old |require-extension| syntax, but issue
a deprecation warning.
2006-04-24 Scott G. Miller <>
* Implemented SRFI-66, including buffer-compare. See FR 1475139.
2006-04-24 Matthias Radestock <>
* Fixed two bugs in srfi-55's handling of SISC-specific extension.
2006-04-19 SISC 1.13.5 Released
2006-04-18 Scott G. Miller <>
* Fixed return-value inconsistencies in SRFI-18, fixing bug
* Modified thread/result to throw a nested exception rather
than replaying the original one. See bug 1461906.
* Added build-heapjar.scm, an SRFI-22 script which will
build sisc-heap.jar. See FR 1469828.
2006-04-18 Matthias Radestock <>
* Added srfi-78.
2006-04-17 Matthias Radestock <>
* Fixed srfi-55's |require-extension| to work in compiled
code. See bug 1471254.
2006-04-16 Matthias Radestock <>
* Added functions to inspect and modify breakpoint arguments, and
to obtain breakpoint continuations. See FR 1452126.
2006-04-10 SISC 1.13.4 Released
2006-04-10 Scott G. Miller <>
* Fixed an arity bug in SRFI-14. See bug 1464027.
2006-03-31 Matthias Radestock <>
* Fixed a space leak in |call-with-values|. See bug 1461939.
2006-03-28 SISC 1.13.3-rc Released
2006-03-27 SISC 1.13.2-rc Released
2006-03-26 Matthias Radestock <>
* Removed the long-deprecated "s2j java objects are procedures"
* Fixed arg count exception in |thread/join|. See bug 1458660.
2006-03-25 Scott G. Miller <>
* Fixed how |compile| interacted with custom environments,
and inadequacies in |interaction-environment|. See
bugs 1457379, 1457261, and 1457385.
2006-03-25 Matthias Radestock <>
* Improved error location reporting in |load|. See bugs 1458190,
1458194 and 1458196.
2006-03-24 Matthias Radestock <>
* Added proper stack tracing. See maxStackTraceDepth parameter.
2006-03-23 SISC 1.13.1-rc Released
2006-03-22 Scott G. Miller <>
* Converted side-effecting primitives to non-fixable procedures,
fixing bug 1448235.
* Genericized the process (os module) ports. See bug 1448191.
* Fixed bug in |thread/holds-lock?|. See bug 1456295.
2006-03-21 Matthias Radestock <>
* Fixed a bug in |expand-file| that resulted in source location
annotations to be produced for the first expression only. See
bug 1455502.
2006-03-20 Alessandro Colomba <>
* Added java-io module as per bug 1455041.
2006-03-20 Matthias Radestock <>
* Fixed error reporting in records module. See bug 1454411.
2006-03-19 Matthias Radestock <>
* Fixed a bug that caused invocation of error continuations to be
rather unpredictable. See bug 1453863.
2006-03-12 Matthias Radestock <>
* Fixed several bugs in optimistic expressions triggered during
unoptimisation. See bugs 1448023, 1448219.
2006-03-08 SISC 1.13.0-alpha Released
2006-03-06 Scott G. Miller <>
* Simplified Java->Scheme API.
2006-03-02 Scott G. Miller <>
* Added byte-oriented read/write procedures.
* Modified binary ports to warn when they are used for
character operations. See bug 1439761.
2006-03-02 Matthias Radestock <>
* Fixed intricate class and resource loading problems. See bug
* Fixed procedure naming problem in generic java methods, field
accessors and modifiers, which had caused error reporting on
these procedures to sometimes omit the name. See bug 1442022.
2006-03-01 Scott G. Miller <>
* Fixed bug in multiline comment parsing - expressions after a
multiline comment weren't always read correctly. See bug
2006-02-28 Scott G. Miller <>
* Fixed the fact that |input-port-location| wasn't generic.
See bug 1440409.
* Documented the character-port wrapping functions
2006-02-28 Matthias Radestock <>
* Replaced |current-class-path| and related functions with
functions to inspect and extend a list of class path
extensions. This addresses various class/resource loading
weirdnesses reported in bug 1432887.
2006-02-27 Scott G. Miller <>
* Added the buffer-io module, which provides functionality
similar to string-io, but for binary buffers. See bug
2006-02-22 Scott G. Miller <>
* Modified SignalHook to have callbacks happen in
an appropriate, thread safe DynamicEnvironment.
* Fixed a bug in the invalid-syntax branch of let
optimization where states weren't merged. See bug 1434848.
2006-02-22 Matthias Radestock <>
* Fixed bug 1435707 - Java->Scheme calls via S2J proxies now
happen in a sensible dynamic environment.
2006-02-21 Scott G. Miller <>
* Modified SchemeCaller and Context.execute() to throw
a SchemeException, allowing more flexible Java side
error handling.
* Modified to support older shells. See bug 1431789.
2006-02-20 Matthias Radestock <>
* Fixed a number of bugs in srfi-43 by merging in changes from the
most recent reference implementation.
2006-02-19 Matthias Radestock <>
* Improved reporting of ClassNotFoundExceptions during
2006-02-17 Scott G. Miller <>
* Fix numerous undefined variable references in various SRFIs,
fixing bugs 1433481, 1433487, 1433495, 1433501 and 1433526.
2006-02-17 Matthias Radestock <>
* Added missing export for |string-concatenate-reverse/shared| in
srfi-13 module.
2006-02-16 Matthias Radestock <>
* Introduced notion of a default application context which is used
in situations where no other application context is available,
e.g. during sessions deserialisation in a J2EE container.
* Deprecated named application contexts.
* Changed Java serialisation to serialise library bindings by
name. This fixes bug 1375026, where Java serialisation of
continuations would end up serialising large chunks of the heap.
2006-02-14 Scott G. Miller <>
* Modify the signal hooking mechanisms to make their callbacks
in the same dynamic environment in which they were registered,
and drop the "main" AppContext assumption.
2006-02-13 Matthias Radestock <>
* Fixed handling of dependencies in |compile-file|. See bug
2006-02-11 Matthias Radestock <>
* Added support for SRFI 69.
2006-02-08 Matthias Radestock <>
* Added support for hash tables with arbitrary equivalence and
hash functions.
* Added support for hash tables with weak keys.
* Added various functions to reflect on hash tables.
* Added various hash functions.
* Fixed hash table serialisation to support complex keys with
circular structures.
* Changed default hash table equivalence from eqv? to equal?.
2005-02-03 Scott G. Miller <>
* Provided types for all native Scheme values (e.g. <box>,
<thread>, etc). See feature request 1423513.
2005-01-31 Scott G. Miller <>
* Fixed bug where UTF-8 was not in fact the default character
set. See bug 1391498. Thanks to Norman Gray for the patch.
* Modifications to stack trace printing to omit initial
info-less frames from the stack trace.
* Require a Charset for the creation of SourceInputPorts.
* Make the default Scheme port for DynamicEnvironment and
the REPL Listen socket a character port.
2006-01-10 Matthias Radestock <>
* Updated srfi-13 to latest reference implementation, which fixes
a bug in |string-concatenate-reverse/shared|, and also replaces
our stop-gap fix to a bug in |string-contains|.
* Fixed a bug in srfi-13 reference implementation that resulted in
string comparison predicates returning numeric values instead of
#t. See bug 1400758.
2005-12-04 Matthias Radestock <>
* Fixed bug in |parameterize| - escaping continuations now capture
the current value of parameters. See bug 1372516.
2005-11-29 SISC 1.12.0-beta Released
2005-11-21 Matthias Radestock <>
* Added support for SRFI 67.
2005-11-18 Scott G. Miller <>
* Use a more robust (if #t (...)) wrapper to prevent
definitions in the else clauses of cond and case.
2005-11-17 Scott G. Miller <>
* Added support for SRFI 61.
2005-11-16 Matthias Radestock <>
* Added type check of all args used by string=? and char=?. See
bug 1346205.
2005-11-15 Matthias Radestock <>
* Added interned values and, on top of that, non-generative record
types and classes. This fixes the long-outstanding record
serialisation bug 806864.
* Made all core types and types in libraries (i.e. srfis)
2005-11-11 Matthias Radestock <>
* Fixed serialisation of annotations in Java serialisation of SISC
values. See bug 1353781.
2005-11-01 Matthias Radestock <>
* Improved handling of natively supported srfis. They now all
have an associated module and appear as pre-imported libraries.
2005-10-28 Matthias Radestock <>
* Fixed minor problem with some of the srfi modules - they were
not registering the srfi as a feature.
2005-10-11 Matthias Radestock <>
* Fixed bug in |string-append| - it was not copying the string
when called with a single argument. See bug 1320677.
2005-10-09 Matthias Radestock <>
* Made{car,cdr} private. NB: This may break
existing Java code that manipulates SISC values; such code
should use the provided accessor/modifier methods instead.
* Fixed bug in |read-string| that allowed modification of
immutable strings. See bug 1320475.
2005-10-03 Matthias Radestock <>
* Fixed bug in reader that resulted in |read| returning immutable
data when it shouldn't. See bug 1311739.
2005-10-01 Matthias Radestock <>
* Fixed detection and handling of syntax errors in lists. See bug
2005-08-26 Matthias Radestock <>
* Fixed bug in srfi-14's char-set-delete. See bug 1273434.
2005-08-23 SISC 1.11.3 Released
2005-08-23 Matthias Radestock <>
* Fixed unit scale bug in srfi-19. See bug 1266449.
2005-08-22 Scott G. Miller <>
* Fixed a second optimistic expression bug in AppExp which would
create a crufty uExp on the stack after some reverts.
* Made the alter methods thread safe.
2005-08-22 Matthias Radestock <>
* Indicate support for srfi-62.
* Updated slib support to latest version (3a2).
2005-08-18 Matthias Radestock <>
* Fixed a bug in EXPT that resulted in floating point limits to be
hit too early in some boundary cases.
* Fixed a mysterious problem with ROUND, in some boundary cases.
* Made double-precision floating point the default (previously it
was arbitrary precision)
2005-08-16 Matthias Radestock <>
* Fixed (or, rather, added) hash codes for boxes and uninterned
symbols. This was breaking things when these kinds of values
were used in equal?-based hash tables, for example.
2005-08-12 Scott G. Miller <>
* Fix serious bug in the logic for AppExp when reverting
optimistic expressions.
2005-08-01 SISC 1.11.2-rc Released
2005-07-30 Scott G. Miller <>
* Fixed the dependencies of the heap-jar target.
* Fixed parser error reporting when permissive parsing is disabled.
2005-07-21 Scott G. Miller <>
* Fix bug in SRFI-19's date->julian-day. See bug 1238375.
2005-06-06 SISC 1.11.1-beta Released
2005-05-30 Matthias Radestock <>
* Fixed error handling on list-ref (bug 1210879).
* Allow Java proxy methods to return anything if their Java return
type is 'void' (feature 1111637).
2005-05-05 Matthias Radestock <>
* Fixed arity-bug in vector-fill! (bug 1195709).
2005-05-03 Matthias Radestock <>
* Made slib support a loadable library.
2005-04-29 Scott G. Miller <>
* Fixed a garbage leak in Closure which could result
in unnecessary values being on the stack, and thus causing
problems with serialization. Thanks to Allesandro Colomba
for spotting the bug.
2005-04-29 Matthias Radestock <>
* Added some exports missing from srfi-35. Thanks to Andrew Wilcox
for spotting them.
2005-04-27 Scott G. Miller <>
* Updated SRFI-42, fixing a bug in :while reported on
2005-04-20 Scott G. Miller <>
* Fixed issues with trace, which annoyingly required
an untrace then trace when a traced procedure is redefined.
2005-04-15 Scott G. Miller <>
* More efficiently fixed bug 1181453.
Not copying the VLR in Closure on infinite-arity procedures
can in rare cases corrupt a captured continuation.
Moved most of the rest-args logic into Interpreter.
2005-04-14 Scott G. Miller <>
* Fixed bug in logand with big integers.
* Fixed missing i18n'ed message for the above error.
Thanks to Alessandro Colomba for spotting them.
2005-04-12 SISC 1.11.0-alpha Released
2005-04-12 Scott G. Miller <>
* Reintroduce copying of the vlr in closure, fixing bug 1181453.
Don't yet know why.
2005-04-11 Scott G. Miller <>
* Added the Context.execute()/SchemeCaller interface
for simplified Java -> Scheme calls.
* Always associate the Java thread in Context.enter with
the thread context, which should fix thread/current, at
least in a managed external call.
2005-04-07 Scott G. Miller <>
* Changes to the build environment and additions to
create a Debian package for SISC.
2005-04-04 Scott G. Miller <>
* Fixed design flaw in the strict R5RS which raised
an error when reserved characters are encountered
even in strings.
2005-03-31 Scott G. Miller <>
* Added the "tpl" register to the Interpreter, which
contains the toplevel environment for all implicit uses
such as load, getprop, putprop.
2005-03-29 Scott G. Miller <>
* Fixed bug in SRFI-27 which was causing the secure-random-source
to be deterministic.
2005-03-28 SISC 1.9.7 Released
2005-03-27 Scott G. Miller <>
* Altered psyntax to not generate separately compilable
bindings for implicit exports. See bug 1124005.
2005-03-25 Scott G. Miller <>
* New implementation of SRFI-14 based on SRFI-60 for bitvectors.
Should be much faster, and Unicode compliant.
2005-03-23 Scott G. Miller <>
* Added support for SRFI-55 (and build it in by default)
* Added support for SRFIs 51, 54.
2005-03-22 Scott G. Miller <>
* Fixed the vector quasiquotation bug. See bug 1096048.
2005-03-15 Scott G. Miller <>
* Changed stack trace printing to condense duplicate lines.
2005-03-14 Scott G. Miller <>
* Implemented the logical operators (and, or, xor, not bit-count) for
all integers (instead of just fixed ones), and updated the SRFI-60
implementation to use the new logcount.
2005-03-08 Scott G. Miller <>
* Added support for SRFI 60.
2005-02-24 Scott G. Miller <>
* Lazy dynamic-wind installation isn't semantically safe.
Removed it. See bug 1151368.
2005-02-23 Scott G. Miller <>
* Altered the REPL code to keep a stack-trace base frame, so we
don't show most of the REPL's trace in exception printing.
2005-02-19 Scott G. Miller <>
* Made the default serialization for Expressions to throw
an error. This will trickle down to non-serializable expressions
like threads, I/O ports, etc.
2005-02-14 Matthias Radestock <>
* Fixed a bug in syntax-object->datum and hence define-macro. See
bug 1122651.
2005-02-11 Scott G. Miller <>
* Fixed a bug in our fix of a bug in SRFI-13, which broke
2005-02-08 Scott G. Miller <>
* Added system introspection functions to the OS module. These
may or may not be supporteed.
2005-01-22 Matthias Radestock <>
* Prevent NPEs in code that has illegal naked references in
letrecs. See bug 1106981.
2005-01-19 SISC 1.10.0-alpha Released
2005-01-16 Scott G. Miller <>
* Fixed a bug where the SLL2 serializer was writing the
string length rather than the number of bytes in its
representation length, breaking deserialization.
* Removed inline-primitives and inline-usual-primitives, as
this is done automatically and safely now.
* Applied two contributed patches: one which fixes the
project's Maven description, and another that searches
for sisc.shp in the SISC jar library if not found through
other means. Both are courtesy of Matthew Daniel.
2005-01-15 Scott G. Miller <>
* Catch an AccessControlException which can be thrown by SignalHook.
* Fixed a bug where optimizer was encountering pre-ananlyzed
code (due to recursion in the expander which calls eval),
and choking on it. (#1099750)
2005-01-11 Scott G. Miller <>
* Added permissive-parsing parameter, which when true, causes
the parser to issue warnings and continue on most errors. The
default is false.
2005-01-09 Matthias Radestock <>
* Added missing gio/peek-char procedure to generic-io module
* Fixed bug in gio/read-string procedure that caused it to throw
an error.
* Fixed bug in gio/read-block - it wasn't accepting generic ports.
2005-01-05 Magnus Jonsson <>
* Fix complex division bug (#1096496)
2005-01-02 Scott G. Miller <>
* Raise errors when the dot character is encountered
in vector literals.
2005-01-01 Scott G. Miller <>
* Fix inexactness preservation regressions introduced
with the fixable procedures. (#1094233)
* Fix 3-arg numeric equal bug. (#1094233)
* Fix nested quasiquote bug (#1093762)
* Fixed remprop incompatibility with sidecar environments.
(#1093699) (Thanks to Magnus Jonsson)
2004-12-31 Matthias Radestock <>
* Added GENSYM? predicate, contributed by Magnus Jonsson.
2004-12-29 Matthias Radestock <>
* Simplified the syntax for DEFINE-CLASS.
2004-12-27 Matthias Radestock <>
* Implemented srfi-40.
2004-12-13 Matthias Radestock <>
* Allow S2J proxy definitions to refer to classes defined in the
same module/scope.
2004-12-11 Scott G. Miller <>
* Changed let-monomorphic to behave more like let, allowing
internal definitions in the body.
2004-12-09 Matthias Radestock <>
* Simplified the OO system by removing slot initializers / default
* Allow class definitions in the OO system to refer to classes,
slot accessors and modifiers defined in the same module / local
2004-12-07 Matthias Radestock <>
* Implemented DEFINE-VALUES, working correctly at both the top
level and inside lexical scopes.
* Changed the generic procedure's DEFINE-METHOD(S) macros to be
2004-12-05 Released SISC 1.9.5
2004-12-01 Scott G. Miller <>
* Allow arbitrary values as NamedValue names,
fixing a bug in SRFI-18.
2004-11-29 Scott G. Miller <>
* Fixed bug in quasiquote introduced with the immutability
2004-11-22 SISC 1.9.4 Released
2004-11-19 Scott G. Miller <>
* Fixed mutex state management bug in SRFI-18.
2004-11-18 Scott G. Miller <>
* Finished making all the numeric operators work in some
way with #!+inf, #!-inf, and #!nan.
2004-11-14 Matthias Radestock <>
* Removed compiledlibs module and support for .sll libraries,
because their functionality turned out to be too fragile. scc
libraries are much better behaved.
2004-11-14 Released SISC 1.9.3-rc
2004-11-13 Scott G. Miller <>
* Deprecated .sll support, which seems incompatible
with the engine changes in 1.9.
2004-11-13 Matthias Radestock <>
* Fixed a bug in s2j that caused generic java methods, accessors
and modifiers to break when deserialized.
2004-11-09 Matthias Radestock <>
* Fixed a bug that caused continuations to misbehave in a
multi-threaded setting.
* Simplified continuation logic significantly, without incurring
any significant performance penalty.
2004-11-08 Matthias Radestock <>
* Fixed arity checking of thunks.
* Fixed a bug that caused multi-values to be recycled when they
2004-11-06 Scott G. Miller <>
* Set the lcl even on thunks, to prevent value leaks from
persisting in the stack. See bug 1060726.
* StreamDeserializer now resolves symbolic environments
in the same way as BlockDeserializer.
2004-11-05 Scott G. Miller <>
* Define the I/O procedures as toplevel with psyntax,
so that they aren't syntax-expanded as references
to the generic-io module.
2004-11-04 Released SISC 1.9.2-rc
2004-11-04 Scott G. Miller <>
* Fixed bug in error handling of load causing a null pointer
* Fixed CTL-C in the REPL.
2004-10-27 Matthias Radestock <>
* Added srfi-43.
2004-10-25 Released SISC 1.9.1-beta
2004-10-25 Matthias Radestock <>
* Removed old-s2j and old-generic-procedures. Finally!
2004-10-24 Scott G. Miller <>
* Fixed primitive calls had no error handling, fixed.
* Some read I/O generics were not redefined at top level, fixed.
2004-10-19 Matthias Radestock <>
* Allowed java proxies to define hashCode, equals and toString.
2004-10-18 SISC 1.9.1-alpha Released
2004-10-18 Matthias Radestock <>
* Fixed preservation of immutability in psyntax. This wasn't
working with annotations turned on. See bug 994759.
2004-10-16 Scott G. Miller <>
* LibraryAE was getting deserialized instead of the child
environment due to a name conflict.
2004-10-16 Scott G. Miller <>
* Made some attempt to display line/column numbers from load
and parsing so that one can trace the start of an s-expression
where syntax-errors occur, for example.
2004-10-15 Scott G. Miller <>
* Created a dedicated flag for marking call frames as captured.
Previously, vlk was overloaded, causing rare continuation bugs.
See bug 1038532.
2004-10-14 Scott G. Miller <>
* Fixed a bug in REPL that was passing the wrong array type to
interpret. This was breaking uses of "sisc -c". See bug 972606.
* Implemented fine grained library-delta serialization and moved
the interrupt handler's thread off the stack. See bug 1046307.
* Fixed various mismatches between generic I/O and the low level
I/O functions scattered in the source (current-*-port for example).
2004-10-13 Scott G. Miller <>
* Fixed bug in psyntax that broke shadowing of imports at the top
level. See bug 1046317.
2004-10-13 Matthias Radestock <>
* Fixed so it works correctly when rlwrap is not
installed, rather than just exiting.
* Changed defaults for generation of debug information and stack
traces to "on".
2004-09-30 Matthias Radestock <>
* Fixed negation of rationals. See bug 1037559.
2004-08-30 Scott G. Miller <>
* Fixed the omission of peek-char in the generic I/O code.
2004-08-29 Released SISC
2004-08-29 Scott G. Miller <>
* Fixed a bug which apparently existed in 1.9.0-alpha preventing
startup due to the REPL CTL-C functionality.
* Retooled the startup script to behave well with
the CTL-C functionality.
2004-08-27 Scott G. Miller <>
* Fixed state bugs in SRFI-18 related to unowned mutexes and
mutex unlocking with condition variables.
2004-08-24 Released SISC 1.9.0-alpha
2004-08-23 Scott G. Miller <>
* Numerous bugs related to dead code and undefined references
2004-08-14 Scott G. Miller <>
* SISC-full now uses generic-procedure based I/O, allowing
new port types to be constructed in Scheme.
* Better handling of infinity and NaN in the quantity library.
* Pretty-printing is now a module.
* Added thread/interrupted? to the threading library.
2004-07-22 Scott G. Miller <>
* Fixed REPL annotations
* Fixed psyntax's quasiquote macro to preserve
immutable pairs for inert quasiquotes. See bug 994759.
2004-07-08 Scott G. Miller <>
* Fixed |equal?| on numbers, which was insensitive to
2004-06-20 Scott G. Miller <>
* Added the os module.
2004-06-17 Scott G. Miller <>
* Print a stack trace when an error occurs loading source
files from the commandline, if possible.
2004-06-17 Matthias Radestock <>
* Improved s2j error reporting - the generic procedures used by
s2j now have proper names.
2004-06-12 Matthias Radestock <>
* Updated srfi-45 to latest version.
2004-06-09 Scott G. Miller <>
* Fix REPL handling of Scheme exceptions as they relate
to return codes.
* More descriptive error message for |exit| outside the REPL.
* Make the REPL writer parameterizable.
2004-06-01 Scott G. Miller <>
* Added the module-exports function, which given a module,
lists its bindings.
2004-05-20 Scott G. Miller <>
* Moved the analysis pass after the optimizer so
we can use the 1.8 optimizer instead of one which
preserves the metadata
* Reimplemented the Analyzer in Scheme rather than Java.
2004-05-13 Matthias Radestock <>
* Fixed bug in s2j that resulted in incorrect method lookup
precedence for methods overloaded on java.lang.Object and an
interface. See bug 953043.
2004-01-01 -> 2004-05-20 Scott G. Miller <>
* Added support for immediate primitive calls,
an optimization which breaks R5RS compliance by breaking
* Added .scm versions of all files which were previously
expanded only, and added a "bootstrap" target to the
* Engine now uses a flat closure representation which
is more safe-for-space. Various changes to the compiler
and the core classes to support this.
* Support for trapping signals from the OS using an
unsupported (but apparently everpresent) Sun library.
* Support for ctl-c to break execution in the REPL.
* Interrupts are now enabled by default.
* Native procedures now separated into a Complex (requiring
the interpreter context) and Simple (dependent only on
parameters) form. Simple procedure calls may be made immediate.
* Updated the pattern matching library to a more recent
version from IU.
* Added support for weak hashtables.
2004-04-12 Released SISC 1.8.8
2004-04-08 Scott G. Miller <>
* Fixed bugs in the native versions of c??r which
weren't checking for the empty list.
2004-04-08 Matthias Radestock <>
* Moved srfis into separate libraries.
2004-04-07 Matthias Radestock <>
* Implemented srfi-45.
2004-03-16 Scott G. Miller <>
* Implemented srfi-48.
2004-02-03 Scott G. Miller <>
* Workaround for a BigDecimal parsing bug on the IBM
JVM 1.3.1 (submitted by Chris Double).
2004-02-27 Scott G. Miller <>
* Remove dependent mutexes from their threads in SRFI-18.
2004-02-17 Scott G. Miller <>
* call-with-serial-*-file wasn't allowing functions
to return multiple values. Fixed.
* vector-fill! was incorrectly defined in Primitives,
resulting in its use always causing an incorrect
argument count error.
2004-01-29 Scott G. Miller <>
* Fixed a bug in the optimizer which broke copy-propogations
in letrec right hand sides.
* sisc.caseSensitive wasn't settable as a Java property.
2004-01-20 Released SISC 1.8.7
2004-01-16 Scott G. Miller <>
* Fixed bug where error continuations weren't wind safe.
2004-01-09 Scott G. Miller <>
* Fixed several inexactness contagion bugs in Quantity.
* Fixed some error handling problems in Quantity.
* Fixed n-ary character comparison bugs.
2004-01-04 Released SISC 1.8.6-rc
2004-01-04 Scott G. Miller <>
* Fixed serialization of Java Objects from serial ports.
2004-01-04 Matthias Radestock <>
* Fixed stream (de)serialization to be tail recursive. See bug
2004-01-02 Scott G. Miller <>
* Fixed bug 830507, method dispatch problem
* Fixed string comparison in SRFI-13.
2003-12-08 Scott G. Miller <>
* Fixed recycled VLR[] bug in |apply|, and
a recycling space leak during serialization.
2003-10-24 Scott G. Miller <>
* Fixed char-whitespace? returning #f for #\return
* Intepreter.eval() and friends use R5RS compliant
eval, and so should work with strict-r5rs enabled.
2003-10-15 Matthias Radestock <>
* Fixed bug in srfi-19's |current-data|. See bug #823824.
2003-10-13 Scott G. Miller <>
* Removed a dependency on a jdk1.3-specific API call that is not
present in jdk1.2.
2003-10-11 Released SISC 1.8.5
2003-10-08 Scott G. Miller <>
* Fixed a space leak in ThreadContext/Context.
2003-10-06 Scott G. Miller <>
* Partially fixed a bug where delay couldn't resolve make-promise
in the report environment.
2003-09-25 Scott G. Miller <>
* Fixed a bug which caused a custom environment to replace toplevel
if it was called in eval and had an expansion error.
2003-09-23 SISC 1.8.4-rc Released
2003-09-21 Matthias Radestock <>
* Fixed k invocation bug introduced by a misguided "optimization"
in release 1.8.1.
* Added back dynamic-wind unloading at end of heap build in order
to improve performance.
2003-09-18 Scott G. Miller <>
* Fixed subtle bug in the use of the vlk register that was causing
a fatal NullPointerException when continuations were incompletely
* Fixed bug in PARAMETERIZE - it was only allowing one expression
in the body.
2003-09-16 Matthias Radestock <>
* Changed srfi-18 to use srfi-19's time data type, thus avoiding
* Upgraded srfi-19 to latest available reference implementation,
which fixes many bugs.
* Fixed identifier generation in nested modules that was causing
id clashes.
2003-09-08 Scott G. Miller <>
* Modified the expander and optimizer to track syntactic tokens
(#%if and friends) the same as the unredefined symbolic forms.
2003-09-08 SISC 1.8.3-beta Released
2003-09-08 Scott G. Miller <>
* Modified the pretty-printer to properly print expressions
containing syntactic tokens.
2003-09-07 Matthias Radestock <>
* Fixed optimizer bug that caused breakage when handling IFs with
a #f alternative.
* Added SRFI-42.
2003-09-04 Scott G. Miller <>
* Support for return-status from call-with-args, eval, or
the repl using (exit return-code).
2003-08-17 Matthias Radestock <>
* Added SISC Compiled Code (.scc) library support, which is more
general than (and replaces) Thunk Libraries (.slt).
2003-08-13 SISC 1.8.2-alpha Released
2003-08-10 Scott G. Miller <>
* Added sane underpinnings for explicit syntax (#%quote, etc).
2003-08-04 Matthias Radestock <>
* Improved slib's O/S detection.
2003-07-27 Matthias Radestock <>
* Fixed runtime error message construction to handle circular data
without crashing.
2003-07-18 Matthias Radestock <>
* Fixed StackOverflowError when building srfi.slt under JDK1.4.2
on Windows.
2003-07-16 Matthias Radestock <>
* Fixed performance problem in loading libraries.
2003-07-16 Scott G. Miller <>
* Allow redefinition of QUOTE.
2003-07-09 Matthias Radestock <>
* Fixed bug in char-ready?; the port argument is now optional.
2003-07-04 Matthias Radestock <>
* Fixed open-{serial,binary}-{input,output}-port to take into
account the current-url.
2003-07-03 Scott G. Miller <>
* Changed case-sensitive to a dynamic parameter, so it can be
modified at run-time on a per dynamic-context basis.
2003-07-03 Matthias Radestock <>
* Fixed overriding of defaults for configuration parameters.
2003-07-02 Matthias Radestock <>
* Improved S2J class name mangling to handle package-less and
nested classes.
* Changed class precedence list computation algorithm in the oo
system and S2J to resolve most cpl inconsistencies.
2003-06-29 Released SISC 1.8.1-alpha
2003-06-28 Scott G. Miller <>
* Added stream compatible serialization mode, and changed
serial-io to use it.
2003-06-20 Scott G. Miller <>
* Retooled the evaluation pipeline so that syntax is expanded
in the interaction, rather than a global environment.
2003-06-18 Matthias Radestock <>
* Fixed and rationalized SISC's command line parameters.
2003-06-17 Matthias Radestock <>
* Added thunk libraries, which resolve a number of issues with
compiled libraries.
* Fixed Java serialization of annotations.
2003-06-15 Matthias Radestock <>
* Merged block IO and binary IO into new binary-io module.
* Added predicates to distinguish between different port types.
* Added serial-io module for (de)serialization of SISC values.
2003-06-04 Scott G. Miller <>
* Separated character from binary IO.
* Added ability to choose character sets for I/O.
2003-06-02 Matthias Radestock <>
* Revised s2j, making several significant changes and
2003-05-31 Matthias Radestock <>
* Revised generic procdures, making several significant
2003-05-30 Matthias Radestock <>
* Added extensible type system.
2003-05-26 Matthias Radestock <>
* Changed signature of some s2j primitives to return lists instead
of vectors.
* Changed names of some s2j primitives to shorter versions.
* Fixed a few bugs in and made some improvements to error handling
performed by s2j primitives and gnerally improved.
* Removed a few superfluous s2j primitives.
* Added s2j invocation primitives in preparation for making Java
objects non-procedures.
2003-05-24 Matthias Radestock <>
* Fixed a bug in the generic procedure method cache that caused
erroneous matches.
2003-05-21 Matthias Radestock <>
* Fixed read/write invariance for some peculiar symbols.
2003-05-16 Matthias Radestock <>
* Added native support for srfi-9 records and |define-struct|.
* Fixed a major performance problem in records implementation.
2003-05-11 Matthias Radestock <>
* Fixed handling of thunks returning multiple values in
* Added ability to create thread-unsafe hash tables.
* Improved performance of object system by using thread-unsafe
hash tables.
2003-05-04 Scott G. Miller <>
* Fixed a bug in Library symbolic environments where not
all bindings were returned in bindingKeys. This affected
many macros in the SRFIs.
2003-05-01 Scott G. Miller <>
* Fixed serialization problem with Hashtables requiring
initialized expressions
2003-04-28 Matthias Radestock <>
* Fixed race condition in generic procedure method cache.
2003-04-27 Matthias Radestock <>
* Simplified mechanism for defining constructors in the object
2003-04-24 Matthias Radestock <>
* Removed "invoke hashtables as procedures" access to hashtable
2003-04-21 Matthias Radestock <>
* Re-designed and re-implemented handling of configuration
2003-04-20 Scott G. Miller <>
* Fixed a space leak in pathological tail recursion,
2003-04-06 Matthias Radestock <>
* Improved j2s proxy mechanism - it's now using generic
* Re-structured cvs source tree.
2003-04-02 SISC 1.8.0-alpha and 1.7.8 Released
2003-03-30 Scott G. Miller <>
* Fixed a failure to raise an error in for-each when lists
of different lengths passed.
2003-03-26 Matthias Radestock <>
* Added support for display of stack traces of Java exceptions by
2003-03-25 Matthias Radestock <>
* Changed eq?-based hashtable to match new semantics of eq?.
* Added eqv?-based hashtable.
2003-03-25 Scott G. Miller <>
* Changed eq? to pointer equality.
* Fixed an excessive compare in numeric equals.
2003-03-24 Matthias Radestock <>
* Fixed bug in exception handling logic that was causing breakage
on non-Scheme exceptions, e.g. exceptions thrown by s2j.
2003-03-13 Scott G. Miller <>
* Fixed an inherent design flaw in the Symbol garbage collection.
2003-03-10 SISC 1.7.7 Released
2003-03-10 Scott G. Miller <>
* Fixed bug in recreating datastructures of compiled libraries,
resulting in broken syntax exports.
* Renamed the buffer library to buffers, to match the manual.
* Fixed a bug where the OS isn't correctly detected under OS/2.
2003-03-10 Matthias Radestock <>
* Fixed typo in SRFI-6
* Fixed a bug in the reference implementation of SRFI-1.
2003-03-07 SISC 1.7.6 Released
2003-03-06 Scott G. Miller <>
* Fixed an implicit module definition bug, and an
oversight in compiled-lib creation.
2003-03-03 Matthias Radestock <>
* Fixed problem calling methods defined on java.lang.Class via
generic procedures.
2003-03-01 Scott G. Miller <>
* LexicalEnvironment recycling optimization.
* Limited trampolining optimization.
2003-02-25 SISC 1.7.5 Released
2003-02-20 Scott G. Miller <>
* Minor bug fix in compiled-library geneation.
2003-02-18 SISC 1.7.4-rc Released
2003-02-17 Matthias Radestock <>
* Fixed problem of missing implicitly exported bindings in
compiled libraries.
* Adding r5rs module to srfi compiled library, fixing breakage due
to missing definitions.
2003-02-15 SISC 1.7.3-rc Released
2003-02-15 Scott G. Miller <>
* New |map| implementation that should be faster and call/cc safe.
2003-02-13 Matthias Radestock <>
* Fixed socket repl regression introduced in SISC 1.7.0.
2003-02-12 Scott G. Miller <>
* Fixed a small bug in Closure which was stealing the vlr
when it was locked, resulting in problems with call/cc.
2003-02-04 SISC 1.7.2-beta Released
2003-02-04 Scott G. Miller <>
* Added configurable repl prompt, displays #;-~a> if
|current-prompt| is set to a string, normal if #f.
2003-02-03 Matthias Radestock <>
* Added mechanism to augment the class path for loading classes
and resources.
2003-01-31 Scott G. Miller <>
* Modified the syntax expander to generate non-unique symbols
for module names and module bindings, allowing modules
created/serialized on one SISC version to run on another.
2003-01-30 Scott G. Miller <>
* Clear the LexicalEnvironment when calling eval. This doesn't
affect the semantics of running code, but it clears out a lot
of unnecessarily used memory, especially in serialization.
* Fixed additional entrypoint wastage in LibraryBuilder.
2003-01-29 Scott G. Miller <>
* Fixed a bug in Interpreter which caused the failure continuation
to be forgotten if interpret is called and a SchemeException is
* Fixed compile issues for Java < 1.4
* Added |stack-trace-on-error| parameter.
2003-01-23 Scott G. Miller <>
* Made NamedValues value properties, allowing introspection from
* Improvements to |trace|/|untrace| which allow module-bound procedures
to be traced without knowing their unique name, and to detect
when traced procedures have been redefined.
2003-01-15 Matthias Radestock <>
* Implemented SRFIs 31, 34, 35, 37.
* Fixed bug in |make-error| that caused single-arg invocations
with a symbol to produce error locations rather than error
2003-01-04 SISC 1.7.1-beta Released
2003-01-03 Matthias Radestock <>
* Fixed a vlr recycling bug in single-value-return case of
2003-01-02 Scott G. Miller <>
* Fixed an inadequacy in gen-sym, which wasn't supporting prefix-less
symbols. This caused import* and anonymous top-level modules
to fail.
* Hooked circular printing code to error message code so that
circular structures print properly (and don't stack overflow)
when generating error messages.
2002-12-24 Matthias Radestock <>
* Added |equal?|-based hashtables.
* Added |hashtable/size| procedure.
* Improved performance of generic procedure method lookup.
2002-12-16 Matthias Radestock <>
* Changed |eq?| and |eqv?| on immutable pairs, vectors, strings to
pointer equality in order to avoid (de)serialization
inconsistencies and problems in circularity detection.
2002-12-15 Released SISC 1.7.0-beta
2002-12-14 Scott G. Miller <>
* Fixed a rare, complicated memory leak involving the
CallFrame recycling pool.
2002-12-10 Scott G. Miller <>
* Refactored the REPL such that the main SISC thread is also
a Scheme thread.
* Re-added thread/current
2002-12-09 Scott G. Miller <>
* Fixed error in arbint->double conversion.
* Created the file-manipulation library.
2002-11-30 Matthias Radestock <>
* Implemented an efficient call frame capturing algorithm.
* Added simple object system.
2002-11-23 Matthias Radestock <>
* Improved |circular?| to detect circularities in *all* data
* Added contents of hashtable to its print representation.
2002-11-22 Matthias Radestock <>
* Fixed thread localization of parameters.
* Added logic to display/write shared (incl circular) structures
using CommonLisp-style notation.
* Added |vector-length-prefixing| and |print-shared| parameters to
control behaviour of |display| and |write|. Both default to #f
for R5RS compatibility.
2002-11-21 Matthias Radestock <>
* Added missing serialization methods to some obscure data types -
there absence would have caused continuation serialization to
break in some unusual cases.
2002-11-19 Matthias Radestock <>
* Fixed a bug in |write| and |display| when writing lists
containing unusual occurences of quote, quasiquote, unquote,
2002-11-11 Released SISC 1.6.3
2002-10-31 Released SISC 1.6.3-rc
2002-10-31 Matthias Radestock <>
* Fixed a bug in the serialization of typed Java nulls in S2J.
* Fixed a number of bugs in S2J's implementations of eq?.
* Made primitive Java types sub-types of their respective
java.lang types in S2J.
2002-10-29 Scott G. Miller <>
* Fixed begin and let optimization bugs in the optimizer.
2002-10-26 Released SISC 1.6.2-rc
2002-10-21 Scott G. Miller <>
* Fixed FIXEDINT overflow (thanks to Mark Rose for spotting it)
2002-10-20 Scott G. Miller <>
* Compiled-library bindings are now lazy loaded.
2002-10-19 Scott G. Miller <>
* Fixed a bug in reading elements that shouldn't support escaping.
2002-10-18 Released SISC 1.6.1-beta
2002-10-18 Scott G. Miller <>
* Modified open-library to support arbitrary URLs.
2002-10-18 Matthias Radestock <>
* Fixed bug in serialization of references to classes in S2J.
* Changed implementation of S2J's java/proxy procedure to try
the current thread's class loader before the system class
2002-10-15 Matthias Radestock <>
* Fixed bug in parser that caused infinite loop in expander when
processing annotated recursive structures.
2002-10-14 Matthias Radestock <>
* Fixed bug in hashtable serialization.
2002-10-13 Scott G. Miller <>
* Modified the structure of libraries so they can be serialized
without relying on recursion, and possibly blowing the Java stack.
2002-10-12 Scott G. Miller <>
* Implemented read/write invariance for symbols containing special
characters or uppercase letters.
2002-10-11 Scott G. Miller <>
* Modified gensym to produce 4d-unique (unique in both space and
time) symbols. This will allow code compiled in one place/time
to load in another without conflicts.
2002-10-10 Scott G. Miller <>
* Created the compiled-libraries module, which allows one
to create additive heaps (expanded and compiled libraries).
2002-10-08 Scott G. Miller <>
* Change from R. Kent Dybvig that fixes some redundancy
in the expander's internal datastructures, resulting in smaller
expanded code and much faster expansion in certain cases.
2002-10-07 Scott G. Miller <>
* Fixed Lite build
* Module bindings were being loaded at start time, and
only R5RS bindings were lazy loaded. Now all are, as intended.
2002-10-07 Matthias Radestock <>
* Cleaned up error handling by introducing new exception data type
2002-10-02 Released SISC 1.6.0-beta
2002-09-30 Scott G. Miller <>
* Added constant-propogation of lexical variables to the optimizer.
2002-09-29 Scott G. Miller <>
* Key developers increased the value of
(floor (/ (- (system-time) 307461060000) 31536000000))
2002-09-29 Matthias Radestock <>
* Made S2J's Java nulls typed, which, amongst other benefits,
allows them to be used for generic procedure method selection.
* Removed S2J object mutation (java-new and java-set!). It's not
really that useful and it conflicts with typed Java nulls.
2002-09-28 Scott G. Miller <>
* Added support for stack-trace on wind-safe continuations
2002-09-27 Matthias Radestock <>
* Introduced <top> and <bot> types for generic procedures
* Fixed problem with passing jnull as an argument to generic
* Fixed generic procedure type system so that java classes are
recognized as instances of jclass
2002-09-26 Matthias Radestock <>
* Fixed bug that caused SISC to terminate when a builtin procedure
threw a NullPointerException
2002-09-26 Scott G. Miller <>
* Implemented SRFI 30 - multi-line comments
2002-09-25 Released SISC b1.5.6
2002-09-24 Scott G. Miller <>
* Re-added block IO (now in the 'block-io' module)
but using the new buffer type which is definitely
binary safe, unlike strings.
* Added a binary buffer type in the 'buffer' module.
2002-09-23 Scott G. Miller <>
* Rewrote the IO layer with a more flexible, abstract
Input and Output port, which will allow new IO types
to be more easily created.
2002-09-23 Matthias Radestock <>
* Added Java Bean property access via
(<jobj> '(<property> ...) [<value>]).
2002-09-22 Matthias Radestock <>
* Added automatic name mangling to S2J field access via
(<jobj> '<field> [<value>]).
2002-09-16 Matthias Radestock <>
* Added mechanism for locating loadable resources.
* Added library loading mechanism.
2002-09-01 Matthias Radestock <>
* Added input-port-location procedure for obtaining source
location information from an input port.
2002-08-30 Matthias Radestock <>
* Rationalized retrieval and display of stack trace information.
2002-08-28 Scott G. Miller <>
* Fixed a number of Quantity-lib bugs pointed out by Justin Sampson
- parsing of negative imaginary numbers
- log of negative numbers (now works)
- expt with negative and fractional exponents
2002-08-26 Scott G. Miller <>
* Checked in the source-level optimizer. Matthias
hooked it up as a module.
2002-08-06 Matthias Radestock <>
* Updated slib.scm to work with latest version of slib (2d4).
* Fixed bad interaction of slib with SRFIs.
2002-08-05 Scott G. Miller <>
* Fixed handling of AnnotatedExprs when written to expanded source
* Fixed load's handling of .sce/.pp files
2002-08-04 Matthias Radestock <>
* Implemented SRFIs 19,25,26,28
2002-08-01 Released SISC r1.5.5
2002-07-25 Released SISC b1.5.5rc2
2002-07-24 Scott G. Miller <>
* Implemented thread/interrupt
* Slightly more efficient intBound
* Fixed errors with thread error handling
2002-07-22 Scott G. Miller <>
* Updated to most recent version of psyntax (7/12)
* Fixed getprop errors that were breaking the pretty-printer.
* Re-removed void, void? from the report environment.
2002-07-16 Released SISC b1.5.5rc1
2002-07-16 Scott G. Miller <>
* Much improved handling of nested errors.
* Fixed a bug causing code not to be annotated when loaded
using LOAD.
2002-07-15 Scott G. Miller <>
* Added sisc-initial-environment.
* I18Ned much of Primitives.
* putprop/getprop can now take a first class environment
as their second argument.
* Deprecated the one/two argument versions of getprop/putprop.
2002-07-14 Scott G. Miller <>
* Added set-symbolic-environment! Renamed get-environment
to get-symbolic-environment!
* Fixed DefineEval to be compiled with the environment it
will be making the definition into. This fixes (define ...)
in a non-toplevel environment.
2002-07-13 Scott G. Miller <>
* Enforce the R5RS lexical syntax for <variable>.
(define define 3) is now an error.
2002-07-07 Released SISC b1.5.4
2002-07-07 Matthias Radestock <>
* Implemented Java (de)serialization, including object graphs
consisting of a mixture of Scheme and "native" Java objects.
2002-07-02 Scott G. Miller <>
* Fixed serialization deficiency that can allow
some objects to be deserialized twice.
2002-06-27 Released SISC b1.5.3
2002-06-26 Scott G. Miller <>
* Serialization of FreeRefereneExps and FreeSetEvals no longer
drags the entire AE in, so serialization of small code segments
is space efficient.
2002-06-26 Matthias Radestock <>
* Improved object initialisation support provided by generic
procedures, facilitating post-creation initialisation.
2002-06-24 Scott G. Miller <>
* Added support for Java-style unicode characters in character
literals and strings.
2002-06-23 Matthias Radestock <>
* Changed generic procedure method dispatch logic. It now uses the
same algorithm as employed by Dylan, Goo and others that
resolves ambiguities by taking into account the class precedence
lists of the arguments.
2002-06-18 Scott G. Miller <>
* Modified SchemeString to be able to store the string either
as a String or a char[] for efficiency.
* Added native versions of the string comparison functions
and substring, string-upcase, string-downcase. Performance
with these operations is improved by 10-150x.
* Added get-environment, which returns a symbolic environment
given its name (as a symbol).
2002-06-14 Matthias Radestock <>
* Added with-current-url procedure.
* Fixed expand-file so it handles relative includes correctly and
produces annotations (if emit-annotations is #t).
2002-06-13 Released SISC b1.5.2
2002-06-12 Scott G. Miller <>
* Fixed a number of bugs regarding heap generation
and deserialization that were causing problems reading
the report env, and with sets on not-yet-loaded variables.
2002-06-10 Scott G. Miller <>
* Updated the error handling API to separate call/fc
into call/fc (similar to call/cc) and with/fc. Updated
the manual to reflect these changes.
2002-06-07 Scott G. Miller <>
* Error handling revamped to pass along error information
through Scheme->Java->Scheme ... calls.
2002-06-04 Matthias Radestock <>
* Upgraded syntax-case again. It now supports tail-matching.
* Fixed an initialisation order problem in SRFIs.
2002-06-03 Released SISC b1.5.1
2002-06-01 Scott G. Miller <>
* Fixed a compliance bug with letrec and call/cc interactions.
* Added the core syntactic forms to the R5RS environment.
* Matthias' change of self-evaluating to exclude vectors
causes the expander to raise an error for unquoted
vectors, which is actually the specified behavior.
2002-05-28 Released SISC b1.5.0
2002-06-01 Matthias Radestock <>
* Upgrade to latest version of syntax-case. This fixes some bugs
with the module system.
2002-05-25 Scott G. Miller <>
* Randomly accessable libraries
2002-05-18 Matthias Radestock <>
* Improved GETPROP and REMPROP.
* Allowed properties from config file to be overridden by Java
2002-05-17 Released SISC r1.4.1
2002-05-16 Scott G. Miller <>
* Fixed a compiler bug that was setting lastAndRatorImmediate
incorrectly, causing call/cc problems.
* Fixed handling of locked vlrs, which was breaking call/cc in
some cases.
* Renamed lck to vlk and made it a first class register.
2002-05-14 Matthias Radestock <>
* Added loadable configuration file.
* Added library loading code.
* Added mechanism to execute code on startup.
2002-05-02 Scott G. Miller <>
* Fixed bugs in Quantity that were precluding the largest
and smallest fixed integers from being stored as such.
* Fixed a bug in Quantity that was causing ashl/ashr to accept
2002-05-02 Matthias Radestock <>
* Added capability to define multiple generic Java procedures
referring to the same Java method name, and multiple generic
Java constructors.
* Added capability to chain generic Java procedures and generic
Java constructors.
2002-05-01 Matthias Radestock <>
* Added procedure properties functionality.
2002-04-27 Released 1.4.0
2002-04-27 Scott G. Miller <>
* Fixed bugs found in the RC2 round of testing.
2002-04-22 Matthias Radestock <>
* Gave all file-based operations the ability to access data via a
* Added string I/O functions to core
* Rationalized behaviour of I/O functions when capturing/invoking
2002-04-21 Scott G. Miller <>
* Implemented a three level (empty->sisc-bindings->r5rs) chained
toplevel environment, that allows us to properly implement
* Fixed some bugs discovered in the condition variable/lock
interaction of the threading module.
2002-04-15 Released 1.4.0rc2
2002-04-15 Scott G. Miller <>
* Gave associative environments the ability to delegate
to a parent, copying the parents binding whenever the child's
is touched. This fixes bug 543451.
2002-04-13 Scott G. Miller <>
* load now sets the current directory to the directory
of the source file its loading, and resets it when done.
* current-directory is now an actual parameter.
* Added file/parent and file/name, and renamed file-type to
2002-04-12 Scott G. Miller <>
* Fixed real?, which was returning #t for non-numbers
* Fixed read to produce mutable data.
2002-04-12 Matthias Radestock <>
* Removed some old tail call logic, improving performance by ~10%
* Simplified build
* Made S2J name mangling more intuitive
2002-04-11 Released 1.4.0rc1
2002-04-10 Matthias Radestock <>
* Fixed bug in CHAR-LOWER-CASE?
2002-03-31 Scott G. Miller <>
* Removed J2S and javaValue functionality, which has been
completely replaced by S2J
2002-03-31 Matthias Radestock <>
* Made hashtables thread-safe.
2002-03-29 Matthias Radestock <>
* Revised generic functions module. It's now called
"generic-procedures" and contains numerous bug fixes, changes
and enhancements
2002-03-15 Scott G. Miller <>
* Fixed SQRT for large integers, with the side effect
of producing exact results for exact arguments with an exact
square root.
* Added annotation support, which will allow source-correlated
error messages.
2002-03-09 Scott G. Miller <>
* Fixed equality problems with Immutables
* Modified REPL to allow third party applications to load
heaps easier.
* Pervasive localization effort. See the manual for details.
2002-03-08 Matthias Radestock <>
* Fixed access violation problems in generic functions when
sub-classes have more restrictive permissions than base
classes. The fix restricts the visiblity of non-public
* Added mechanism to throw Java exceptions from Scheme code and
propagating them back to Java code if the Scheme code was called
from Java.
* Added MAKE-PARAMETER and PARAMETER? primitives that deal with
thread-local variables.
2002-02-28 Scott G. Miller <>
* Fixed a couple of math bugs in Quantity-64float
2002-02-25 Matthias Radestock <>
* Made generic function module thread-safe
2002-02-24 Matthias Radestock <>
* Added hashtable module.
* Changed generic function module to use hashtables instead of
2002-02-20 Matthias Radestock <>
* Made various tweaks to improve performance. Overall gain is ~7%
in gabriel benchmarks.
2002-02-16 Matthias Radestock <>
* Defined modules for SRFIs 0,1,2,5,6,7,8,9,11,12,13,14,16,23,24.
* Added the DEFINE-ALIAS, FROM, and IMPORT* forms as defined in
Chez Scheme.
2002-02-16 Scott G. Miller <>
* Fixed two bugs in SNative's append. First is that the last
(in this case second) argument to append can be any object. Second
is that that R5RS mandates that everything *but* the last is
newly allocated.
2002-02-15 Matthias Radestock <>
* Added new, experimental Scheme->Java interface module
2002-02-14 Scott G. Miller <>
* Added parameter (vector-length-prefixing) which
specified whether pretty-print should display the prefixed
length of a vector.
2002-02-12 Matthias Radestock <>
* Changed COMPOSE so it takes 0..n args
2002-02-11 Scott G. Miller <>
* Modified serialization format to support non-stream
data sources
2002-02-06 Scott G. Miller <>
* Upgraded to the latest syntax expander. This fixes
a couple of bugs regarding module imports.
* Immutables now implement equals/hashCode so like Immutables
can be serialized once.
2002-02-05 Matthias Radestock <>
* Added support for legacy macros (defmacro and define-macro)
2002-02-04 Matthias Radestock <>
* Added support for the common ASCII escape sequences (i.e. \n, \r
etc) when reading/writing strings.
* Fixed bug in string comparison.
* Fixed bug that gave wrong #f results in EQUAL? when comparing
mutable to immutable objects.
* Fixed bug in PEEK-CHAR - \#nul was not being pushed back after
being read.
* Added literal notation for case-sensitive symbols (|Foo|) and a
prim for toggling global case-sensitivity.
2002-01-30 Scott G. Miller <>
* Changed Primitive's throw RuntimeExceptions to
* Corrected error reporting of invalid indices to strings
2002-01-28 Scott G. Miller <>
* Fixed circular structure creation for 'special' lists
created with ', `, ',', ,@, etc.
* Added synopsis() to Value, which allows abbreviated printing.
2002-01-27 Matthias Radestock <>
* Added support for reading case sensitive symbols using the
|<symbol>| notation
2002-01-26 Scott G. Miller <>
* Made Quantity lib implementations serialize and deserialize
the same.
2002-01-24 Released r1.3.1
2002-01-22 Scott G. Miller <>
* Fixed a bug in Symbol serialization that affected
improper deserialization of uninterned or case sensitive
symbols (SGM)
2002-01-11 Scott G. Miller <>
* java/import can now take a String as the class/object
argument, which will be resolved into a class
2001-12-28 Scott G. Miller <>
* Fixed locking thinko that broke the mutex goal :(
* Added monitor/synchronize-unsafe, which does *not* use
dynamic-wind but runs an order of magnitude faster
* Made monitor/synchronize[-unsafe] take one or more
expressions to synchronize rather than just one.
2001-12-24 Release 1.3.0
2001-12-16 Scott G. Miller <>
* Implemented Scheme level threading and synchronzation
* Fixed a division by zero error in the refined Quantity classes
2001-12-14 Matthias Radestock <>
* Implemented clean interface for calling Scheme from Java,
including support for multiple applications and multiple threads
* Fixed and optimized several multi-threading issues
2001-12-13 Matthias Radestock <>
* Removed current-writer, was only used by repl which now just
calls pretty-print directly
2001-12-04 Matthias Radestock <>
* Made literal strings, vectors and lists immutable
2001-12-04 Scott G. Miller <>
* Fixed string->number, which should have been able to accept
#[xobd]num format numbers as well as ordinary ones.
* Fixed string->number handling of ""
* Fixed sqrt on negative floating point values
* Fixed error in lexer's handling of EOF.
* Removed String constructor for Quantities, rely
on valueOf, which requires much less needless instantiation.
* Fixed precision loss during serialization/deserialization
* Fixed handling of uncertain digits in exact numbers.
* Added Thread support (preliminary)
* Fixed equals? handling of immutable data (more specifically,
equals? handling of subclasses of values)
12/1/2001 Scott G. Miller <>
* Removed BeginExp, DefineExp, FreeSetExp, IfExp, and LexicalSetExp,
which were replaced with EvalExp, which simply evaluates
an expression and pushes another onto the stack (the second being
the corresponding Eval)
r1.2.3 Performance enhancements
* Added ashr, the complement to ashl.
* In fixing other reader errors, 1.2.2 fixed hex digit handling.
* exact? and inexact? should error on non-numbers. They
weren't. Fixed.
* eqv? in scheme was relying on above bug for correct operation.
r1.2.2 Minor enhancements, bug fixes
* Output ports do not automatically flush now (except for
console out).
* Added 'flush-output-port' which takes an output port
and finalizes any writes
* Added an optional parameter to open-output-file and
get-socket-output-port, <autoflush>, a boolean. If
#t, the port will flush after every write.
* #\return wasn't recognized on read, but could be produced
on write. Fixed.
* (null-environment) was returning a completely empty
environment, which is incorrect in SISC, since the special
forms (quote, lambda, etc) should still be present. Fixed.
* Fixed an inaccuracy in the reader, where "<radix> <exactness>
could not be used.
* Somewhat fixed the parser wrt the unspecified digit, '#'.
Still somewhat broken in that the presence of a '#' does not
force inexactness.
r1.2.1 Bugfixes
* Ratio simplification now properly handles numerator
and denominator signs sanely.
* Full-sisc now includes J2S, Netlib, Exec, and Debug
r1.2.0 Major enhancements
* New serialization structure. The heap can be serialized in 1/3
the space, and we can shave .7 seconds off SISC startup time.
Also, the heap isn't tied to a specific version of SISC.
(Not present in sisc-lite)
* Dead code eliminated
* Default Quantity lib is now double precision floating point
instead of arbitrary precision. In the future, the library
will be selectable at startup
* Some minor performance tweaks
r1.1.3 Bug fixes (Never formally released)
* Added continuation? type checker
* Fixed scalability issue in Pair.display. Couldn't handle
incredibly large lists because it was using a recursive
print method (which doesnt work well in Java, stack smash)
r1.1.2 Bug fixes
* Fixed startup scripts for windows
* Cross-platform path handling (only tested on Windows/Unix atm)
* Tidied up SLIB initialization file
* Limiting lexical depth to 65536, function argument count to
r1.1.1 Bug fixes, code cleaning
* Startup scripts werent able to load files, fixed
* Error in the syntax expander wasnt handling final cdr
unquotes in a quasi-quoted list
* Vector printing optimizations
* Scheme source optimized and tidied to hide scaffolding functions
r1.1.0 Many many changes. v1.1.0 is on average 45% faster than 1.0.3
Reimplementation of global environments as a simple flat array.
* LexicalEnvironments don't need symbol information,
this was an old debugging mode that isn't necessary.
Result is a smaller heap and small boost to
Added Matthias Radestock's optimizations:
* replace recursion with loops in LexicalEnvironment.lookup and
LexicalEnvironment.set => no noticable difference, but might
show in deeply nested expressions
* recycler for FillRibExp along the same lines as CallFrames.
This gives a 5-10% performance boost.
* creation of {*}Eval instances in constructor of
{FreeSet,If,LexicalSet}Expr, rather than in eval method.
Shifts the burden from runtime to compile time and results in
~5% performance boost.
Added Immediates, which fill the value rib directly (16% bonus)
Compiler now eliminates Immediates from effect context. Example:
(begin (set! a 3) 5 a) => (begin (set! a 3) a)
(begin 1 a (lambda (x) x) #t) => #t
and chooses branches with a decidable constant test-exp:
(if 3 1 2) => 1
(if #f 1 2) => 2
Made SISC thread safe. Also added two new methods in Interpreter:
* newContext(Interpreter): Creates a new Interpreter context
in which expressions can be interpreted. By having multiple
Interpreter contexts, you can run multiple scheme programs in the
same environment simultaneously (multithreaded scheme).
* eval(String): Evaluates the given String as a scheme expression in
the current context and returns the resulting value. This should
be helpful for running scheme expressions from Java.
Fixed a Ratio->Floating point conversion error in Quantity.
Fixed R5RS env handling. There were a number of side cases
where the R5RS env was not immutable, or where shadowing the R5RS
environment wasn't reflected in procedures defined before that
shadowed binding.
Fixed abs for complex numbers.
Made procedures proper values.
TODO: Add synchronization module to allow synchronization in scheme
r1.0.3 Cruft bug that disabled number->string
Precision fixes so FP calculations respect max_precision
Added setters/getters for max-precision and min-precision. These
can be used to set the minimum and maximum amount of precision
allowed in a floating point calculation
Some minor code cleanup
Some minor speed improvements (very minor)
r1.0.2 Added Boxes back into the language since they were used in
variable references.
r1.0.1 Fixed continuation capturing bug related to side-effects on the
value rib.
r1.0.0 First public release.
Jump to Line
Something went wrong with that request. Please try again.