Hi,

Kurt Stephens <[EMAIL PROTECTED]> writes:

> Preliminary results as applied to libid here:
>
>   http://kurtstephens.com/node/60

Cool!  BTW, I suggest you change the link to my Ocean page to the
proper spot in the Wiki that also explains where to get the original
sources (Ocean is just a branch of COLA, not the original, and it
probably will lose its identity once Ian figures out the best way to
host user contributions):

http://vpri.org/fonc_wiki/index.php/Sources

> I think there might be some usefulness in having code compiled with
> different word tag schemes (or none at all!) depending on how code is
> behaving dynamically.
>
> I'm considering making tags parameterized in idc and further up the
> chain.

That's an interesting idea.  In my way of thinking, which you may have
read about in the archives,
http://vpri.org/mailman/private/fonc/2008/000556.html (see the "OOP or
non-OOP" section, you can ignore the rest), idc already has two built
in static types: the tagged object pointer and an opaque word.  It
doesn't use this information for much except a convention for what a
method takes or returns, as it punts to the Boehm GC for conservative
collection.

It would be interesting if somehow your "parameterized tags" could be
the basis for an extensible static type system for idc.  That would
probably mean adding proper signatures and casts (maybe my "_" method
idea would work as a typecast operator, but with an argument that
specified the destination static type).  The advantage would be to
allow different tag types to coexist in the same application using a
single GC.

I looked briefly at Strongtalk, but it seemed to me that it didn't
actually perform type erasure, the types were more just like contracts
on the same underlying oop representation.  It may be nice to borrow
some of their syntax, if possible.

Making Jolt understand a type system could certainly be interesting,
too.  Ideally, there would be some way to implement things so that
Jolt needs to know only a tiny bit about types, but precise GC would
still be possible.

Anyway, I'm not entirely certain how this would work out or if its
entirely too much work to be worthwhile for you, but I thought I'd
throw the suggestion out there.  You did say "Feedback?"  after
all. ;)

Good luck, and I'm interested to hear about your future experiments!

-- 
Michael FIG <[EMAIL PROTECTED]> //\
   http://michael.fig.org/    \//

_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc

Reply via email to