
18 Jan
2013
18 Jan
'13
11:54 p.m.
On Fri, Jan 18, 2013 at 3:32 PM, Eric M. Pashman
normalize :: (Modular s a, Integral a) => a -> M s a normalize x = (M (mod x (modulus (undefined :: s)))) :: M s a
If you want your type variables to be scoped, you have to annotate them explicitly: normalize :: forall s a. (Modular s a, Integral a) => a -> M s a normalize x = M (mod x (modulus (undefined :: s))) See http://www.haskell.org/ghc/docs/7.4.2/html/users_guide/other-type-extensions.... Shachaf