I don't want to actually put the dictionary there. I want to *pretend* to
put the dictionary there. In testing mode, I want to be able to "take one
out" by making it out of whole cloth; in production mode I want to just
assume there are no bottoms in the constraints and never ever make the
dictiona
Actually, if you go back to the original form of Seq it would translate to
data Seq a => Foo a = Foo !Int !a
which requires resurrecting DatatypeContexts, and not
data Foo a = Seq a => Foo !Int !a
The former requires Seq to call the constructor, but doesn't pack the
dictionary into the construc
There's a related GHC Proposal:
https://github.com/ghc-proposals/ghc-proposals/pull/27
On Wed, Dec 21, 2016 at 10:04 PM, David Feuer wrote:
> In the Old Days (some time before Haskell 98), `seq` wasn't fully
> polymorphic. It could only be applied to instances of a certain class.
> I don't know t
In the Old Days (some time before Haskell 98), `seq` wasn't fully
polymorphic. It could only be applied to instances of a certain class.
I don't know the name that class had, but let's say Seq. Apparently,
some people didn't like that, and now it's gone. I'd love to be able
to turn on a language ex