Skip to content
This repository has been archived by the owner on Jul 3, 2024. It is now read-only.

add error tracking #3

Closed
3 tasks
Tracked by #1
CharString opened this issue Nov 10, 2023 · 0 comments · Fixed by #7
Closed
3 tasks
Tracked by #1

add error tracking #3

CharString opened this issue Nov 10, 2023 · 0 comments · Fixed by #7
Assignees

Comments

@CharString
Copy link
Collaborator

CharString commented Nov 10, 2023

Inspiration sources

  • domdomegg/ottie by the author of the implementations of W and M that we're using.
  • Explaining type inference — Duggan et al. for caveats of naively recording explanation paths
  • Possibly the Elm type checker; it's a simple language and it gives excellent actionable feedback on type errors.

Todo

  • Treat partial applications e.g. {"<": [1]} as errors (see treatment of {"var": []})
  • Throw TypeError with helpful text and explanation data like paths in the expression so the location can be marked in the source text
  • Error cases marked "TODO" in test-d/tests.json
@CharString CharString changed the title add error tracking see domdomegg/ottie for inspiration add error tracking Nov 10, 2023
@CharString CharString self-assigned this Nov 10, 2023
CharString added a commit that referenced this issue Dec 13, 2023
- Adds explain path to type variables and changes `unify`, `w` and `m`
to record them.
- Changes error messages towards something actionable and less cryptic
@CharString CharString linked a pull request Dec 13, 2023 that will close this issue
@Viicos Viicos closed this as completed in #7 Dec 22, 2023
Viicos added a commit that referenced this issue Dec 22, 2023
🚧[#3] Changes unify to record explaination graph.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant