Anyway, my (spare) energy is currently focused on Objective-
Smalltalk, which is coming along very nicely. This is 100%
integrated with the Objective-C runtime, as it really only
represents an alternate (simpler) syntax for sending Objective-C
messages to Objective-C objects and working with variables (local,
instance, customized). In fact, it achieves my long-term goal for
CocoaSqueak, the Objective-C bridge and the Objective-C code
generator: a Smalltalk where there really isn't any distinction
between the VM and the objects sitting "on top" of the VM. Put
another way: an object system whose VM is implemented by sending
(standard) messages to objects that are visible from, and could be
implemented in, the system.
So, if I'm reading this correctly... You're essentially building
Obj-C objects...
Yes. Although I prefer to think of the objects as language independent.
but binding, say, OCMethodImplementation to the selector (via a
trampoline or JIT or something)?
Yep, essentially. And method implementations are normal Objective-C
objects, so you can have different classes of methods. So, for
example, instead of generating code for accessors (wether by tool or
by C macro), you just create a new instance of the accessor method
class(es), bound to a particular instance variable and add it to the
class in question. I found that bit very satisfying :-)
Maybe with message semantics for small types like floats and ints?
Sort of, yes. The interpreted environment doesn't currently have any
primitive types, just objects. It does, however have literal syntax
for creating these kinds of objects and will automatically convert to
and from primitives when sending messages and invoking methods. The
syntax allows for optional type declarations that are currently used
in method header declarations and can/could be used in a compiled
environment to directly emit code for primitives. The syntax uses
the angle-brackets-style from StrongTalk and Smallinterfaces.
--
Marcel Weiher Metaobject Software Technologies
email@hidden www.metaobject.com
Metaprogramming for the Graphic Arts. HOM, IDEAs, MetaAd etc.
1d480c25f397c4786386135f8e8938e4
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Objc-language mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/objc-language/email@hidden