Alpha updated

Brian Rice water at tunes.org
Sun Apr 3 04:12:30 PDT 2005


Lee has posted new alpha VMs and images are up which resolve this lack 
of checking issue at the VM level, and have to work together. I have 
confirmed that it works as advertised and there are no issues.

The new VMs and images will only work with each other and not with 
current/past revisions because of a linking table change for a selector 
used to signal the error detection.

There are also a couple of new features which I'll reply about later.

On Mar 17, 2005, at 7:33 AM, Brian Rice wrote:

> What's happening is that, inside blocks, the bytecode compiler is 
> optimizing this into low-level control-flow codes that don't (and 
> right now, can't) check the type of the arguments. (see 
> generate:on:from: methods for #/\, #\/, #and:, #or: in 
> src/mobius/vm/interp/compiler.slate).
>
> Note that all of these expressions are errors when evaluated outside 
> of blocks.
>
> We'll take a look at adding some safety features to the VM for it, or 
> somehow for the compiler, but in the mean-time, just don't use 
> non-Boolean arguments on logical conjunctions, please.
>
> On Mar 16, 2005, at 5:35 PM, John Leuner wrote:
>
>> Please examine the code below and help me understand what's going on
>> here?
>>
>> Why do I get different results?
>>
>>
>> x@(Root traits) checkMe: a against: b
>> [
>>   (a)
>>     \/ [b /\ ['c']]
>> ].
>>
>> x@(Root traits) checkMe2: a against: b
>> [
>>   (a)
>>     or: [b and: ['c']]
>> ].
>>
>> Slate 19> checkMe: Nil against: False.
>> False
>> Slate 20> checkMe2: Nil against: False.
>> True
--
Brian T. Rice
LOGOS Research and Development
http://tunes.org/~water/




More information about the Slate mailing list