3 ms·
GHC's Dynamic type can only contain monomorphic values, it can't handle polymorphic stuff. GHC also considers Dynamic->Dynamic and Int->Int to be incompatible
by ufo 9y ago
GHC's Dynamic type can only contain monomorphic values, it can't handle polymorphic stuff.
GHC also considers Dynamic->Dynamic and Int->Int to be incompatible types, which is not quite what one would want in a gradualy typed setting.
Haskell also sidesteps the difficulties that come with mutability in a gradualyly typed setting.
- willtim 9y agoI did not mention GHC's Dynamic type. I mentioned GHC's deferred-type errors as an alternative technique to "gradual typing". I believe there were plans to implement a polymorphic version of Dynamic, but it obviously wasn't a high priority. Note that GHC does not require any special type-system extensions to support Dynamic.
- tome 9y ago> GHC's Dynamic type can only contain monomorphic values, it can't handle polymorphic stuff. Sort of. If you wrap a polymorphic type inside a monomorphic one then it can handle it fine, for example data Mono = Mono (forall a b. a -> b -> a) (But perhaps you know this)