Is SyntaxMorph important?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Is SyntaxMorph important?

David T. Lewis
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


Reply | Threaded
Open this post in threaded view
|

Re: Is SyntaxMorph important?

Bob Arning-2

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





Reply | Threaded
Open this post in threaded view
|

Re: Is SyntaxMorph important?

David T. Lewis
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
> >
> >
>

>


Reply | Threaded
Open this post in threaded view
|

Re: Is SyntaxMorph important?

Bob Arning-2

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



      

      

      




Reply | Threaded
Open this post in threaded view
|

Re: Is SyntaxMorph important?

Bert Freudenberg
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 <[hidden email]> 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



      

      

      

    







Reply | Threaded
Open this post in threaded view
|

Re: Is SyntaxMorph important?

Hannes Hirzel
On 11/30/17, Bert Freudenberg <[hidden email]> wrote:
> 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).

How do I get at the SystemBrowser in an Etoy image?

--Hannes

>
> 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 <[hidden email]> 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
>>
>>
>>
>>
>>
>>
>>
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: Is SyntaxMorph important?

Bert Freudenberg
On Thu, Nov 30, 2017 at 5:37 PM, H. Hirzel <[hidden email]> wrote:
On 11/30/17, Bert Freudenberg <[hidden email]> wrote:
> 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).

How do I get at the SystemBrowser in an Etoy image?

--Hannes
Either press the view-source key (Cmd-Comma / Alt-Comma) and open a browser from that menu, or disable the etoyFriendly preference and use the regular world menu.

​- Bert -​






Reply | Threaded
Open this post in threaded view
|

Re: Is SyntaxMorph important?

David T. Lewis
In reply to this post by Bert Freudenberg
On Thu, Nov 30, 2017 at 04:56:42PM +0100, Bert Freudenberg wrote:
> 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.

Ah, good, I see it now.

>
> 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.

So I will assume that since we have SyntaxMorph in trunk for Etoys, and
since it is a thing that we would expect to work in an Etoys image, then we
should also include the necessary ParseNode methods in category *Etoys.

I also assume that it may not be fully functional in trunk at the moment.
But since it is in the (reloadable) Etoys package this may be expected, and
causes no problems for trunk overall.

Thanks!

Dave

>
> 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 <[hidden email]> 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
> >
> >
> >
> >
> >
> >
> >
> >

>