argotorg / argotorg/act

Unify Error Handling

Open
#108 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Haskell
Stars
279
Forks
51
Avg merge
17h 42m
Merged PRs (30d)
1

Description

The parser & typechecker currently make use of the `Err` monad from `ErrM`. The analysis backends currently have no consistent error handling approach and mostly just call `error` if something unexpected happens.

We should generalise the `Err` monad so that it can be used by the various backends and rework them so that functions that can fail return an `Err`.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the existing Err monad in ErrM and how the parser and typechecker use it. Then inspect the analysis backends to identify functions that currently call error; done means the backends consistently return Err for operations that can fail.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
compilers
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.