Re: Adding a "release" setting in build.mk.sample (and some other build system questions)

2016-01-29 Thread Harry .
> 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?

Re: a reliable way of dropping levity args?

2016-01-29 Thread Ömer Sinan Ağacan
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

RE: a reliable way of dropping levity args?

2016-01-29 Thread Simon Peyton Jones
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)

Re: Adding a "release" setting in build.mk.sample (and some other build system questions)

2016-01-29 Thread Thomas Miedema
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

Re: More aggressive dictionary removal?

2016-01-29 Thread Carter Schonwald
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