rowandavies/sml-cidre — Issue #3: Maddening non-local errors
Author: robsimmons
Created: 2011-10-20 04:01:53+00:00
State: open

https://github.com/robsimmons/l10/tree/bug2

has an error that can be fixed (as Rowan showed) by sort annotations

https://github.com/robsimmons/l10/compare/bug2...bug2-fix

but the workaround that Rob figured out really demonstrates the hideously non-local nature of this bug: a seemingly meaningless addition of the sort distinction between decl and decl_t in syntax.sml caused errors in parse.sml.

https://github.com/robsimmons/l10/compare/bug2...bug2-workaround

The nature of the error messages in the "bug2" branch is evident from a careful reading of bidirectional typechecking, but the reason that this change triggered it whereas "bug2-workaround" did not is mysterious from a user perspective.