
Hello,
my preference would be to build this kind of functionality (and other
related features) in libraries on top of GHC.TypeLits. This modules was
intended to contain only a minimal set of the constants that the compiler
needs to know about, and it already may have too much in it.
On the concrete issue: orphan instances could be avoided if the type lits
instances are defined in the same module as the class.
-Iavor
On Thu, Feb 7, 2013 at 6:50 AM, Gabor Greif
In its current state it is not tied to TypeLits, but when Richard adds his magic it probably will be. It is still an open issue where to put what, and whether a new module would be fitting. Richard surely will comment on this. I'd prefer the new instance definitions in TypeLits to avoid orphans. Thanks for your input though, this is exactly the kind of feedback we were hoping for :-)
Cheers,
Gabor
[looks like I lost a previous version of this response, sorry if you get it twice]
Hey Gabor,
And why should it be part of base? Don't get me wrong, I'm not saying
is not important/useful. I'm just wondering about the reason to have it in base. Is it tied to TypeLits?
Cheers, Pedro
On Thu, Feb 7, 2013 at 2:21 PM, Gabor Greif
wrote: Oi José,
this is a library-only issue, the branch is in libraries/base, thus somewhat tied to the 7.8 release.
Cheers,
Gabor
On 2/7/13, José Pedro Magalhães
wrote: On Wed, Feb 6, 2013 at 7:17 PM, Gabor Greif
wrote: On 2/6/13, Richard Eisenberg
wrote: The only thing that stops me from saying "push" is that I think there is a better organization for all of this. The ideas we're discussing here (things like the Void type) don't seem to belong in TypeLits -- it has nothing to do with literals. Time for a GHC.TypeReasoning module? Does someone have a better name?
Sounds okay. We can wiggle around on the new branch 'till we feel comfortable, but I'd like to land this on master before the v7.8
On 2/7/13, José Pedro Magalhães
wrote: this train leaves the station (i.e. the release branch is created).
Can you perhaps summarise exactly what needs to be added to GHC for this to work? It's not immediately clear to me why this is not just a library issue.
Thanks, Pedro
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs