On 3/30/11, Nikolay Suslov nsuslovi@gmail.com wrote:
From conceptual and practical point of view,
OMeta - is not yet another "system tool" written for Squeak or another fork, in contrary to XTreams (a generalized stream/iterator framework written in Smalltalk) burned in Pharo. OMeta is a language which allows to simplify an existed tools in it's hosted language (Squeak, Pharo, JavaScript, etc) where it is implemented, while not porting, learning and using another ones, like XTreams. So, redefined tools with OMeta could become really portable and mobile, ready for using in any other fork, even in another language, like JavaScript.
Regards, Nikolay
XTreams is primarily a generalized stream/iterator framework. It contains PEG parser generation facilities, which I assume might use XTreams. If not the PEG parser stuff could be separated.
Nikolay, what you write is interesting but too terse for me to understand. If I understand you right you mean that OMeta goes beyond the PEG parser in XTreams and PetitParser (L. Renggli) and Helvetia (L Renggli).
In which ways does OMeta go beyond these other tools?
AND: Of course very welcome that you run for the board.
--Hannes
Hannes,
On Thu, Mar 31, 2011 at 2:26 PM, Hannes Hirzel hannes.hirzel@gmail.comwrote:
On 3/30/11, Nikolay Suslov nsuslovi@gmail.com wrote:
From conceptual and practical point of view,
OMeta - is not yet another "system tool" written for Squeak or another
fork,
in contrary to XTreams (a generalized stream/iterator framework written
in
Smalltalk) burned in Pharo.
Oh! That's Gmail's check spelling fault, sorry. I meant: XTreams was borned in Pharo (not burned :)
XTreams is primarily a generalized stream/iterator framework. It
contains PEG parser generation facilities, which I assume might use XTreams. If not the PEG parser stuff could be separated.
Nikolay, what you write is interesting but too terse for me to
understand. If I understand you right you mean that OMeta goes beyond the PEG parser in XTreams and PetitParser (L. Renggli) and Helvetia (L Renggli).
In which ways does OMeta go beyond these other tools?
Again, I just could repeat, OMeta is not yet another tool, like PEG parser stuff, that could be founded in XTreams, Helvetica or PetitParser and others. It is a language, furthermore it is an object-oriented language for pattern matching. And it is based just on a variant of PEGs, which have been extended to handle arbitrary data types. Thinking, that I couldn't say better then it is written on the author's site and his paper (http://www.tinlizzie.org/~awarth/papers/dls07.pdf), how OMeta goes beyond.
Regards, Nikolay
AND: Of course very welcome that you run for the board.
--Hannes
OMeta is ridiculously cool. You can do source to source translation in some cases, for example, without a pretty printer by running your grammar transformations through backward. I'm not aware of any other system that let's you do that.
There's a small dilemma here for me. The experimental side of my being that says "what if?" loves the idea, bit the professional side of me worries that we'd be solving problems that don't exist in Squeak (I don't hack on the compiler much, or on the Slang code,) but when I punch Cmd-S, my Smalltalk code compiles happily and consistently. Introducing new parsing technology is likely to break stuff, and compilers are complex animals. Yes, I recognize that OMeta could potentially speak to this complexity (it's designed for that.)
Actually, I think OMeta's most potentially interesting application in the context of Squeak would be improving Slang. It'd be kind of cool if we could use it to try out new features, etc. Turing completeness and all (compiler people, correct me if I'm wrong here) we might be able to use something like hygenic macros and a little bit of support code (maybe a plugin?) to get, say, closure behavior in Slang. Wouldn't it be cool if Slang got to be so powerful that you didn't need to reach for C to do low level stuff (in any context) anymore?
I'd rather attack the things that make industrial adoption a hard sell, though. One such "real problem" is modularity. I think Environments or perhaps Worlds is a better overall investment for the community than OMeta at this time. If we can get industry engaged with Squeak, we will have riches in terms of people who are strongly motivated to improve Squeak.
The other "real problem" I see is weak support for interoperability with other systems, particularly in the tools department. Further exploration of the use of e.g. Git for SCM would be really interesting to me.
On Mar 31, 2011, at 5:25 AM, Nikolay Suslov nsuslovi@gmail.com wrote:
Hannes,
On Thu, Mar 31, 2011 at 2:26 PM, Hannes Hirzel hannes.hirzel@gmail.com wrote: On 3/30/11, Nikolay Suslov nsuslovi@gmail.com wrote:
From conceptual and practical point of view,
OMeta - is not yet another "system tool" written for Squeak or another fork, in contrary to XTreams (a generalized stream/iterator framework written in Smalltalk) burned in Pharo.
Oh! That's Gmail's check spelling fault, sorry. I meant: XTreams was borned in Pharo (not burned :)
XTreams is primarily a generalized stream/iterator framework. It contains PEG parser generation facilities, which I assume might use XTreams. If not the PEG parser stuff could be separated.
Nikolay, what you write is interesting but too terse for me to understand. If I understand you right you mean that OMeta goes beyond the PEG parser in XTreams and PetitParser (L. Renggli) and Helvetia (L Renggli).
In which ways does OMeta go beyond these other tools?
Again, I just could repeat, OMeta is not yet another tool, like PEG parser stuff, that could be founded in XTreams, Helvetica or PetitParser and others. It is a language, furthermore it is an object-oriented language for pattern matching. And it is based just on a variant of PEGs, which have been extended to handle arbitrary data types. Thinking, that I couldn't say better then it is written on the author's site and his paper (http://www.tinlizzie.org/~awarth/papers/dls07.pdf), how OMeta goes beyond.
Regards, Nikolay
AND: Of course very welcome that you run for the board.
--Hannes
"Casey" == Casey Ransberger casey.obrien.r@gmail.com writes:
Casey> OMeta is ridiculously cool. You can do source to source Casey> translation in some cases, for example, without a pretty printer Casey> by running your grammar transformations through backward. I'm not Casey> aware of any other system that let's you do that.
Except maybe XTreams PEG. :)
At this very moment I think we just need to make sure we can load OMeta and XTreams into the release 4.2 and the ongoing development trunk version so that people can compare and get a better idea.
1) Randal, in January I loaded XTreams into the current version at that time. You recently did as well a trial load, what is the script to load it?
2) Regarding OMeta, I did a load I think last October --- what do I need to do as of now to load it?
3) Does somebody more closely follow the development of PetitParser and Helvetia on the Pharo side and could give a short report on what is happening there? (Or just some pointers to helpful Pharo list mails)
--Hannes
On 3/31/11, Randal L. Schwartz merlyn@stonehenge.com wrote:
"Casey" == Casey Ransberger casey.obrien.r@gmail.com writes:
Casey> OMeta is ridiculously cool. You can do source to source Casey> translation in some cases, for example, without a pretty printer Casey> by running your grammar transformations through backward. I'm not Casey> aware of any other system that let's you do that.
Except maybe XTreams PEG. :)
-- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 merlyn@stonehenge.com URL:http://www.stonehenge.com/merlyn/ Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc. See http://methodsandmessages.posterous.com/ for Smalltalk discussion
On 2011/04/01 11:17, Hannes Hirzel wrote:
At this very moment I think we just need to make sure we can load OMeta and XTreams into the release 4.2 and the ongoing development trunk version so that people can compare and get a better idea.
Randal, in January I loaded XTreams into the current version at that time. You recently did as well a trial load, what is the script to load it?
Installer ss project: 'MetacelloRepository'; install: 'ConfigurationOfXtreams'. ConfigurationOfXtreams project bleedingEdge load
Regarding OMeta, I did a load I think last October --- what do I need to do as of now to load it?
Hans-Martin Mosner's done all the hard work, making a Monticello Configuration: http://www.squeaksource.com/OMeta/OMeta2.mcm
It loads cleanly into Squeak trunk.
Does somebody more closely follow the development of PetitParser and Helvetia on the Pharo side and could give a short report on what is happening there? (Or just some pointers to helpful Pharo list mails)
I'm trying to install Helvetia (well, LanguageBoxes, specifically) at the moment. It has massive dependencies: OmniBrowser, ECompletion, Polymorph, ... that I'm slowly wading through. (What's frustrating is I don't care about the UI integration (and I don't see why Helvetia's _core_ should plug into _any_ UI))
--Hannes
On 3/31/11, Randal L. Schwartzmerlyn@stonehenge.com wrote:
> "Casey" == Casey Ransbergercasey.obrien.r@gmail.com writes:
Casey> OMeta is ridiculously cool. You can do source to source Casey> translation in some cases, for example, without a pretty printer Casey> by running your grammar transformations through backward. I'm not Casey> aware of any other system that let's you do that.
Except maybe XTreams PEG. :)
To be fair, you do need to be careful with your rules if you want to run them backwards. Kaehler & Warth give an example (which I know you already know about, Casey) at http://www.viewpointsresearch.org/pdf/m2008001_parseback.pdf
-- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 merlyn@stonehenge.com URL:http://www.stonehenge.com/merlyn/ Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc. See http://methodsandmessages.posterous.com/ for Smalltalk discussion
frank
Hey Frank,
Frank Shearar wrote:
I'm trying to install Helvetia (well, LanguageBoxes, specifically) at the moment. It has massive dependencies: OmniBrowser, ECompletion, Polymorph, ... that I'm slowly wading through.
Were you successful in loading everything? And did you publish the installation code anywhere? I was just thinking about these projects in Pharo 1.3...
Frank Shearar wrote:
(What's frustrating is I don't care about the UI integration (and I don't see why Helvetia's _core_ should plug into _any_ UI))
Did you ask Lukas?
Cheers, Sean
-- View this message in context: http://forum.world.st/Re-Ometa-vs-XTreams-PEG-PetitParser-Helvetia-tp3418056... Sent from the Squeak - Dev mailing list archive at Nabble.com.
On 19 August 2011 22:42, Sean P. DeNigris sean@clipperadams.com wrote:
Hey Frank,
Frank Shearar wrote:
I'm trying to install Helvetia (well, LanguageBoxes, specifically) at the moment. It has massive dependencies: OmniBrowser, ECompletion, Polymorph, ... that I'm slowly wading through.
Were you successful in loading everything? And did you publish the installation code anywhere? I was just thinking about these projects in Pharo 1.3...
I stalled with a laptop screen dying with my half-completed work on it, and then distracted by PetitParser. Having given a bunch of half-baked excuses :) it's high time I restarted my efforts.
Frank Shearar wrote:
(What's frustrating is I don't care about the UI integration (and I don't see why Helvetia's _core_ should plug into _any_ UI))
Did you ask Lukas?
As always, Lukas is very helpful and polite. I suggested a plan of attack that he thinks isn't unreasonable, and once I reload the bits and pieces I will attempt to break Helvetia into several packages - a core, with no UI dependencies at all, a Pharo integration package, and a Squeak integration package. Or at least rip out the UI integration so I can use the core, and hope to attract helpers for any UI integration :)
frank
Cheers, Sean
-- View this message in context: http://forum.world.st/Re-Ometa-vs-XTreams-PEG-PetitParser-Helvetia-tp3418056... Sent from the Squeak - Dev mailing list archive at Nabble.com.
Randal L. Schwartz wrote
Casey> OMeta is ridiculously cool. You can do source to source Casey> translation in some cases, for example, without a pretty printer Casey> by running your grammar transformations through backward. I'm not Casey> aware of any other system that let's you do that.
Except maybe XTreams PEG. :)
Are there any examples of that, by chance?
----- Cheers, Sean -- View this message in context: http://forum.world.st/Re-Ometa-vs-XTreams-PEG-PetitParser-Helvetia-tp3418056... Sent from the Squeak - Dev mailing list archive at Nabble.com.
On Apr 7, 2015, at 11:18 PM, Sean P. DeNigris sean@clipperadams.com wrote:
Randal L. Schwartz wrote
Casey> OMeta is ridiculously cool. You can do source to source Casey> translation in some cases, for example, without a pretty printer Casey> by running your grammar transformations through backward. I'm not Casey> aware of any other system that let's you do that.
Except maybe XTreams PEG. :)
Are there any examples of that, by chance?
If you look in the docs [1] you’ll start to look for subclasses of XTActor/PEG.Actor such as PEG.WikiGenerator. They are not present in Squeak or Pharo because Nicolas Cellier did not port them over. I think it was because they were plugged into other packages such as XML.Element, So the answer to your question is no. The way to find classes like WikiGenerator is to install Cincom’s VisualWorks (on a Mac for example) and include the Streams-Parsing-Tests package. Then adapt to Squeak/Pharo.
Chapter 3, p. 100, footnote 9 of “Squeak Personal Computing and Multimedia” mentions a “Squeak demo for blowing students minds.” That’s a label Mark used for presenting the contents of a lecture he gave to students. It’s reasonable to assume that whatever was the balance of that presentation is material you’ve already been exposed to by reading Mark’s book. However, if you order the book from amazon.coom, it comes with a rich CD-ROM assembled by Stephen T. Pope with content I would expect would blow your mind.
Chris
[1] https://code.google.com/p/xtreams/wiki/Parsing https://code.google.com/p/xtreams/wiki/Parsing
Cheers, Sean -- View this message in context: http://forum.world.st/Re-Ometa-vs-XTreams-PEG-PetitParser-Helvetia-tp3418056... Sent from the Squeak - Dev mailing list archive at Nabble.com.
Chris Cunnington-4 wrote
Casey> OMeta is ridiculously cool. You can do source to source Casey> translation in some cases, for example, without a pretty printer
If you look in the docs [1] you’ll start to look for subclasses of XTActor/PEG.Actor such as PEG.WikiGenerator...
Sorry, I should have been more specific. I meant examples of source to source translation with Xtreams or a pointer on how to try...
----- Cheers, Sean -- View this message in context: http://forum.world.st/Re-Ometa-vs-XTreams-PEG-PetitParser-Helvetia-tp3418056... Sent from the Squeak - Dev mailing list archive at Nabble.com.
On 8 April 2015 at 12:29, Sean P. DeNigris sean@clipperadams.com wrote:
Chris Cunnington-4 wrote
Casey> OMeta is ridiculously cool. You can do source to source Casey> translation in some cases, for example, without a pretty printer
If you look in the docs [1] you’ll start to look for subclasses of XTActor/PEG.Actor such as PEG.WikiGenerator...
Sorry, I should have been more specific. I meant examples of source to source translation with Xtreams or a pointer on how to try...
I only know of http://www.vpri.org/pdf/m2008001_parseback.pdf.
frank
squeak-dev@lists.squeakfoundation.org