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