Encountered absent arg

Max Bolingbroke batterseapower at hotmail.com
Sun Apr 11 20:06:43 EDT 2010


On 11 April 2010 22:11, Johannes Waldmann <waldmann at 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.html#options-f

>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


More information about the Glasgow-haskell-users mailing list