[Haskell-cafe] Implementation of "Dynamic" datatype
isaacdupree at charter.net
Fri Mar 2 19:10:32 EST 2007
-----BEGIN PGP SIGNED MESSAGE-----
Stefan O'Rear wrote:
> the current type:
> data Dynamic = Dynamic TypeRep Obj
> the new type, if lucky:
Meaning the one with "Typeable a =>" instead of TypeRep?
> data Dynamic = Dynamic !(a -> TypeRep) a
> if unlucky:
> data TypeableD a = TypeableD (a -> TypeRep)
> data Dynamic = Dynamic (TypeableD a) a
> either way, the typeclass approach gives a lot more boxing.
Yes, that's why I don't really propose that, because it's probably
inefficient (for dictionary-passing-based implementations anyway), just
that the "Obj" in Dynamic's constructor should be, type-system-wise, an
existential instead (which I don't think will change the runtime
representation, but I don't know how to test that).
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
-----END PGP SIGNATURE-----
More information about the Haskell-Cafe