[Cuis] Xtreams , Ometa and related

Phil (list) pbpublist at gmail.com
Tue May 19 16:55:57 CDT 2015


On Sat, 2015-05-16 at 05:41 -0300, Edgar J. De Cleene wrote:
> People:
> 
> I working in my SqueakRosCore fork and think if Xtreams should be on it or
> not.
> 
> Google surfing brings me
> 
> http://comments.gmane.org/gmane.comp.lang.smalltalk.squeak.general/156355
> 
> So, four years later I wish feedback about this.
> 
> Cool working examples if you know of any.
> 
> Opinions:
> 
> SqueakSource have two projects about Xtreams, which one I should have ?
> 
> Ometa  pay same day the work for having it into the .image ?
> 

OK, it's all coming back to me as to why my port of OMeta2 died:  I had
it working perfectly in Cuis 1.0.  I think I also had it working in Cuis
2.0 (I even have a .pck which I *believe* was kinda, sorta had working
at one point... but now it can only be read in, it no longer works).

IIRC, the issue was that part of OMeta is written in OMeta so you can't
just load it in the way you would a regular package.  I think original
work by Alessandro was a .st file which had a very specific ordering of
code to load and ran some code as part of the filein which installed
OMeta into the image.  The SqueakSource package addressed the loading
issues by splitting it in 2: a preload and postload package.  I believe
the preload package patches the parser so that the postload package can
even be parsed by Squeak.  Then there is some code that gets called
after the postload package has been read in that actually patches OMeta
into the Squeak compiler.  It's a bit tricky and changes to the
Smalltalk parser/compiler since then will require some changes (I
believe it broke as a result of the changes for closure support being
added ~2012 or so)

I'm not sure how far you've gotten with it on your own already... if
what I have might be helpful, let me know and I'll see if I can't clean
it up a bit and put it up on github.

> 
> Edgar
> @morplenauta en twitter

Thanks,
Phil





More information about the Cuis mailing list