[squeak-dev] Did Alice wander?

John McKeon p3anoman at gmail.com
Thu Jul 23 22:41:36 UTC 2009


On Thu, Jul 23, 2009 at 6:26 PM, John McKeon <p3anoman at gmail.com> wrote:

>
>
> On Thu, Jul 23, 2009 at 12:11 PM, Eliot Miranda <eliot.miranda at gmail.com>wrote:
>
>> Hi Gary,
>>
>> On Thu, Jul 23, 2009 at 3:28 AM, Gary Dunn <osp at aloha.com> wrote:
>>
>>> On Thu, 2009-07-23 at 00:19 -0400, John McKeon wrote:
>>> >
>>> >
>>> > On Tue, Jul 21, 2009 at 12:57 PM, Gary Dunn <osp at aloha.com> wrote:
>>> >         I was reading about SqueakMap and came across the Swiki page
>>> >         for Alice
>>> >
>>> >         http://wiki.squeak.org/squeak/1861
>>> >
>>> >         Is anyone actively using Alice in Squeak?
>>> >
>>> >            - The page was last edited in 2004
>>> >
>>> >            - The first link is dead
>>> >
>>> >            - The second link goes to the new, improved Sun sponsored
>>> >         all Java
>>> >         version of Alice, which appears to be healthy
>>> >
>>> >            - The third link downloads a Ph.D. dissertation from 1997
>>> >
>>> >            - After the outdated info is a rant on the shortcomings of
>>> >         OpenGL.
>>> >         It just starts up, mid stream, "There is a serious design flaw
>>> >         in the
>>> >         lighting or rather the shading." This should be removed.
>>> >
>>> >            - A search on the Swiki for Alice includes a page on Falice
>>> >         which
>>> >         links to www.falice.com which is a parked domain.
>>> >
>>> >         Last but not least, when I try to load "FullImageProjectAlice"
>>> >         I get
>>> >         errors. Very likely I am doing something wrong.
>>> >
>>> >         Is this worth pursuing, or has Alice in Squeakland wandered
>>> >         off?
>>> >
>>> > Aloha Gary,
>>> > I remember the first time I saw Squeak, A;ice was pre-loaded in the
>>> > image, so I did some digging.
>>> > If  you are really interested go to ftp.squeak.org and download a a
>>> > 2.x version of Squeak.
>>> > The 2.8 distribution has it installed. Be warned, the older Squeak
>>> > interface might disappoint you ;)
>>> >
>>> > Regards
>>> > John McKeon
>>>
>>> Thanks, John. I downloaded the 2.8 image and changes files, and the V2
>>> sources, and launched squeak with those. It opens fine, if old looking,
>>> and Alice is in there. I did a Wonderland new. and ran into an error:
>>>
>>> mustBeBoolean
>>>        "Catches attempts to test truth of non-Booleans.  This message is
>>> sent
>>> from the
>>>        interpreter."
>>>
>>>        self error: 'NonBoolean receiver--proceed for truth.'.
>>>        ^true
>>>
>>> The offending code is
>>>
>>> areasRemainingToFill: aRectangle
>>>        ^myCamera drawSceneBackground
>>>                ifTrue:[aRectangle areasOutside: self bounds]
>>>                ifFalse:[Array with: aRectangle]
>>>
>>> where "bounds" in the ifTrue branch is highlighted.
>>
>>
>> This looks as if myCamera drawSceneBackground is not returning a boolean.
>>  Certain messages, in particular ifTrue: ifFalse: ifTrue:ifFalse: whileTrue:
>> and whileFalse: are inlined by the compiler into conditional branch
>> instructions which operate on the object on top of stack.  The conditional
>> branches expect either true or false, the sole instances of True and False
>> respectively.  When they encounter something other than true or false the VM
>> sends mustBeBoolean to that
>> object.  So look in the debugger at the object that has received mustBeBoolean.  This was the result that myCamera
>> drawSceneBackground returned, whereas areasRemainingToFill: expected a
>> boolean.
>>
>> HTH
>> Eliot
>>
>
Those errors disappear with the latest code in a 3.10 image.


>
>>>
>>> A little more digging reveals that senders of bounds have something to
>>> do with AlignmentMorph, which is old stuff -- is the problem that ny VM
>>> is too "new.?"
>>>
>>> Any suggestions as to how to proceed? Is there a way to cast "bounds" to
>>> the Boolean requirement? Sorry, that's my C showing.
>>
>>
> I believe that is what makes Smalltalk a *strongly* typed language. No
> typecasting.
>
> Loading the latest Baloon3D code from Squeaksource yields somewhat better
> results but there is a bit of post load actions that appear to be required.
>

Sorry, prematurely sent.

I evaluated all of the following the first two of which are definitely
needed but I am not sure of the other two.
     WonderlandConstants initialize.
     WonderlandConstants recompileUsers.
     B3DHardwareEngine initialize.
     B3DAcceleratorPlugin new initialiseModule.

I am able to get Wonderland new to run. But a warning message tells me that
B3DPrimitiveEngine is not enabled (and I cannot as yet figure out how to
enable it). Once Alice is running no graphics are rendered, just a blue
screen(!) :)

Then mousing over Wonderland throws errors in WonderlandCamera>>pickAt:
aPoint when it calls
   B3DRenderEngine defaultForPlatformOn: nil
where nil should be(?) a Form object. BitBlt eventually tries to access the
boundingBox of this undefined object.in BitBlt>>setDestForm: aForm causing
an MNU

Thats as far as I have gotten for now,
John




>
>
>
>>
>>>
>>> --
>>> Gary Dunn, Honolulu
>>> osp at aloha.com
>>> http://openslate.net/
>>> http://e9erust.blogspot.com/
>>> Sent from Slate001
>>>
>>>
>>>
>>
>>
>>
>>
>
>
> --
> http://jmck.seasidehosting.st
>



-- 
http://jmck.seasidehosting.st
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20090723/8c8ba7e1/attachment.htm


More information about the Squeak-dev mailing list