Picon

Instatiating <class> at runtime

Hello,

Gwydion Dylan doesn't allow the programmer to instantiate <class> at
runtime with the initialization arguments documented in the Dylan
Reference Manual.

I wonder whether there is a deeper reason for this behaviour. A quick
look at d2c/runtime/dylan/class.dylan shows that most of the code
required to support runtime class creation seems to be there, but
commented out. The only really strange thing is the required
initialization keyword #"class-bucket" for <class>, the purpose of which
is unclear to me.

Can someone shed more light on this issue and explain what this
parameter means and why runtime class creation as described in the
standard is not possible?

Thank you for your help,
Thomas
--

-- 
Gd-hackers mailing list
Gd-hackers <at> gwydiondylan.org
https://www.opendylan.org/mailman/listinfo/gd-hackers

Andreas Bogk | 14 Nov 16:35

Re: Instatiating <class> at runtime

Thomas Christian Chust schrieb:

> I wonder whether there is a deeper reason for this behaviour. A quick
> look at d2c/runtime/dylan/class.dylan shows that most of the code
> required to support runtime class creation seems to be there, but
> commented out. The only really strange thing is the required
> initialization keyword #"class-bucket" for <class>, the purpose of which
> is unclear to me.

class-bucket is used for the efficient implementation of subtype? and
instance? checks.  If you add classes at runtime, you need to recompute
the decision matrix and fill in these values in all <class>es.  Stealing
the code from compile time should just work.

I see no deeper reason why make(<class>) is unavailable, except that
nobody got around doing it yet.  So play with it and let us know.

Andreas

--

-- 
Gd-hackers mailing list
Gd-hackers <at> gwydiondylan.org
https://www.opendylan.org/mailman/listinfo/gd-hackers


Gmane