On Jun 22, 2013, at 01:59 , Nathan Kurz <[email protected]> wrote:

> Have either of you looked at it?  Are there things you want to support
> that it does not?

I never heard of Etoile and while I did have a look at the Objective-C 2.0 
runtime, it was only because I was interested in whether supporting Objective-C 
as host language would be feasible.

Regarding features of dynamic languages, I don't think they make sense for 
Clownfish. One thing that Objective-C and other dynamic languages support, for 
example, is adding methods or even instance variables at runtime. This would 
slow down Clownfish a lot. To get acceptable speed, you'll need something like 
inline caching which isn't feasible in plain C. (That's also one of the reasons 
why Parrot failed.)

But there are some useful features from languages with static OO like Java that 
could be implemented without impact on performance. Class methods should be an 
easy one, for example. Interfaces would be useful, too, but more involved.

Also, every Clownfish feature must be mapped to the host language. This 
automatically rules out anything too exotic.

Nick

Reply via email to