New codegen failing test-cases
Simon Marlow
marlowsd at gmail.com
Thu Dec 9 12:37:26 CET 2010
On 09/12/2010 04:42, Edward Z. Yang wrote:
> Final status report for tonight, before I crash in bed;
> I've managed to make it compile all the way to hoopl.
> It seems like hoopl doesn't typecheck anymore? I haven't
> been following the typechecker changes too closely so
> some guidance would be appreciated.
>
> libraries/hoopl/src/Compiler/Hoopl/Util.hs:190:37:
> Could not deduce (e ~ block C C)
> from the context (NonLocal block, LabelsPtr e)
> `e' is a rigid type variable bound by
> the type signature for `postorder_dfs_from_except'
> at libraries/hoopl/src/Compiler/Hoopl/Util.hs:179:43
> In the first argument of `get_children', namely `block'
> In the first argument of `vchildren', namely `(get_children block)'
> In the expression:
> vchildren (get_children block) cont' acc (setInsert id visited)
>
> libraries/hoopl/src/Compiler/Hoopl/Util.hs:220:41:
> Could not deduce (e ~ block C C)
> from the context (NonLocal block, LabelsPtr e)
> `e' is a rigid type variable bound by
> the type signature for `preorder_dfs_from_except'
> at libraries/hoopl/src/Compiler/Hoopl/Util.hs:217:42
> In the first argument of `get_children', namely `b'
> In the first argument of `children', namely `(get_children b)'
> In the first argument of `unVM', namely
> `(children (get_children b))'
>
> libraries/hoopl/src/Compiler/Hoopl/Util.hs:256:45:
> Couldn't match type `O' with `C'
> In the first argument of `addTargets', namely `b'
> In the expression: addTargets b setEmpty
> In an equation for `entryTargets':
> entryTargets (JustO b) = addTargets b setEmpty
> make[1]: *** [libraries/hoopl/dist-install/build/Compiler/Hoopl/Util.o] Error 1
> make: *** [all] Error 2
Yes, this is about where I got to with my merge. The type errors are
triggered by the move to MonoLocalBinds in the new type checker, and can
be solved by adding type signatures to the appropriate places in Hoopl.
You might be able to get some help from GHC by using NoMonoLocalBinds
with -fwarn-missing-local-sigs.
Cheers,
Simon
More information about the Glasgow-haskell-users
mailing list