Clean 2.0 dynamics

Krasimir Angelov ka2_mail@yahoo.com
Wed, 9 Jan 2002 00:59:39 -0800 (PST)


    Hi

Are you known about new Clean 2.0 compiler and your
new features. There is two general extensions in
language: Dinamics and their automatic loading\writing
to files or streams. Clean Dinamics are most similar
to corresponding Haskell Dinamic type. Main difference
is in some language extensions which allow dynamic
types to be dynamicaly unified. See following Clean
function:

dynApply :: Dynamic Dynamic -> Dynamic
dynApply (f :: a -> b) (x :: a) = dynamic (f x :: b)
dynApply df dx = dynamic ("cannot apply",df,"to",dx)

In Haskell the only way to define dynApply is with
using of unsafeCoerce# which is type unsafe. Runtime
type unification is useful but not obligatory. I think
that most important thing is automatic loading\writing
of Dynamics. Loading/writing facilities in Clean needs
dynamic linker which can dynamical loading of object
files. As I known in GHC-5.02 we already have such
linker which is part of runtime system. I think that
is'n too difficult to implement this feature in GHC.
Is there any plan to implement this. For functional
programing Dynamics can be same as COM/Corba for OO
programing. While runtime type unification needs some
syntax extensions (As I known using polymorphic types
in pattern type signatures are always implemented
according to rank-N types), dynamic linking needs only
backend changes.

Krasimir

__________________________________________________
Do You Yahoo!?
Send FREE video emails in Yahoo! Mail!
http://promo.yahoo.com/videomail/