[Haskell-cafe] why are implicit types different? (cleanup)
simonpj at microsoft.com
Mon Nov 27 06:43:55 EST 2006
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.
| -----Original Message-----
| From: haskell-cafe-bounces at haskell.org [mailto:haskell-cafe-bounces at haskell.org] On Behalf Of S.
| Alexander Jacobson
| Sent: 21 November 2006 19:28
| To: haskell-cafe at 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'?
| S. Alexander Jacobson tel:917-770-6565 http://alexjacobson.com
| Haskell-Cafe mailing list
| Haskell-Cafe at haskell.org
More information about the Haskell-Cafe