RE: Pattern matching, implict par. question

Well the definition clearly falls under the monomorphism restriction as laid down by the Report, because you haven't given a signature for us,n,j. I suggest ctPar :: (?ctPar::CTPar) => CTPar ctPar = ?ctPar (us,n,j) = ctPar That should work Simon | -----Original Message----- | From: Jorge Adriano [mailto:jadrian@mat.uc.pt] | Sent: 13 February 2003 14:36 | To: Haskell Cafe; glasgow-haskell-users@haskell.org | Subject: Pattern matching, implict par. question | | Hello, When trying | | type CTPar = ([Double],Int,Int) | ctPar ::(?ctPar::CTPar)=>CTPar | ctPar@(us,n,j) = ?ctPar | | I got this error message in ghci is: | " Illegal overloaded type signature(s) | in a binding group for ctPar, us, n, j | that falls under the monomorphism restriction | When generalising the type(s) for ctPar, us, n, j | Failed, modules loaded: CrossTypeOps." | | Should the monomorphis restriction really apply here? | The values of us,j,n do depend on the context, but not their types (right?). | | J.A. | | | _______________________________________________ | Glasgow-haskell-users mailing list | Glasgow-haskell-users@haskell.org | http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
participants (1)
-
Simon Peyton-Jones