In an Etoys image, you can switch a SystemBrowser to show the Smalltalk source code as tiles (it's the far-right "source" button that lets you switch to byte codes etc).
This uses SyntaxMorphs.
It's not typically used by Etoys users, or anyone really, except for making the point that "tile-based" programming can be just just as general as "text-based" programming. Both are simply user interfaces to specify behavior.
It would be cool to resurrect and improve though.
Btw, Jens Mönig made a similar browser for Smalltalk code using Scratch-like tiles. I think it was in his BYOB image. Looked pretty nice, too.
- Bert -
On Thu, Nov 30, 2017 at 12:24 PM, Bob Arning arning315@comcast.net wrote:
There is a preference -- #universalTiles -- that uses SyntaxMorph instead of PhraseTileMorph. What people are actually using, I do not know. Here is a snippet suggesting intentions (assuming you are the type to take comments at face value): newScriptorAround: aPhrase "Sprout a scriptor around aPhrase, thus making a new script. aPhrase may either be a PhraseTileMorph (classic tiles 1997-2001) or a SyntaxMorph (2001 onward)"
On 11/29/17 10:31 PM, David T. Lewis wrote:
Hmmm... I am using a Etoys-Dev-4.1 image for reference, and #testAll does run successfully in that image.
Sorry for asking a really dumb question, but I actually don't know if SyntaxMorph plays an important role in Etoys? Or is it just a leftover artifact of some earlier experiment?
From the point of view of an Etoys user, if SyntaxMorph is something that should work then we should import the missing methods and update them as needed. But if it is just a leftover curiousity that does not matter to the kids who actually use Etoys, then we can ignore it or delete it or deprecate it. Unfortunately I don't know Etoys very well, so I have to ask.
Dave
On Wed, Nov 29, 2017 at 10:02:01PM -0500, Bob Arning wrote:
FWIW, #testAll did not work as far back as Squeak 3.2 of 2002 vintage. The first error I encountered was in SyntaxMorph>>printCascadeNodeOn:indent: and I suspect that when SyntaxMorph was repurposed, cascades were not important.
On 11/29/17 9:31 PM, David T. Lewis wrote:
SyntaxMorph is in the Etoys package, but is missing the asMorphicSyntaxIn: methods that are needed in the ParseNode hierarchy.
I tried importing the missing methods from an Etoys development image, which is sufficient to make SyntaxMorph class>>test work. But SyntaxMorph class>>testAll runs into problems, so I am expecting that the various compiler and Spur enhancements in recent years mean that some work would need to be done in this area.
I am inclined to commit the current (old) version the missing methods to the Etoys package, but I do not want to do that if they were intentionally removed or if someone has a plan to provide a fully working update.
Dave