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 <> wrote:


On Thu, Mar 31, 2011 at 2:26 PM, Hannes Hirzel <> wrote:
On 3/30/11, Nikolay Suslov <> 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

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 (, how OMeta goes beyond.


AND: Of course very welcome that you run for the board.