> https://ghc.haskell.org/trac/ghc/wiki/MakingReleases#Makingthebinarybuilds
> https://ghc.haskell.org/trac/ghc/wiki/Building/Using#Buildconfiguration
So the mysterious SRC_HC_OPTS = -O -H64m which appears in every build flavour
isn't used for the release build?
2016-01-29 3:36 GMT-05:00 Simon Peyton Jones :
>
> So you need something like
>
> isLevityCon :: Type -> Bool
> isLevityCon (TyConApp tc []) = isLevityTy (tyConKind tc)
> ..
>
> Please document both functions carefully
>
> ALSO there is a bug in
Well, isLevityTy tests whether its argument is Levity
But you want to test if the argument is a data constructor (e.g. Lifted,
Unlifted) whose type is Levity.
So you need something like
isLevityCon :: Type -> Bool
isLevityCon (TyConApp tc []) = isLevityTy (tyConKind tc)
The default (and thus release) `SRC_HC_OPTS` uses `-H32m` (see mk/
config.mk.in).
Maybe you want to run some tests to see if it makes a difference on the
total build time?
I suggest also measuring without any `-H` flag, with just `-H` (see commit
below), and with `-H1G` or some other large
Wait, inlinable creates a new specialization automatically at each new
instances / use site? I always thought it just allows invoking specialize
pragma in client modules.
On Thursday, January 28, 2016, Simon Peyton Jones
wrote:
> I think the difference between the