On Thu, Jul 23, 2009 at 12:11 PM, Eliot Miranda <eliot.miranda@gmail.com> wrote:
Hi Gary,

On Thu, Jul 23, 2009 at 3:28 AM, Gary Dunn <osp@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@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


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.

 


--
Gary Dunn, Honolulu
osp@aloha.com
http://openslate.net/
http://e9erust.blogspot.com/
Sent from Slate001









--
http://jmck.seasidehosting.st