Turning ForceSpecConstr/NoSpecConstr into pragmas?

Johan Tibell johan.tibell
Wed Oct 9 14:55:11 UTC 2013

On Wed, Oct 9, 2013 at 7:13 AM, Austin Seipp <austin at well-typed.com> wrote:
> Early last week I was reminded of something, which was that vector/dph
> depend on the stage2 compiler - this is because both packages use
> annotations to specify ForceSpecConstr and NoSpecConstr on several key
> datatypes.
> For most of our platforms (now including ARM,) this should generally
> be OK, because we have stage2 and the linker available to support it.
> But in particular, it makes vector and dph unusable for cross
> compilers. This might be somewhat problematic for e.g. iOS or an RPi,
> where we only have a stage1 cross compiler - but it's reasonable to
> assume we may want to use vector there! And more and more libraries
> depend on vector these days.

I raised the same issue with Simon PJ a while ago. We ran into this
problem when trying use GHC as a cross-compiler at Google. I think we

 1. Convert it to a pragma.
 2. Look into a design that was suggested at ICFP, namely to put a
pragma on the data type we want to get optimized away instead.

-- Johan

More information about the ghc-devs mailing list