On 8/21/07, David Chisnall <[EMAIL PROTECTED]> wrote: > 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.
I agree mostly on the SmallTalk/StepTalk part. That is definitely something we should have. Another thing we should have is something like Io, and as suggested, we don't need its 3rd party libraries, only the core. I also feel it is too much to rewrite the Objective-C runtime just for Io language. So the best approach I can think is to replace the basic data structure (string, array, etc) in Io with Foundation but keep the vm. If it works out, we will have two different flavors of script language, which is pretty enough for most of the cases. It is just the language bridge (Io <-> objc and SmallTalk <->objc). There is another aspect of scripting bridge as in OS X 10.5. The main purpose is to expose any framework to the scripting language so that script language can dynamically load framework instead of linking to them. It is pretty much what StepTalk does and is independent from the script language. So I guess we will stick with StepTalk framework for that. Yen-Ju > > David > > _______________________________________________ > Etoile-discuss mailing list > [email protected] > https://mail.gna.org/listinfo/etoile-discuss > _______________________________________________ Etoile-discuss mailing list [email protected] https://mail.gna.org/listinfo/etoile-discuss
