Subtle but incompatible change

Brian Rice water at tunes.org
Sat Feb 18 08:26:13 PST 2006


Hi all,

I've just changed the VM so that applyTo: no longer takes an  
&optionals: optional to pass optional parameters for block applications.

This feature is only used if you make a literal block with optionals  
(using a &-prefixed parameter declaration in the header, which had a  
bug that is also now fixed) and then tried to use those optional  
arguments. It has no impact on message-sends with optionals, since  
those are compiled directly to bytecode without the explicit send.

In any case, the &optionals: keyword took an array of alternating  
keyword symbol and value pairs, and there was not much safety in this  
parameter-passing (which can cause crashes if used incorrectly), so I  
extracted the feature out into an #applyTo:optionals: which does  
contain the checking and doesn't have to burden the ordinary call  
with verification overhead. It is an exercise for the user (should  
they choose so) to provide a better facade for that call. :)

Nothing in the Slate libraries uses this functionality, so it's not a  
big deal of a change. Just remember that updating VM's and images  
should happen concurrently.

--
-Brian
http://tunes.org/~water/brice.vcf

-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 186 bytes
Desc: This is a digitally signed message part
Url : /archives/slate/attachments/20060218/415a9421/PGP.pgp


More information about the Slate mailing list