Simon Peyton Jones <simo...@microsoft.com> writes: > | Huh! It looks like what we currently do for some primops is just use a > | totally bogus kind. For example, mkWeak# will happily accept an Int# as > | its first argument. > > Well, I see > primop MkWeakOp "mkWeak#" GenPrimOp > o -> b -> (State# RealWorld -> (# State# RealWorld, c #)) > > and I believe (from Ben's message) that the "o" means "open type variable", > which is the old terminology for what we now call levity-polymorphic. > Right; currently (largely for historical reasons) we use `o` to accommodate cases that accept both lifted and unlifted pointers.
Cheers, - Ben
signature.asc
Description: PGP signature
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs