Andrew Wagner wagner.andrew at gmail.com writes:
I'm sure there's a way to do this, but it's escaping me at present. I
want to do something like this:
data Foo = Bar a = Foo a Bool ...
That is, I want to create a new type, Foo, whose constructor takes
both a Boolean and a value of
Tom Pledger wrote:
Andrew Wagner wagner.andrew at gmail.com writes:
I'm sure there's a way to do this, but it's escaping me at present. I
want to do something like this:
data Foo = Bar a = Foo a Bool ...
That is, I want to create a new type, Foo, whose constructor takes
both a Boolean
Stefan O'Rear wrote:
[...]
Unfortunately, it turns out that
allowing foralls inside function arguments makes typechecking much
harder, in general impossible.
Just a tiny correction: AFAIK, it is type /inference/ which becomes
undecidable in the presence of higher rank types -- checking works