@@ -242,6 +242,35 @@ common compile-options
242 -Wredundant-constraints
242 -Wredundant-constraints
243 -Wnoncanonical-monad-instances
243 -Wnoncanonical-monad-instances
245+common default-extensions
254+ ExistentialQuantification
257+ GeneralizedNewtypeDeriving
262+ MultiParamTypeClasses
270+ -- UndecidableInstances -- Does not show any perf impact
271+ -- TypeFamilies -- Causes large regressions and improvements
272+ -- UnboxedTuples -- interferes with (#.)
245common optimization-options
274common optimization-options
246 ghc-options: -O2
275 ghc-options: -O2
247 -fdicts-strict
276 -fdicts-strict
@@ -259,13 +288,13 @@ common threading-options
259-- -O2 here some concurrent/nested benchmarks improved and others regressed.
288-- -O2 here some concurrent/nested benchmarks improved and others regressed.
260-- We can investigate a bit more here why the regression occurred.
289-- We can investigate a bit more here why the regression occurred.
261common lib-options
290common lib-options
262− import: compile-options, optimization-options
291+ import: compile-options, optimization-options, default-extensions
264-- Compilation for coverage builds on CI machines takes too long without -O0
293-- Compilation for coverage builds on CI machines takes too long without -O0
265-- XXX we should use coverage flag for that, -O0 may take too long to run tests
294-- XXX we should use coverage flag for that, -O0 may take too long to run tests
266-- in general.
295-- in general.
267common test-options
296common test-options
268− import: compile-options, threading-options
297+ import: compile-options, threading-options, default-extensions
270 ghc-options: -O0
299 ghc-options: -O0
271 -fno-ignore-asserts
300 -fno-ignore-asserts
@@ -289,33 +318,6 @@ common exe-options
291 import: lib-options
320 import: lib-options
300− ExistentialQuantification
303− GeneralizedNewtypeDeriving
308− MultiParamTypeClasses
316− -- UndecidableInstances -- Does not show any perf impact
317− -- TypeFamilies -- Causes large regressions and improvements
318− -- UnboxedTuples -- interferes with (#.)
320 if impl(ghc >= 8.1)
322 if impl(ghc >= 8.1)
321 default-extensions: TypeApplications
323 default-extensions: TypeApplications