From: Mathieu Bouchard Date: 2001-05-29T17:05:41+09:00 Subject: [ruby-talk:15912] Re: MetaRuby (0.5,0.6,CVS) On Thu, 24 May 2001, Mario Lang wrote: > Hmm, I read about MetaRuby some times in this newgroups. But everytime someone > used the word, he expected every reader to know what it means :-). > Does anyone have a link which explains what metaruby is supposed to be? I forgot to update the entry in the RAA for MetaRuby. As a result, lots of people have downloaded version 0.5, which is very obsolete. Latest release 0.6 has been released over 2 months ago. :-( So I have updated it yesterday and it has a new description too: a collection of tools. makes base classes easy to customize. simplifies writing of alternate Ruby intepreters. Provides unparsing of data structures. (more to come later) the "more to come later" is stuff like the MainLoop (event loop) I have posted on this list a few days ago; also the Undo feature has been improved a lot since 0.6, and will be improved again for 0.7... Text widgets in Hybris will only accomodate Strings that are either Observable or constant (frozen or otherwise not touched). An Observable String can be coded in only ~10 lines with MetaRuby (and some big number of lines without) class ObservableString < AutoString include Observable def put (i, v); super; changed; end def put_seq(i,n,v); super; changed; end def modify m = @modifying @modifying = true begin super ensure @modifying = m end notify_observers if not @modifying end end Haven't tested it, but if there's no bug, the above should be the whole source code to your text buffer class. matju