[Ometa] OMeta2 for Squeak?

Alessandro Warth alexwarth at gmail.com
Fri Apr 2 14:52:20 PDT 2010


Hi Hans-Martin,


> the OMeta2 for Squeak (http://tinlizzie.org/ometa/ometa2.html) is
> designated as a release candidate, but it has some rough edges, and
> AFAIK it never has reached the "release" stage.
> Is there any news on that? I'm currently using it for a project, and I
> like the new syntax much better (less tedious typing).
> However, the production rules implementing it show as Squeak source
> code,


I wrote the rules that you're talking about by hand in Smalltalk, using the
OMeta classes as a library. My intention was to eventually rewrite them in
OMeta -- as I did in the old implementation -- to complete complete the
bootstrapping. This should be very straightforward, and you're welcome to
give it a try if you want. Otherwise, I'll try to get around to it soon.


> and if you rewrite them in OMeta2, you see that they obviously
> have been hand-massaged (OM2 generated methods show suspicious "true
> ifTrue: []" expressions for #And clauses).
>

"Suspicious"? That that back! :)

This "true ifTrue: [...]" idiom is just a straightforward (and reasonably
efficient) way to make an expression out of a list of statements, which was
something that I needed to be able to do in the target language in order to
compile OMeta rules. Another alternative that I considered was "[...] value"
but that was a bit slower. (The block is compiled away for the former, but
not for the latter -- try it and look at the bytecodes, you'll see what I
mean.)

Since it has been almost a year since the RC, it would be nice to get
> this to move a little forward, so that the Squeak/Smalltalk users of
> OMeta can benefit from the new syntax and features, too.
> I'd be willing to spend some time on this, if there is interest.
>

The real reason why there hasn't been a proper release of OMeta2 is that I
was never able to find a reasonable way to make Monticello work w/ a project
like OMeta. The problem is that things must be loaded into a Squeak image in
a certain order -- e.g., the code that implements the OMeta parser and code
generator in Squeak must be loaded before any code written in OMeta syntax.

This is something that I would love some help with. Are there any Monticello
experts on this list who would like to volunteer to package this new version
of OMeta/Squeak?

Thanks!

Cheers,
Alex




>
> Cheers,
> Hans-Martin
>
> _______________________________________________
> OMeta mailing list
> OMeta at vpri.org
> http://vpri.org/mailman/listinfo/ometa
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://vpri.org/pipermail/ometa/attachments/20100402/734d3259/attachme=
nt.htm


More information about the OMeta mailing list