Skip to content

[#309] Replace `caps` with `ReaderT`

Diogo Castro requested to merge diogo/#309-readert into master

Description

Problem: We have Morley.Nettest.Caps module that provides ReaderT-based interface. However, it does so using the caps library. The primary feature of caps is so-called "late binding". If there are multiple effects (or capabilities), caps lets you change one capability so that it affects all other capabilities.

However, a long time has passed since this was implemented and we haven't found a use case for caps's features.

Solution: Since we're using caps as ReaderT, we might as well just use ReaderT directly. It's one fewer dependency, and devs are more familiar with ReaderT.

Also took the opportunity to delete some unnecessary functions from Abstract and improve the docs a bit.

Related issue(s)

Resolves part of #309 (closed)

Checklist for your Merge Request

Related changes (conditional)

  • Tests (see short guidelines)

    • If I added new functionality, I added tests covering it.
    • If I fixed a bug, I added a regression test to prevent the bug from silently reappearing again.
  • Documentation

    • I checked whether I should update the docs and did so if necessary:
    • I updated changelog files of all affected packages released to Hackage if my changes are externally visible.

Stylistic guide (mandatory)

Edited by Diogo Castro

Merge request reports