Re: Retro-Haskell: can we get seq somewhat under control?

2016-12-21 Thread David Feuer
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

Re: Retro-Haskell: can we get seq somewhat under control?

2016-12-21 Thread Edward Kmett
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

Re: Retro-Haskell: can we get seq somewhat under control?

2016-12-21 Thread Index Int
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

Retro-Haskell: can we get seq somewhat under control?

2016-12-21 Thread David Feuer
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