Today's validate failures

Simon Marlow marlowsd at gmail.com
Fri Jan 18 18:03:26 CET 2013


On 18/01/13 16:45, Simon Peyton-Jones wrote:
> | > In Packages we have a dflags with an error thunk in it for pkgState,
> | and it's the strict evaluation of that pkgState that is changing the
> | behaviour.
> |
> | Whereabouts are we evaluating it?  Could we fix that instead?
>
> That would be good.  It's here;
>
> applyPackageFlag dflags unusable pkgs flag =
>    case flag of
>      ExposePackage str ->
>         case selectPackages (matchingStr str) pkgs unusable of
>           Left ps         -> packageFlagErr dflags flag ps
>           Right (p:ps,qs) -> return (p':ps')
>            where p' = p {exposed=True}
>                  ps' = hideAll (pkgName (sourcePackageId p)) (ps++qs)
>           _ -> panic "applyPackageFlag"
>
> etc
>
> The call to packageFlagErr is divergent, of course, but dflags has an error thunk for the pkgState.

Looks like we should be using throwIO.  Unfortunately I'm out of time 
right now, feel free to fix it, otherwise I'll do it next week.

Cheers,
	Simon




More information about the ghc-devs mailing list