Alpha updated

Brian Rice water at tunes.org
Thu Mar 17 17:18:20 PST 2005


This has been bootstrapped in and fixed. None of these erroneous 
results are present.

Sorry for the trouble! :)

On Mar 17, 2005, at 4:50 PM, Brian Rice wrote:

> Okay, the problem was traced to a mis-typed setup statement in 
> src/mobius/vm/bootstrap.slate (pretty obvious when you look at the 
> patch). Lee has put this into the main repository. I'll bootstrap now 
> and post new images and synchronize alpha shortly.
>
> On Mar 17, 2005, at 4:25 PM, Brian Rice wrote:
>
>> Well, that's another issue (BUG); I'll start investigating.
>>
>> Note that "Nil is: Boolean" returns True somehow. So there's an 
>> inheritance problem. "Path from: Nil to: Boolean traits" gives me 
>> ("Path" traitsWindow traits). So I need to look deeper to see how to 
>> disentangle these objects. I'll reply when I have a result.
>>
>> Thanks!
>>
>> On Mar 17, 2005, at 3:31 PM, Tim Olson wrote:
>>
>>> On Mar 17, 2005, at 9: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).
>>>
>>> Interesting.  But that optimization only appears to happen when the 
>>> second argument is  a block.  However, when I evaluate:
>>>
>>> 	Nil \/ Nil
>>>
>>> I get "True", rather than a "method not found" error.
>>>
>>> The method being applied seems to be:
>>>
>>> _@(Boolean traits) \/ _@(Boolean traits) [True].
>>>
>>> as determined from this:
>>>
>>> [ | m1 m2 m3 |
>>> m1: (#\/ findOn: {True. True}).
>>> m2: (#\/ findOn: {Boolean. Boolean}).
>>> m3: (#\/ findOn: {Nil. Nil}).
>>> {m1 == m2. m1 == m3. m2 == m3}] do.
>>> => {True. True. True}
>>>
>>> This also appears to happen for small integers, as well as Nil.  So 
>>> how do Nil and the small integers match the (Boolean traits) trait?
>>>
>>> 	-- tim
--
Brian T. Rice
LOGOS Research and Development
http://tunes.org/~water/




More information about the Slate mailing list