On 11 April 2010 22:11, Johannes Waldmann <waldmann@imn.htwk-leipzig.de> wrote:
Louis Wasserman <wasserman.louis <at> gmail.com> writes:
I compiled my code with -fdicts-strict.
What is this actually supposed to do? It seems the documentation is missing: http://www.haskell.org/ghc/docs/latest/html/users_guide/options-optimise.htm...
From reading the source code, it appears to make any dictionary fields of GADTs strict. So the dictionary for Eq in:
data EqDict a where EqDict :: Eq a => EqDict a Will be a strict field.
Anyway my guess is that if you want to use this flag, then you'd need to (re-)compile the whole world (including (base) libraries).
I don't think this requires a recompile - although of course any GADTs compiled without -fdicts-strict will be lazily evaluated. Cheers, Max