[Squeakland] Random

Scott Wallace scott.wallace at squeakland.org
Wed Apr 13 05:35:21 PDT 2005


At 8:26 AM -0700 4/12/05, Alan Kay wrote:
>
>... That we can't simply drop a variable name on Random (and extend 
>it for arithmetic) is a bug and should be fixed in this version of 
>etoys or the next.

The solution to this requires implementation of support for unary 
numeric operators in the tile system, which we've never had, but 
which some people have been politely requesting for a good long time 
now.

I offer, attached, a preliminary fileout that actually adds functions to etoys!

Although this is not quite finished from a number of standpoints, 
it's probably good enough to criticize.  I offer it up to those in 
the community who are comfortable with "filing in" change-sets such 
as this, for your comments.  [Caution: projects saved using this will 
only be intelligible to other Squeak images that also also have this 
code in them.)

Once you file it in to a Squeakland system, numeric functions will 
become available at any time for any numeric-valued quantity in any 
tile script, in the following two ways:

(1)  If you bring up the halo on the "pad" that holds any numeric 
value in a script, you'll see in the halo menu a new item "place into 
a function".  (Holding down the shift key as you click through the 
halo layers will make it easier to zero in on the object you want to 
give the halo to.)

(2)  Also, if you hold down the *shift* key while you click on an 
extension (right-facing) caret, it is interpreted as a request to 
place the numeric tile within a function call.

As you'll see, when you do either of these, the former numeric 
quantity, whether it be a simple constant or slot, or a numeric 
expression of whatever complexity, will sprout an "abs" function 
around it.  You can then click on the arrows to cycle among the 
available functions (I've provided 15 to start with,) or you can 
click on the function name to get a pop-up of all the choices.


The dual of this is that if *have* a function and you want to 
eliminate it, bring up the halo on the Function and choose "remove 
function."

What do you think?

Cheers,

  -- Scott
-------------- next part --------------
A non-text attachment was scrubbed...
Name: %functionTiles-sw.2.cs.gz
Type: application/applefile
Size: 134 bytes
Desc: not available
Url : http://squeakland.org/pipermail/squeakland/attachments/20050413/4275eb3d/functionTiles-sw.2.cs.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: functionTiles-sw.2.cs.gz
Type: application/octet-stream
Size: 2969 bytes
Desc: not available
Url : http://squeakland.org/pipermail/squeakland/attachments/20050413/4275eb3d/functionTiles-sw.2.cs.obj


More information about the Squeakland mailing list