Download Firefox: WindowsMac OS X
logo       
Google Custom Search
    AddThis Social Bookmark Button

SISC 1.10.0-alpha Released: msg#00009

Subject: SISC 1.10.0-alpha Released
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


-- 

Attachment: pgpt48BV1LQxI.pgp
Description: PGP signature

<Prev in Thread] Current Thread [Next in Thread>