Re: [Haskell-cafe] Question about Newtype "op()" function arguments.
Ah, so is the idea, then, to use *op()* when `n` wasn't actually constructed formally, but rather "assembled" by the user, so as to match the type of the accessor function normally supplied as the argument to the constructor? On 6/7/2013 4:51 PM, Tom Ellis wrote:
On Fri, Jun 07, 2013 at 04:05:09PM -0400, Joe Q wrote:
The phantom parameter solves the same problem as scoped type variables. Granted, if you find yourself in that kind of polymorphic soup you have deeper problems... I don't understand this. Scoped type variables are used when you want to use a type variable from the top level within the body of a function. If you use "op" and specify a particular constructor then you don't have a variable but a concrete instance of a type. But maybe I'm missing some more powerful way this can be used ...
Tom
You can use scoped type variables to correct an ambiguous type error. You can think of op as a variation on asTypeOf, as documented here on http://www.haskell.org/haskellwiki/Scoped_type_variables#Avoiding_Scoped_Typ... . If I tried to come up with an example that's specific to op, it would only be horribly contrived.
participants (1)
-
David Banas