On Tuesday, February 01, 2011 05:42:42 pm Steve Klabnik wrote: > David, right now, they're 100% intertwined. That's the way that _why liked > it. Ok. The question is why he liked it, if you'll pardon the pun. > Not only that, it's actually pretty integral to how Shoes works. It's > largely C code that exposes a Ruby that's slightly different... > http://shoesrb.com/manual/Rules.html see "Shoes tricky blocks" My first impression is, those don't look terribly tricky, at least as far as implementation. self is changed via instance_eval. The "trick" of redirecting drawing seems like an implementation detail, not of the language, but of whatever classes you use to implement the DSL. Scrolling down, the only thing I see that looks tricky at all is the UTF-8 support, and you'd think it would make sense to just use the Unicode support that's built into 1.9, rather than having an entirely different version of your own. In fact, it seems like this would cause a lot of problems for gems I'd want to use _in_ a Shoes app. If there's something I'm missing that absolutely has to modify the language in C, is there a reason it couldn't be implemented as an extension and scoped to Shoes? I don't mean to imply that the work involved would be trivial. I have absolutely no idea how much work it would be. I just don't see any major blockers here -- I really don't see a good reason why Shoes should carry its own version of Ruby, when we have all sorts of other GUI toolkits, application frameworks, and DSLs distributed as plain old gems.