OMeta 2

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

OMeta 2

Phil B
... is alive!  Several caveats so please check out the README for the
latest updates as things progress:
https://github.com/pbella/Cuis-Ports#ometa-2

Thanks,
Phil


_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OMeta 2

Hannes Hirzel
Great achievement, Phil!

I did a test and the provided examples work fine.

For convenience I combine below the installation instructions taken
from different mails from yesterday.

--Hannes



A. Reestablish #compilerClass in Cuis

1) Unzip attached file compilerClass.zip
2) start Cuis 2330
3) Open file list
4) click on 2331
5) click on [install]
6) click on 2332
7) click on [install]



B. pull down the OMeta*.st files from https://github.com/pbella/Cuis-Ports



C. File in in the  following sequence
      - OMeta2-stage1.st
      - OMeta2-stage2a.st
      - OMeta2-stage2b.st

also see notes: https://github.com/pbella/Cuis-Ports#ometa-2


D. Check examples in the
     OMeta2Examples
   class

        OMeta2Examples match: 5 with: #fact.
        OMeta2Examples matchAll: '1234' with: #number.
        OMeta2Examples matchAll: 'abc123' with: #identifier.
        OMeta2Examples matchAll: #($a $b $c 1 2 3 #(4 5)) with: #structure.
        OMeta2Examples matchAll: 'howdy' with: #greeting.




On 5/20/15, Phil (list) <[hidden email]> wrote:

> ... is alive!  Several caveats so please check out the README for the
> latest updates as things progress:
> https://github.com/pbella/Cuis-Ports#ometa-2
>
> Thanks,
> Phil
>
>
> _______________________________________________
> Cuis mailing list
> [hidden email]
> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>

_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org

compilerClass.zip (24K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: OMeta 2

Hannes Hirzel
From the description of OMeta

http://www.vpri.org/pdf/tr2008003_experimenting.pdf

By extending Parsing Expression Grammars (PEGs) [For04] with support for pattern
matching on arbitrary datatypes, left recursion, and parameterized and
higher-order
rules, OMeta gives programmers a natural and convenient way to
implement parsers,
visitors, and tree transformers, all of which can be extended in
interesting ways using
familiar object-oriented mechanisms. This makes OMeta particularly
well-suited as a
tool for building language implementations and extensions.

On 5/21/15, H. Hirzel <[hidden email]> wrote:

> Great achievement, Phil!
>
> I did a test and the provided examples work fine.
>
> For convenience I combine below the installation instructions taken
> from different mails from yesterday.
>
> --Hannes
>
>
>
> A. Reestablish #compilerClass in Cuis
>
> 1) Unzip attached file compilerClass.zip
> 2) start Cuis 2330
> 3) Open file list
> 4) click on 2331
> 5) click on [install]
> 6) click on 2332
> 7) click on [install]
>
>
>
> B. pull down the OMeta*.st files from https://github.com/pbella/Cuis-Ports
>
>
>
> C. File in in the  following sequence
>       - OMeta2-stage1.st
>       - OMeta2-stage2a.st
>       - OMeta2-stage2b.st
>
> also see notes: https://github.com/pbella/Cuis-Ports#ometa-2
>
>
> D. Check examples in the
>      OMeta2Examples
>    class
>
>         OMeta2Examples match: 5 with: #fact.
> OMeta2Examples matchAll: '1234' with: #number.
> OMeta2Examples matchAll: 'abc123' with: #identifier.
> OMeta2Examples matchAll: #($a $b $c 1 2 3 #(4 5)) with: #structure.
> OMeta2Examples matchAll: 'howdy' with: #greeting.
>
>
>
>
> On 5/20/15, Phil (list) <[hidden email]> wrote:
>> ... is alive!  Several caveats so please check out the README for the
>> latest updates as things progress:
>> https://github.com/pbella/Cuis-Ports#ometa-2
>>
>> Thanks,
>> Phil
>>
>>
>> _______________________________________________
>> Cuis mailing list
>> [hidden email]
>> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>>
>

_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OMeta 2

Hannes Hirzel
And from here
http://www.tinlizzie.org/~awarth/papers/dls07.pdf  (section 3 intro)

<citation>
By making OMeta an object-oriented language (i.e., making grammars
analogous to classes and productions analogous to methods), several
interesting things became possible.
</citation>

On 5/21/15, H. Hirzel <[hidden email]> wrote:

> From the description of OMeta
>
> http://www.vpri.org/pdf/tr2008003_experimenting.pdf
>
> By extending Parsing Expression Grammars (PEGs) [For04] with support for
> pattern
> matching on arbitrary datatypes, left recursion, and parameterized and
> higher-order
> rules, OMeta gives programmers a natural and convenient way to
> implement parsers,
> visitors, and tree transformers, all of which can be extended in
> interesting ways using
> familiar object-oriented mechanisms. This makes OMeta particularly
> well-suited as a
> tool for building language implementations and extensions.
>
> On 5/21/15, H. Hirzel <[hidden email]> wrote:
>> Great achievement, Phil!
>>
>> I did a test and the provided examples work fine.
>>
>> For convenience I combine below the installation instructions taken
>> from different mails from yesterday.
>>
>> --Hannes
>>
>>
>>
>> A. Reestablish #compilerClass in Cuis
>>
>> 1) Unzip attached file compilerClass.zip
>> 2) start Cuis 2330
>> 3) Open file list
>> 4) click on 2331
>> 5) click on [install]
>> 6) click on 2332
>> 7) click on [install]
>>
>>
>>
>> B. pull down the OMeta*.st files from
>> https://github.com/pbella/Cuis-Ports
>>
>>
>>
>> C. File in in the  following sequence
>>       - OMeta2-stage1.st
>>       - OMeta2-stage2a.st
>>       - OMeta2-stage2b.st
>>
>> also see notes: https://github.com/pbella/Cuis-Ports#ometa-2
>>
>>
>> D. Check examples in the
>>      OMeta2Examples
>>    class
>>
>>         OMeta2Examples match: 5 with: #fact.
>> OMeta2Examples matchAll: '1234' with: #number.
>> OMeta2Examples matchAll: 'abc123' with: #identifier.
>> OMeta2Examples matchAll: #($a $b $c 1 2 3 #(4 5)) with: #structure.
>> OMeta2Examples matchAll: 'howdy' with: #greeting.
>>
>>
>>
>>
>> On 5/20/15, Phil (list) <[hidden email]> wrote:
>>> ... is alive!  Several caveats so please check out the README for the
>>> latest updates as things progress:
>>> https://github.com/pbella/Cuis-Ports#ometa-2
>>>
>>> Thanks,
>>> Phil
>>>
>>>
>>> _______________________________________________
>>> Cuis mailing list
>>> [hidden email]
>>> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>>>
>>
>

_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OMeta 2

Hannes Hirzel
And from here http://www.vpri.org/pdf/tr2008003_experimenting.pdf (end
of section 1.2)

<citation>
ll computation takes place inside a world, which captures all of the
side effects—changes to global, local, and instance variables, arrays,
etc.—that happen inside it.

Worlds provide multiple views on the state of a program, and mechanisms
for interacting among these views. They subsume the mechanisms of backtracking,
tentative evaluation, possible worlds, undo, and many similar control
and state regimes.

We shall see that while it is often convenient for programmers to use
worlds directly,
there are also cases where worlds are better suited as a kind of
“semantic building
block” for higher-level language constructs.
</citation>

On 5/21/15, H. Hirzel <[hidden email]> wrote:

> And from here
> http://www.tinlizzie.org/~awarth/papers/dls07.pdf  (section 3 intro)
>
> <citation>
> By making OMeta an object-oriented language (i.e., making grammars
> analogous to classes and productions analogous to methods), several
> interesting things became possible.
> </citation>
>
> On 5/21/15, H. Hirzel <[hidden email]> wrote:
>> From the description of OMeta
>>
>> http://www.vpri.org/pdf/tr2008003_experimenting.pdf
>>
>> By extending Parsing Expression Grammars (PEGs) [For04] with support for
>> pattern
>> matching on arbitrary datatypes, left recursion, and parameterized and
>> higher-order
>> rules, OMeta gives programmers a natural and convenient way to
>> implement parsers,
>> visitors, and tree transformers, all of which can be extended in
>> interesting ways using
>> familiar object-oriented mechanisms. This makes OMeta particularly
>> well-suited as a
>> tool for building language implementations and extensions.
>>
>> On 5/21/15, H. Hirzel <[hidden email]> wrote:
>>> Great achievement, Phil!
>>>
>>> I did a test and the provided examples work fine.
>>>
>>> For convenience I combine below the installation instructions taken
>>> from different mails from yesterday.
>>>
>>> --Hannes
>>>
>>>
>>>
>>> A. Reestablish #compilerClass in Cuis
>>>
>>> 1) Unzip attached file compilerClass.zip
>>> 2) start Cuis 2330
>>> 3) Open file list
>>> 4) click on 2331
>>> 5) click on [install]
>>> 6) click on 2332
>>> 7) click on [install]
>>>
>>>
>>>
>>> B. pull down the OMeta*.st files from
>>> https://github.com/pbella/Cuis-Ports
>>>
>>>
>>>
>>> C. File in in the  following sequence
>>>       - OMeta2-stage1.st
>>>       - OMeta2-stage2a.st
>>>       - OMeta2-stage2b.st
>>>
>>> also see notes: https://github.com/pbella/Cuis-Ports#ometa-2
>>>
>>>
>>> D. Check examples in the
>>>      OMeta2Examples
>>>    class
>>>
>>>         OMeta2Examples match: 5 with: #fact.
>>> OMeta2Examples matchAll: '1234' with: #number.
>>> OMeta2Examples matchAll: 'abc123' with: #identifier.
>>> OMeta2Examples matchAll: #($a $b $c 1 2 3 #(4 5)) with: #structure.
>>> OMeta2Examples matchAll: 'howdy' with: #greeting.
>>>
>>>
>>>
>>>
>>> On 5/20/15, Phil (list) <[hidden email]> wrote:
>>>> ... is alive!  Several caveats so please check out the README for the
>>>> latest updates as things progress:
>>>> https://github.com/pbella/Cuis-Ports#ometa-2
>>>>
>>>> Thanks,
>>>> Phil
>>>>
>>>>
>>>> _______________________________________________
>>>> Cuis mailing list
>>>> [hidden email]
>>>> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>>>>
>>>
>>
>

_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OMeta 2

Phil B
In reply to this post by Hannes Hirzel
On Thu, 2015-05-21 at 05:54 +0000, H. Hirzel wrote:
> Great achievement, Phil!
>

Thanks and we owe Juan a big 'thank you!'... he did the hardest part.

> I did a test and the provided examples work fine.
>

Fantastic! (I always hate leaving things at 'but it worked for me...')

> For convenience I combine below the installation instructions taken
> from different mails from yesterday.
>

You captured it perfectly.

Also, if you come up with any quick examples that you find helpful in
finding your bearings or demonstrating a concept, please pass them along
and I'll put them into an examples project to try to help others.  One
thing I remember is that there was a bit of a learning curve simply
because the docs and examples are so sparse (especially for the
Smalltalk version OMeta... most of what you are likely to find on the
web is geared toward the Javascript version since that's where the
masses are)

> --Hannes
>
>
>
> A. Reestablish #compilerClass in Cuis
>
> 1) Unzip attached file compilerClass.zip
> 2) start Cuis 2330
> 3) Open file list
> 4) click on 2331
> 5) click on [install]
> 6) click on 2332
> 7) click on [install]
>
>
>
> B. pull down the OMeta*.st files from https://github.com/pbella/Cuis-Ports
>
>
>
> C. File in in the  following sequence
>       - OMeta2-stage1.st
>       - OMeta2-stage2a.st
>       - OMeta2-stage2b.st
>
> also see notes: https://github.com/pbella/Cuis-Ports#ometa-2
>
>
> D. Check examples in the
>      OMeta2Examples
>    class
>
>         OMeta2Examples match: 5 with: #fact.
> OMeta2Examples matchAll: '1234' with: #number.
> OMeta2Examples matchAll: 'abc123' with: #identifier.
> OMeta2Examples matchAll: #($a $b $c 1 2 3 #(4 5)) with: #structure.
> OMeta2Examples matchAll: 'howdy' with: #greeting.
>
>
>
>
> On 5/20/15, Phil (list) <[hidden email]> wrote:
> > ... is alive!  Several caveats so please check out the README for the
> > latest updates as things progress:
> > https://github.com/pbella/Cuis-Ports#ometa-2
> >
> > Thanks,
> > Phil
> >
> >
> > _______________________________________________
> > Cuis mailing list
> > [hidden email]
> > http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
> >
> _______________________________________________
> Cuis mailing list
> [hidden email]
> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org



_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OMeta 2

Hannes Hirzel
Yes, now we need more examples.

BTW which source file did you use for the port

http://www.squeaksource.com/OMeta/

?

On 5/21/15, Phil (list) <[hidden email]> wrote:

> On Thu, 2015-05-21 at 05:54 +0000, H. Hirzel wrote:
>> Great achievement, Phil!
>>
>
> Thanks and we owe Juan a big 'thank you!'... he did the hardest part.
>
>> I did a test and the provided examples work fine.
>>
>
> Fantastic! (I always hate leaving things at 'but it worked for me...')
>
>> For convenience I combine below the installation instructions taken
>> from different mails from yesterday.
>>
>
> You captured it perfectly.
>
> Also, if you come up with any quick examples that you find helpful in
> finding your bearings or demonstrating a concept, please pass them along
> and I'll put them into an examples project to try to help others.  One
> thing I remember is that there was a bit of a learning curve simply
> because the docs and examples are so sparse (especially for the
> Smalltalk version OMeta... most of what you are likely to find on the
> web is geared toward the Javascript version since that's where the
> masses are)
>
>> --Hannes
>>
>>
>>
>> A. Reestablish #compilerClass in Cuis
>>
>> 1) Unzip attached file compilerClass.zip
>> 2) start Cuis 2330
>> 3) Open file list
>> 4) click on 2331
>> 5) click on [install]
>> 6) click on 2332
>> 7) click on [install]
>>
>>
>>
>> B. pull down the OMeta*.st files from
>> https://github.com/pbella/Cuis-Ports
>>
>>
>>
>> C. File in in the  following sequence
>>       - OMeta2-stage1.st
>>       - OMeta2-stage2a.st
>>       - OMeta2-stage2b.st
>>
>> also see notes: https://github.com/pbella/Cuis-Ports#ometa-2
>>
>>
>> D. Check examples in the
>>      OMeta2Examples
>>    class
>>
>>         OMeta2Examples match: 5 with: #fact.
>> OMeta2Examples matchAll: '1234' with: #number.
>> OMeta2Examples matchAll: 'abc123' with: #identifier.
>> OMeta2Examples matchAll: #($a $b $c 1 2 3 #(4 5)) with: #structure.
>> OMeta2Examples matchAll: 'howdy' with: #greeting.
>>
>>
>>
>>
>> On 5/20/15, Phil (list) <[hidden email]> wrote:
>> > ... is alive!  Several caveats so please check out the README for the
>> > latest updates as things progress:
>> > https://github.com/pbella/Cuis-Ports#ometa-2
>> >
>> > Thanks,
>> > Phil
>> >
>> >
>> > _______________________________________________
>> > Cuis mailing list
>> > [hidden email]
>> > http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>> >
>> _______________________________________________
>> Cuis mailing list
>> [hidden email]
>> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>
>
>
> _______________________________________________
> Cuis mailing list
> [hidden email]
> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>

_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OMeta 2

Frank Shearar-3
In reply to this post by Hannes Hirzel
On 21 May 2015 at 07:19, H. Hirzel <[hidden email]> wrote:

> From the description of OMeta
>
> http://www.vpri.org/pdf/tr2008003_experimenting.pdf
>
> By extending Parsing Expression Grammars (PEGs) [For04] with support for pattern
> matching on arbitrary datatypes, left recursion, and parameterized and
> higher-order
> rules, OMeta gives programmers a natural and convenient way to
> implement parsers,
> visitors, and tree transformers, all of which can be extended in
> interesting ways using
> familiar object-oriented mechanisms. This makes OMeta particularly
> well-suited as a
> tool for building language implementations and extensions.

The left recursion extension isn't totally perfect:
http://tratt.net/laurie/research/pubs/papers/tratt__direct_left_recursive_parsing_expression_grammars.pdf

But it's good enough that I never ran into the issues described in that paper.

Don't forget to advertise this coolness on the OMeta list!

frank

> On 5/21/15, H. Hirzel <[hidden email]> wrote:
>> Great achievement, Phil!
>>
>> I did a test and the provided examples work fine.
>>
>> For convenience I combine below the installation instructions taken
>> from different mails from yesterday.
>>
>> --Hannes
>>
>>
>>
>> A. Reestablish #compilerClass in Cuis
>>
>> 1) Unzip attached file compilerClass.zip
>> 2) start Cuis 2330
>> 3) Open file list
>> 4) click on 2331
>> 5) click on [install]
>> 6) click on 2332
>> 7) click on [install]
>>
>>
>>
>> B. pull down the OMeta*.st files from https://github.com/pbella/Cuis-Ports
>>
>>
>>
>> C. File in in the  following sequence
>>       - OMeta2-stage1.st
>>       - OMeta2-stage2a.st
>>       - OMeta2-stage2b.st
>>
>> also see notes: https://github.com/pbella/Cuis-Ports#ometa-2
>>
>>
>> D. Check examples in the
>>      OMeta2Examples
>>    class
>>
>>         OMeta2Examples match: 5 with: #fact.
>>       OMeta2Examples matchAll: '1234' with: #number.
>>       OMeta2Examples matchAll: 'abc123' with: #identifier.
>>       OMeta2Examples matchAll: #($a $b $c 1 2 3 #(4 5)) with: #structure.
>>       OMeta2Examples matchAll: 'howdy' with: #greeting.
>>
>>
>>
>>
>> On 5/20/15, Phil (list) <[hidden email]> wrote:
>>> ... is alive!  Several caveats so please check out the README for the
>>> latest updates as things progress:
>>> https://github.com/pbella/Cuis-Ports#ometa-2
>>>
>>> Thanks,
>>> Phil
>>>
>>>
>>> _______________________________________________
>>> Cuis mailing list
>>> [hidden email]
>>> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>>>
>>
>
> _______________________________________________
> Cuis mailing list
> [hidden email]
> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org

_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OMeta 2

Hannes Hirzel
Frank,

thanks for the note about left recursion in OMeta and the link to a
research paper.

I think we need some more OMeta example grammars first before advertising.

Toy grammars to check the implementation and for people to learn.

--Hannes

On 5/21/15, Frank Shearar <[hidden email]> wrote:

> On 21 May 2015 at 07:19, H. Hirzel <[hidden email]> wrote:
>> From the description of OMeta
>>
>> http://www.vpri.org/pdf/tr2008003_experimenting.pdf
>>
>> By extending Parsing Expression Grammars (PEGs) [For04] with support for
>> pattern
>> matching on arbitrary datatypes, left recursion, and parameterized and
>> higher-order
>> rules, OMeta gives programmers a natural and convenient way to
>> implement parsers,
>> visitors, and tree transformers, all of which can be extended in
>> interesting ways using
>> familiar object-oriented mechanisms. This makes OMeta particularly
>> well-suited as a
>> tool for building language implementations and extensions.
>
> The left recursion extension isn't totally perfect:
> http://tratt.net/laurie/research/pubs/papers/tratt__direct_left_recursive_parsing_expression_grammars.pdf
>
> But it's good enough that I never ran into the issues described in that
> paper.
>
> Don't forget to advertise this coolness on the OMeta list!
>
> frank
>
>> On 5/21/15, H. Hirzel <[hidden email]> wrote:
>>> Great achievement, Phil!
>>>
>>> I did a test and the provided examples work fine.
>>>
>>> For convenience I combine below the installation instructions taken
>>> from different mails from yesterday.
>>>
>>> --Hannes
>>>
>>>
>>>
>>> A. Reestablish #compilerClass in Cuis
>>>
>>> 1) Unzip attached file compilerClass.zip
>>> 2) start Cuis 2330
>>> 3) Open file list
>>> 4) click on 2331
>>> 5) click on [install]
>>> 6) click on 2332
>>> 7) click on [install]
>>>
>>>
>>>
>>> B. pull down the OMeta*.st files from
>>> https://github.com/pbella/Cuis-Ports
>>>
>>>
>>>
>>> C. File in in the  following sequence
>>>       - OMeta2-stage1.st
>>>       - OMeta2-stage2a.st
>>>       - OMeta2-stage2b.st
>>>
>>> also see notes: https://github.com/pbella/Cuis-Ports#ometa-2
>>>
>>>
>>> D. Check examples in the
>>>      OMeta2Examples
>>>    class
>>>
>>>         OMeta2Examples match: 5 with: #fact.
>>>       OMeta2Examples matchAll: '1234' with: #number.
>>>       OMeta2Examples matchAll: 'abc123' with: #identifier.
>>>       OMeta2Examples matchAll: #($a $b $c 1 2 3 #(4 5)) with:
>>> #structure.
>>>       OMeta2Examples matchAll: 'howdy' with: #greeting.
>>>
>>>
>>>
>>>
>>> On 5/20/15, Phil (list) <[hidden email]> wrote:
>>>> ... is alive!  Several caveats so please check out the README for the
>>>> latest updates as things progress:
>>>> https://github.com/pbella/Cuis-Ports#ometa-2
>>>>
>>>> Thanks,
>>>> Phil
>>>>
>>>>
>>>> _______________________________________________
>>>> Cuis mailing list
>>>> [hidden email]
>>>> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>>>>
>>>
>>
>> _______________________________________________
>> Cuis mailing list
>> [hidden email]
>> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>
> _______________________________________________
> Cuis mailing list
> [hidden email]
> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>

_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OMeta 2

Phil B
In reply to this post by Hannes Hirzel
On Thu, 2015-05-21 at 11:04 +0000, H. Hirzel wrote:
> Yes, now we need more examples.
>
> BTW which source file did you use for the port
>
> http://www.squeaksource.com/OMeta/
>
> ?
>

Good question... I'll have to take a look.  It shouldn't be a problem
incorporating any bug fixes from SqueakSource as it hasn't been an
actively developed package for some time.  (Which is a shame, there's so
much more to do...)

> On 5/21/15, Phil (list) <[hidden email]> wrote:
> > On Thu, 2015-05-21 at 05:54 +0000, H. Hirzel wrote:
> >> Great achievement, Phil!
> >>
> >
> > Thanks and we owe Juan a big 'thank you!'... he did the hardest part.
> >
> >> I did a test and the provided examples work fine.
> >>
> >
> > Fantastic! (I always hate leaving things at 'but it worked for me...')
> >
> >> For convenience I combine below the installation instructions taken
> >> from different mails from yesterday.
> >>
> >
> > You captured it perfectly.
> >
> > Also, if you come up with any quick examples that you find helpful in
> > finding your bearings or demonstrating a concept, please pass them along
> > and I'll put them into an examples project to try to help others.  One
> > thing I remember is that there was a bit of a learning curve simply
> > because the docs and examples are so sparse (especially for the
> > Smalltalk version OMeta... most of what you are likely to find on the
> > web is geared toward the Javascript version since that's where the
> > masses are)
> >
> >> --Hannes
> >>
> >>
> >>
> >> A. Reestablish #compilerClass in Cuis
> >>
> >> 1) Unzip attached file compilerClass.zip
> >> 2) start Cuis 2330
> >> 3) Open file list
> >> 4) click on 2331
> >> 5) click on [install]
> >> 6) click on 2332
> >> 7) click on [install]
> >>
> >>
> >>
> >> B. pull down the OMeta*.st files from
> >> https://github.com/pbella/Cuis-Ports
> >>
> >>
> >>
> >> C. File in in the  following sequence
> >>       - OMeta2-stage1.st
> >>       - OMeta2-stage2a.st
> >>       - OMeta2-stage2b.st
> >>
> >> also see notes: https://github.com/pbella/Cuis-Ports#ometa-2
> >>
> >>
> >> D. Check examples in the
> >>      OMeta2Examples
> >>    class
> >>
> >>         OMeta2Examples match: 5 with: #fact.
> >> OMeta2Examples matchAll: '1234' with: #number.
> >> OMeta2Examples matchAll: 'abc123' with: #identifier.
> >> OMeta2Examples matchAll: #($a $b $c 1 2 3 #(4 5)) with: #structure.
> >> OMeta2Examples matchAll: 'howdy' with: #greeting.
> >>
> >>
> >>
> >>
> >> On 5/20/15, Phil (list) <[hidden email]> wrote:
> >> > ... is alive!  Several caveats so please check out the README for the
> >> > latest updates as things progress:
> >> > https://github.com/pbella/Cuis-Ports#ometa-2
> >> >
> >> > Thanks,
> >> > Phil
> >> >
> >> >
> >> > _______________________________________________
> >> > Cuis mailing list
> >> > [hidden email]
> >> > http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
> >> >
> >> _______________________________________________
> >> Cuis mailing list
> >> [hidden email]
> >> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
> >
> >
> >
> > _______________________________________________
> > Cuis mailing list
> > [hidden email]
> > http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
> >
>
> _______________________________________________
> Cuis mailing list
> [hidden email]
> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org



_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OMeta 2

Phil B
On Thu, 2015-05-21 at 12:26 -0400, Phil (list) wrote:

> On Thu, 2015-05-21 at 11:04 +0000, H. Hirzel wrote:
> > Yes, now we need more examples.
> >
> > BTW which source file did you use for the port
> >
> > http://www.squeaksource.com/OMeta/
> >
> > ?
> >
>
> Good question... I'll have to take a look.  It shouldn't be a problem
> incorporating any bug fixes from SqueakSource as it hasn't been an
> actively developed package for some time.  (Which is a shame, there's so
> much more to do...)
>

Oh yes, more fond memories of getting this thing running way back when
are coming back to me.  I ended up falling back to Alex's (the original
author) version as I had problems with the SqueakSource version.
Normally, I just unzip the .mcz to grab the sources.st and, after making
whatever fixes are needed to get it working with Cuis, just filein the
code.  For whatever reason, the .mcz from SqueakSource seemed to have
the classes/methods defined in the wrong order (i.e. subclasses defined
before the parent class) and as a result was throwing MNU errors for
methods defined further down in the source file.  On top of that, the
latest version in SqueakSource no longer appears to load in current
versions of Squeak (4.5) so unless someone wants to fix it...

I've done a diff of the first and last versions from SS and it's only
couple of pages of changes.  However, I'm not sure how far apart the
baseline versions are (diffs between Alex's version and SqueakSource are
large likely due to the different ordering of class/method definitions)
so I'm reluctant to want to apply them without a decent set of test
cases to ensure the changes aren't creating more problems than they
solve.  Without test cases, I prefer to put my faith in the work Alex
did more than what came after...

> > On 5/21/15, Phil (list) <[hidden email]> wrote:
> > > On Thu, 2015-05-21 at 05:54 +0000, H. Hirzel wrote:
> > >> Great achievement, Phil!
> > >>
> > >
> > > Thanks and we owe Juan a big 'thank you!'... he did the hardest part.
> > >
> > >> I did a test and the provided examples work fine.
> > >>
> > >
> > > Fantastic! (I always hate leaving things at 'but it worked for me...')
> > >
> > >> For convenience I combine below the installation instructions taken
> > >> from different mails from yesterday.
> > >>
> > >
> > > You captured it perfectly.
> > >
> > > Also, if you come up with any quick examples that you find helpful in
> > > finding your bearings or demonstrating a concept, please pass them along
> > > and I'll put them into an examples project to try to help others.  One
> > > thing I remember is that there was a bit of a learning curve simply
> > > because the docs and examples are so sparse (especially for the
> > > Smalltalk version OMeta... most of what you are likely to find on the
> > > web is geared toward the Javascript version since that's where the
> > > masses are)
> > >
> > >> --Hannes
> > >>
> > >>
> > >>
> > >> A. Reestablish #compilerClass in Cuis
> > >>
> > >> 1) Unzip attached file compilerClass.zip
> > >> 2) start Cuis 2330
> > >> 3) Open file list
> > >> 4) click on 2331
> > >> 5) click on [install]
> > >> 6) click on 2332
> > >> 7) click on [install]
> > >>
> > >>
> > >>
> > >> B. pull down the OMeta*.st files from
> > >> https://github.com/pbella/Cuis-Ports
> > >>
> > >>
> > >>
> > >> C. File in in the  following sequence
> > >>       - OMeta2-stage1.st
> > >>       - OMeta2-stage2a.st
> > >>       - OMeta2-stage2b.st
> > >>
> > >> also see notes: https://github.com/pbella/Cuis-Ports#ometa-2
> > >>
> > >>
> > >> D. Check examples in the
> > >>      OMeta2Examples
> > >>    class
> > >>
> > >>         OMeta2Examples match: 5 with: #fact.
> > >> OMeta2Examples matchAll: '1234' with: #number.
> > >> OMeta2Examples matchAll: 'abc123' with: #identifier.
> > >> OMeta2Examples matchAll: #($a $b $c 1 2 3 #(4 5)) with: #structure.
> > >> OMeta2Examples matchAll: 'howdy' with: #greeting.
> > >>
> > >>
> > >>
> > >>
> > >> On 5/20/15, Phil (list) <[hidden email]> wrote:
> > >> > ... is alive!  Several caveats so please check out the README for the
> > >> > latest updates as things progress:
> > >> > https://github.com/pbella/Cuis-Ports#ometa-2
> > >> >
> > >> > Thanks,
> > >> > Phil
> > >> >
> > >> >
> > >> > _______________________________________________
> > >> > Cuis mailing list
> > >> > [hidden email]
> > >> > http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
> > >> >
> > >> _______________________________________________
> > >> Cuis mailing list
> > >> [hidden email]
> > >> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
> > >
> > >
> > >
> > > _______________________________________________
> > > Cuis mailing list
> > > [hidden email]
> > > http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
> > >
> >
> > _______________________________________________
> > Cuis mailing list
> > [hidden email]
> > http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>



_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OMeta 2

Phil B
In reply to this post by Hannes Hirzel
I just pushed out an update that alters the instructions a bit:


On Thu, 2015-05-21 at 05:54 +0000, H. Hirzel wrote:
> C. File in in the  following sequence
>       - OMeta2-stage1.st
>       - OMeta2-stage2a.st
>       - OMeta2-stage2b.st

Should now read:

C. File in / install in the following sequence
- OMeta2-stage1.st
- OMeta2.pck.st
- OMeta2Tests.pck.st (optional)

(It turns out I needed to hurry up and get it packaged because I screwed
up: some of the most important rewrites in OMeta (the OMeta2 class
itself and a couple others) aren't currently in the repo.  These are
critical because it's not only the most current, but also the best
documentation on OMeta 2 syntax.  Now that the existing code packaged,
we will be able to diff this commit and my next one to see only what is
changing going from Smalltalk to 'pure' OMeta 2 syntax should anything
go wrong.  It might be tomorrow before the next commit is ready...)

Thanks,
Phil


_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OMeta 2

Phil B
OK, OMeta is now written in OMeta again.

On Fri, 2015-05-22 at 18:03 -0400, Phil (list) wrote:

> I just pushed out an update that alters the instructions a bit:
>
>
> On Thu, 2015-05-21 at 05:54 +0000, H. Hirzel wrote:
> > C. File in in the  following sequence
> >       - OMeta2-stage1.st
> >       - OMeta2-stage2a.st
> >       - OMeta2-stage2b.st
>
> Should now read:
>
> C. File in / install in the following sequence
> - OMeta2-stage1.st
> - OMeta2.pck.st
> - OMeta2Tests.pck.st (optional)
>
> (It turns out I needed to hurry up and get it packaged because I screwed
> up: some of the most important rewrites in OMeta (the OMeta2 class
> itself and a couple others) aren't currently in the repo.  These are
> critical because it's not only the most current, but also the best
> documentation on OMeta 2 syntax.  Now that the existing code packaged,
> we will be able to diff this commit and my next one to see only what is
> changing going from Smalltalk to 'pure' OMeta 2 syntax should anything
> go wrong.  It might be tomorrow before the next commit is ready...)
>
> Thanks,
> Phil



_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OMeta 2

Hannes Hirzel
Thanks for the update, Phil

I added an issue https://github.com/pbella/Cuis-Ports/issues/3 for
updating the installation instructions.

I can do it and issue a pull request but probably not today.

--Hannes


On 5/23/15, Phil (list) <[hidden email]> wrote:

> OK, OMeta is now written in OMeta again.
>
> On Fri, 2015-05-22 at 18:03 -0400, Phil (list) wrote:
>> I just pushed out an update that alters the instructions a bit:
>>
>>
>> On Thu, 2015-05-21 at 05:54 +0000, H. Hirzel wrote:
>> > C. File in in the  following sequence
>> >       - OMeta2-stage1.st
>> >       - OMeta2-stage2a.st
>> >       - OMeta2-stage2b.st
>>
>> Should now read:
>>
>> C. File in / install in the following sequence
>> - OMeta2-stage1.st
>> - OMeta2.pck.st
>> - OMeta2Tests.pck.st (optional)
>>
>> (It turns out I needed to hurry up and get it packaged because I screwed
>> up: some of the most important rewrites in OMeta (the OMeta2 class
>> itself and a couple others) aren't currently in the repo.  These are
>> critical because it's not only the most current, but also the best
>> documentation on OMeta 2 syntax.  Now that the existing code packaged,
>> we will be able to diff this commit and my next one to see only what is
>> changing going from Smalltalk to 'pure' OMeta 2 syntax should anything
>> go wrong.  It might be tomorrow before the next commit is ready...)
>>
>> Thanks,
>> Phil
>
>
>
> _______________________________________________
> Cuis mailing list
> [hidden email]
> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>

_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OMeta 2

Phil B
On Sat, 2015-05-23 at 09:26 +0000, H. Hirzel wrote:
> Thanks for the update, Phil
>
> I added an issue https://github.com/pbella/Cuis-Ports/issues/3 for
> updating the installation instructions.
>
> I can do it and issue a pull request but probably not today.
>

No need, I will copy and paste what you have already done into the
readme.

> --Hannes
>
>
> On 5/23/15, Phil (list) <[hidden email]> wrote:
> > OK, OMeta is now written in OMeta again.
> >
> > On Fri, 2015-05-22 at 18:03 -0400, Phil (list) wrote:
> >> I just pushed out an update that alters the instructions a bit:
> >>
> >>
> >> On Thu, 2015-05-21 at 05:54 +0000, H. Hirzel wrote:
> >> > C. File in in the  following sequence
> >> >       - OMeta2-stage1.st
> >> >       - OMeta2-stage2a.st
> >> >       - OMeta2-stage2b.st
> >>
> >> Should now read:
> >>
> >> C. File in / install in the following sequence
> >> - OMeta2-stage1.st
> >> - OMeta2.pck.st
> >> - OMeta2Tests.pck.st (optional)
> >>
> >> (It turns out I needed to hurry up and get it packaged because I screwed
> >> up: some of the most important rewrites in OMeta (the OMeta2 class
> >> itself and a couple others) aren't currently in the repo.  These are
> >> critical because it's not only the most current, but also the best
> >> documentation on OMeta 2 syntax.  Now that the existing code packaged,
> >> we will be able to diff this commit and my next one to see only what is
> >> changing going from Smalltalk to 'pure' OMeta 2 syntax should anything
> >> go wrong.  It might be tomorrow before the next commit is ready...)
> >>
> >> Thanks,
> >> Phil
> >
> >
> >
> > _______________________________________________
> > Cuis mailing list
> > [hidden email]
> > http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
> >
>
> _______________________________________________
> Cuis mailing list
> [hidden email]
> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org



_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OMeta 2

Edgar De Cleene
In reply to this post by Phil B
On 5/22/15, 7:03 PM, "Phil (list)" <[hidden email]> wrote:

> I just pushed out an update that alters the instructions a bit:
>
>
> On Thu, 2015-05-21 at 05:54 +0000, H. Hirzel wrote:
>> C. File in in the  following sequence
>>       - OMeta2-stage1.st
>>       - OMeta2-stage2a.st
>>       - OMeta2-stage2b.st
>
> Should now read:
>
> C. File in / install in the following sequence
> - OMeta2-stage1.st
> - OMeta2.pck.st
> - OMeta2Tests.pck.st (optional)
>
> (It turns out I needed to hurry up and get it packaged because I screwed
> up: some of the most important rewrites in OMeta (the OMeta2 class
> itself and a couple others) aren't currently in the repo.  These are
> critical because it's not only the most current, but also the best
> documentation on OMeta 2 syntax.  Now that the existing code packaged,
> we will be able to diff this commit and my next one to see only what is
> changing going from Smalltalk to 'pure' OMeta 2 syntax should anything
> go wrong.  It might be tomorrow before the next commit is ready...)
>
> Thanks,
> Phil


Thanks Phil.
I have this working in my CuiSantafesino.2 fork with some tweaks.
I reshaping some and deep look into current Cuis4.2-2243.
I see Cuis 4.2 change a lot from 3.2.
Wish have DragAndDrop and read Squeak Morphs as in my fork, but still
learning how to do.
So when I have a demo of my idea working , put CuiSantafesino.3 in the
server and a video in YouTube.

With all talented people here sure could made great things in Cuis 4.3

Edgar



_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OMeta 2

Phil B
In reply to this post by Phil B
Anyone have experience debugging the debugger? If so, I could use some
pointers...

In my latest repo commit I've included two variants of a rule (you'll
should be able to replicate if you have the examples loaded.)  One that
works:

OMeta2LambdaCalculusParserExample debugMatchAll: 'x and y;x*y' with:
#root.

And one that doesn't:

OMeta2LambdaCalculusParserExample debugMatchAll: 'x and y;x*y' with:
#rootHang.

The second command is supposed to crash and bring up the debugger but
appears to get caught in an infinite loop after calling 'self halt' in
its error handling code.  You can break out of it via alt|cmd-. and get
to the debugger but the backtrace is all about the problems the
debugger is having, not the original halt. I have every confidence that
this is the result of OMeta failing to do something that is needed for
the debugger to function properly.  The problem I'm having is figuring
out how to debug the debugger.  When I break out of the loop I see the
nil object in the context list, but what's that object supposed to be
and where would it be set / set up?  Any ideas/pointers to docs or
relevant email discussions on debugging crashes in the debugger itself?

(Note: I had this issue even running OMeta under Squeak 3.10 so I
suspect there was something that got changed since 3.8/3.9 that broke
this functionality as I've never seen it working properly...)

Thanks,
Phil

On Wed, 2015-05-20 at 18:54 -0400, Phil (list) wrote:
> ... is alive!  Several caveats so please check out the README for the
> latest updates as things progress:
> https://github.com/pbella/Cuis-Ports#ometa-2
>
> Thanks,
> Phil




_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OMeta 2

Juan Vuletich-4
In reply to this post by Phil B
Hi Folks,

On 5/21/2015 4:06 AM, Phil (list) wrote:
> On Thu, 2015-05-21 at 05:54 +0000, H. Hirzel wrote:
>> Great achievement, Phil!
>>
> Thanks and we owe Juan a big 'thank you!'... he did the hardest part.

I'm delighted for being of help. This makes it all worthwhile.

Cheers,
Juan Vuletich

>> I did a test and the provided examples work fine.
>>
> Fantastic! (I always hate leaving things at 'but it worked for me...')
>
>> For convenience I combine below the installation instructions taken
>> from different mails from yesterday.
>>
> You captured it perfectly.
>
> Also, if you come up with any quick examples that you find helpful in
> finding your bearings or demonstrating a concept, please pass them along
> and I'll put them into an examples project to try to help others.  One
> thing I remember is that there was a bit of a learning curve simply
> because the docs and examples are so sparse (especially for the
> Smalltalk version OMeta... most of what you are likely to find on the
> web is geared toward the Javascript version since that's where the
> masses are)
>
>> --Hannes
>>
>>
>>
>> A. Reestablish #compilerClass in Cuis
>>
>> 1) Unzip attached file compilerClass.zip
>> 2) start Cuis 2330
>> 3) Open file list
>> 4) click on 2331
>> 5) click on [install]
>> 6) click on 2332
>> 7) click on [install]
>>
>>
>>
>> B. pull down the OMeta*.st files from https://github.com/pbella/Cuis-Ports
>>
>>
>>
>> C. File in in the  following sequence
>>        - OMeta2-stage1.st
>>        - OMeta2-stage2a.st
>>        - OMeta2-stage2b.st
>>
>> also see notes: https://github.com/pbella/Cuis-Ports#ometa-2
>>
>>
>> D. Check examples in the
>>       OMeta2Examples
>>     class
>>
>>          OMeta2Examples match: 5 with: #fact.
>> OMeta2Examples matchAll: '1234' with: #number.
>> OMeta2Examples matchAll: 'abc123' with: #identifier.
>> OMeta2Examples matchAll: #($a $b $c 1 2 3 #(4 5)) with: #structure.
>> OMeta2Examples matchAll: 'howdy' with: #greeting.
>>
>>
>>
>>
>> On 5/20/15, Phil (list)<[hidden email]>  wrote:
>>> ... is alive!  Several caveats so please check out the README for the
>>> latest updates as things progress:
>>> https://github.com/pbella/Cuis-Ports#ometa-2
>>>
>>> Thanks,
>>> Phil
>>>
>>>
>>> _______________________________________________
>>> Cuis mailing list
>>> [hidden email]
>>> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>>>
>> _______________________________________________
>> Cuis mailing list
>> [hidden email]
>> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>
>
> _______________________________________________
> Cuis mailing list
> [hidden email]
> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>


_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OMeta 2

Juan Vuletich-4
In reply to this post by Phil B
Hi Phil,

I'm not that of an expert wrt debugger internals, but will take a look
at this tomorrow (please tell if you solve it!).

Cheers,
Juan Vuletich

On 5/24/2015 7:07 AM, Phil (list) wrote:

> Anyone have experience debugging the debugger? If so, I could use some
> pointers...
>
> In my latest repo commit I've included two variants of a rule (you'll
> should be able to replicate if you have the examples loaded.)  One that
> works:
>
> OMeta2LambdaCalculusParserExample debugMatchAll: 'x and y;x*y' with:
> #root.
>
> And one that doesn't:
>
> OMeta2LambdaCalculusParserExample debugMatchAll: 'x and y;x*y' with:
> #rootHang.
>
> The second command is supposed to crash and bring up the debugger but
> appears to get caught in an infinite loop after calling 'self halt' in
> its error handling code.  You can break out of it via alt|cmd-. and get
> to the debugger but the backtrace is all about the problems the
> debugger is having, not the original halt. I have every confidence that
> this is the result of OMeta failing to do something that is needed for
> the debugger to function properly.  The problem I'm having is figuring
> out how to debug the debugger.  When I break out of the loop I see the
> nil object in the context list, but what's that object supposed to be
> and where would it be set / set up?  Any ideas/pointers to docs or
> relevant email discussions on debugging crashes in the debugger itself?
>
> (Note: I had this issue even running OMeta under Squeak 3.10 so I
> suspect there was something that got changed since 3.8/3.9 that broke
> this functionality as I've never seen it working properly...)
>
> Thanks,
> Phil
>
> On Wed, 2015-05-20 at 18:54 -0400, Phil (list) wrote:
>> ... is alive!  Several caveats so please check out the README for the
>> latest updates as things progress:
>> https://github.com/pbella/Cuis-Ports#ometa-2
>>
>> Thanks,
>> Phil
>
>
>
> _______________________________________________
> Cuis mailing list
> [hidden email]
> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>


_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OMeta 2

Phil B
On Mon, 2015-05-25 at 10:14 -0300, Juan Vuletich wrote:
> Hi Phil,
>
> I'm not that of an expert wrt debugger internals, but will take a look
> at this tomorrow (please tell if you solve it!).
>
> Cheers,
> Juan Vuletich
>

Thanks Juan... I could still use some help on this.

I was able to get a bit further by wrapping ContextPart trace: around
the self halt in OMeta2Base apply: and have attached the relevant
output.  As it goes up the handler chain, it runs into a nil which I'm
believe is the issue.  If it is, I don't understand why it's nil
(isn't an empty block, as used in ometaOr: effectively a noop?)  If it
isn't, then I'm at a loss as to what's going on...

Thanks,
Phil

> On 5/24/2015 7:07 AM, Phil (list) wrote:
> > Anyone have experience debugging the debugger? If so, I could use some
> > pointers...
> >
> > In my latest repo commit I've included two variants of a rule (you'll
> > should be able to replicate if you have the examples loaded.)  One that
> > works:
> >
> > OMeta2LambdaCalculusParserExample debugMatchAll: 'x and y;x*y' with:
> > #root.
> >
> > And one that doesn't:
> >
> > OMeta2LambdaCalculusParserExample debugMatchAll: 'x and y;x*y' with:
> > #rootHang.
> >
> > The second command is supposed to crash and bring up the debugger but
> > appears to get caught in an infinite loop after calling 'self halt' in
> > its error handling code.  You can break out of it via alt|cmd-. and get
> > to the debugger but the backtrace is all about the problems the
> > debugger is having, not the original halt. I have every confidence that
> > this is the result of OMeta failing to do something that is needed for
> > the debugger to function properly.  The problem I'm having is figuring
> > out how to debug the debugger.  When I break out of the loop I see the
> > nil object in the context list, but what's that object supposed to be
> > and where would it be set / set up?  Any ideas/pointers to docs or
> > relevant email discussions on debugging crashes in the debugger itself?
> >
> > (Note: I had this issue even running OMeta under Squeak 3.10 so I
> > suspect there was something that got changed since 3.8/3.9 that broke
> > this functionality as I've never seen it working properly...)
> >
> > Thanks,
> > Phil
> >
> > On Wed, 2015-05-20 at 18:54 -0400, Phil (list) wrote:
> >> ... is alive!  Several caveats so please check out the README for the
> >> latest updates as things progress:
> >> https://github.com/pbella/Cuis-Ports#ometa-2
> >>
> >> Thanks,
> >> Phil
> >
> >
> >
> > _______________________________________________
> > Cuis mailing list
> > [hidden email]
> > http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
> >
>





_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org

recursive_error-longer-transcript.txt.zip (22K) Download Attachment
12