Turning ForceSpecConstr/NoSpecConstr into pragmas?
Wed Oct 9 14:48:40 UTC 2013
Hm, no, it's not exported anywhere currently. It could be exported
from somewhere and marked with such a pragma, although then presumably
we'd also need to persist that pragma to the interface file so client
code sees it.
This actually circles back to making some kind of library types to
enforce this, e.g. making SPEC a builtin type specifically for this
case (it would also remove the annoying gotcha that SPEC must be a
sum-type where SPEC2 is unused, so the compiler doesn't outright
eliminate it.) Although I don't know about the NoSpecConstr case -
since that tends to be enforced on several different types in e.g.
DPH. Presumably though, as the comments say - maybe we should just
nuke NoSpecConstr, which would make that a non-issue. Then SPEC can be
a special built-in type.
On Wed, Oct 9, 2013 at 9:30 AM, Andrew Farmer <afarmer at ittc.ku.edu> wrote:
> +1 for pragma, though the SPEC type is always the same anyway... is it
> exported from somewhere? It seems silly that I have to define and annotate
> my own version when I want to use it. I realize that doesn't solve your
> stage 1 problem... more of just a general question.
Austin Seipp, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/
More information about the ghc-devs