Viir
released this
05 May 17:29
Improve runtime errors on invalid type-mismatched Elm record access
Improve errors in scenarios where Elm syntax was compiled with incomplete type-checking, resulting in an invalid record access using a nonexistent field name. In the previous version, such a program caused a stack overflow. The changes in this commit improve the errors as follows:
+ Expand the framework for testing using Elm Interactive scenarios to support expectations for errors: Add a syntax to encode the expected contents of an error in a test scenario step and adapt the processing of step results accordingly.
+ Change the PineVM implementation to include more details when crashing due to failed parsing of a value as expression: Include details on both function value and environment.
+ Change the Elm compiler to crash by invalid parsing instead of the infinite recursion used earlier. Use the function and environment properties of the parse-and-eval expression to specify the error, including the name of the searched record field.