[Haskell-cafe] Re: Does anybody dislike implicit params as much asI
do?
Ashley Yakeley
ashley at semantic.org
Sat Mar 14 20:44:23 EDT 2009
Sittampalam, Ganesh wrote:
> I think they have a useful place in propagating semi-global
> configuration information without imposing huge syntactic overhead.
Right, for instance,
type MyMonad a = (?env :: Env) => IO a
No lift needed!
I was hoping to use IPs to do OO-style implicit type conversion from a
"derived" type to "base" type. For instance:
type Base = forall a. ((?f1 :: Int) => a) -> a
field1 :: Base -> Int
field1 b = b ?f1
type Derived = forall a. ((?f1 :: Int, ?f2 :: String) => a) -> a
d :: Derived
d x = let {?f1 = 3;?f2 = "Hello"} in x
f1d :: Int
f1d = field1 d
Annoyingly, GHC objects to the "field1 d" application.
--
Ashley Yakeley
More information about the Haskell-Cafe
mailing list