IntersectMBO / IntersectMBO/io-sim

Add support for nested exception testing in Test/STM

Open
#36 0 comments 0 reactions 0 assignees Claimed by @yogeshsajanikar View on GitHub
enhancement io-sim
Dominant language
Haskell
Stars
54
Forks
25
Avg merge
3h 9m
Merged PRs (30d)
1

Description

**Is your feature request related to a problem? Please describe.**
Test/STM.hs contains a toy DSL which can be evaluated in a pure as well as the STM context. It is used to test the correctness of the io-sim STM implementation. The PR #16 implements the support for `MonadCatch`. However, the test code does not have support for nested exceptions. Adding a support for nested exception evaluation in Test/STM will make it a complete.

**Describe the solution you'd like**
- Add a support for multiple exception values (Currently `ImmValue` is treated as an exception type).
- Add another exception type (E.g. `ImmValueException` so that catch handler can do a type check).
- Make necessary changes to `Expr` generator and `Expr` evaluation.

**Describe alternatives you've considered**
- Write a test which runs in io-sim and io and has nested exception. However, it will be a unit test and will not test various scenarios when a test is generated through `Expr` generator.

**Additional context**
NA

**Are you willing to implement it?**
* [ ] Are you? :smiley: - Already started working on it.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.