On 21 Aug 2007, at 12:24, Nicolas Roard wrote: > Io is neat, and we had a bridge that allowed us to write applications > before -- so it'd be conceivable to use it. But... we don't really > care about using a io third party libraries that io gives, and keeping > track to Io seems to be a certain amount of work (considering it's > broken atm). > Something using StepTalk Smalltalk implemention would be trivial to > do; but it's not the fastest thing ever, and we'd only care anyway > about the smalltalk implementation in that case, not the full > steptalk. That left David's implementation, and imho that'd be the > better suited thing for us: > - small, only provides what we need > - will be reasonably fast with JIT > - and fully integrated to the objc runtime
Quentin and I have both been abusing the Objective-C runtime for a little while, and come to similar conclusions; that it's almost possible to use it to support a prototype-based language, but not quite. I've written a category for NSObject that gives you about 40% of what you need, and Quentin has used a different approach which also seems to work well. When I have finished the Smalltalk JIT (which I will get back to when I have finished poking Composite for a bit), I plan on taking the GNU Objective-C runtime apart, and modifying the object structure to allow methods and ivars to be added on a per-object basis. This will give us a base that allows prototype-based languages to be supported on the runtime, which will make it possible for something like Io to be used without a bridge. I might also play with adding some prototype-based extensions to Smalltalk; I'm not 100% convinced that prototypes are a good solution for object specialisation in the general case, but they are very useful sometimes. One of the things I like about Objective-C is that you can have use strong typing (and compile-time checking) when you want it, but you aren't forced into it. I think a language which gave prototypes as an option, but didn't force you to use them, would be similarly beneficial. David _______________________________________________ Etoile-discuss mailing list [email protected] https://mail.gna.org/listinfo/etoile-discuss
