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

Répondre à