
I too am curious about the forall in ScopedTypeVariables. It seems formally
unnecessary, so I assume it is designed to avert some kind of inconsistency
with standard behavior? Thinking about other extensions, e.g.
FlexibleInstances or MultiParamTypeClasses, it seems like they all give
meaning to constructs that are forbidden by the standard, while this one
actually changes the standard behavior (for the better, imho) and so
requires protection by some nonstandard signifier, i.e. forall.
On Apr 12, 2018 13:27, "Dennis Raddle"
On Thu, Apr 12, 2018 at 3:47 PM, Dennis Raddle
wrote: myFunc :: a -> b -> c myFunc x y z = ... where helper :: a -> [b] helper xx = ...
Notice that I'm attempting to declare 'helper' using my type variables. I've noticed that this results in an error. Is this actually possible, and how?
You need the ScopedTypeVariables extension, *and* to "declare" the type variables whose scope is to be extended with an explicit "forall" in the signature.
-- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net
_______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.