SISC 1.10.0-alpha Released

"Scott G. Miller" <[email protected]> Wed, 19 Jan 2005 15:26:32 -0600
Newsgroups gmane.comp.java.sisc.devel,gmane.comp.java.sisc.user
Message-ID <[email protected]>
SISC 1.10.0-alpha, the first non-stable release since the 1.9 series, is 
now available from the SISC website.  This release contains a couple 
very exciting enhancements, but for suspense I'll start with the 
features:

 * The OO system has been simplifed by removing slot initializers
   and default values.
 * DEFINE-CLASS's syntax has been simplified.
 * An implementation of DEFINE-VALUES which works correctly at 
   the top level and in lexical scopes.
 * DEFINE-METHOD definitions are now really definitions, so 
   they play well with modules.
 * LET-MONOMORPHIC allows definitions in its body, more like LET.
 * S2J proxy definitions may refer to classes defined in the same
   module/scope.
 * SRFI-40 is now supported.
 * Added the PERMISSIVE-PARSING parameter, which when enabled,
   causes the parser to issue warnings rather than errors for
   most parsing problems.  Helpful for debugging. 
 * Many bug fixes (all of which are being backported to the stable 
   tree).

The big architectural improvement in the 1.10 series is the addition of 
optimistic microexpressions.  This is a framework for optimistically 
compiling in more efficient micro expressions which can be backed out at 
runtime if the assumptions they make turn out to be false.  Initially, 
this framework is being used for the fixable primitive inlining of 1.9.  

If you recall, in 1.9, using INLINE-USUAL-PRIMITIVES, a more efficient 
primitive call microexpression could be used, resulting in a 30-50% 
performance boost, but at the expense of not being compatible with R5RS 
because it prevents those primitives from being redefined.  Now, we will 
always *optimistically* emit those efficient calls, and we can detect if 
the primitive is redefined and back the change out.  This means that 
that 30-50% boost is now R5RS compliant, and all code can benefit from 
it.  I'm anxious to see this tested in the real world, to uncover any 
unsightly bugs.

   Enjoy,
    Scott


--
signature.asc (application/pgp-signature, 189 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFB7tCIr9IW4v3mHtQRAhSFAJ9u8YQ6O4Hw5cfOD4y3viiLVqCUMgCfZ630
c9mkRsxUmKUwXGNE++oDmus=
=LxYa
-----END PGP SIGNATURE-----