Ok, I'm not sure I understand the answer here, but how about a workaround. My current code looks like this:

   tt = let ?withPassNet=wpn
            ?withPassNet'=wpn
            ?withPassNet''=wpn
        in passNet "passnet" ["user"] regImpl b

The type of wpn is:

   wpn :: Ev PassNet ev a -> Ev State ev a

The individual implicit parameters end up arriving with concrete values for a. If I pass wpn to passNet explicitly, it also appears to get converted to a monotype on arrival at the inside of passNet.

So I guess the real question is, how do I pass a polytype* wpn?

-Alex-

* I would have thought the word was polymorphic, but you obvoiusly
  know.

______________________________________________________________
S. Alexander Jacobson tel:917-770-6565 http://alexjacobson.com



On Mon, 27 Nov 2006, Simon Peyton-Jones wrote:

Implicit parameters have monotypes, not polytypes. So ?f in g gets type (Char->Char). I rather doubt that something more general (implicit parameters get polytypes) would work, given the implicit "improvement" rules that implicit parameters require.

Simon

| -----Original Message-----
| From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of S.
| Alexander Jacobson
| Sent: 21 November 2006 19:28
| To: haskell-cafe@haskell.org
| Subject: [Haskell-cafe] why are implicit types different? (cleanup)
|
|
|
| Why do g and g' have different types?
|
|    g x y = let ?f = \x-> x in ?f x ++ (show (?f y))
|    g  :: [Char] -> [Char] -> [Char]
|
|    g' :: (Show t) => [Char] -> t -> [Char]
|    g' x y = let f = \x-> x in f x ++ (show (f y))
|
| Is there a way I can use implicit types and let g be as general as g'?
|
| -Alex-
|
|
| ______________________________________________________________
| S. Alexander Jacobson tel:917-770-6565 http://alexjacobson.com
| _______________________________________________
| Haskell-Cafe mailing list
| Haskell-Cafe@haskell.org
| http://www.haskell.org/mailman/listinfo/haskell-cafe


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to