Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plug testing gaps #31

Open
treeowl opened this issue Jul 28, 2021 · 3 comments
Open

Plug testing gaps #31

treeowl opened this issue Jul 28, 2021 · 3 comments

Comments

@treeowl
Copy link
Collaborator

treeowl commented Jul 28, 2021

#25 adds MonadReader and MonadError instances. It includes a couple unit tests for MonadReader borrowed from a logict bug report, but no general property tests. It has no tests whatsoever for MonadError. What I think we want:

  1. Representations of the free MonadReader and the free MonadError we can generate for testing, if indeed such structures exist.
  2. Tests hopefully verifying that the instances obey reasonable laws as discussed in Missing laws haskell/mtl#5.
  3. Tests hopefully verifying that the instances behave the same as the ones in logict, and if not a determination of which ones are correct.

Additionally: we should test the composition law for hoist.

@dagit
Copy link
Owner

dagit commented Jul 29, 2021

We also want a test simple for this: atzeus/reflectionwithoutremorse#6

@treeowl
Copy link
Collaborator Author

treeowl commented Jul 29, 2021

#25 now includes tests for the MonadPlus laws, so I think that'll cover the bug you found in reflectionwithoutremorse.

@treeowl
Copy link
Collaborator Author

treeowl commented Jul 29, 2021

We need a test showing that read . show = id. I made an attempt, which failed mysteriously. I'll keep working on it.

@treeowl treeowl added the task label Jul 30, 2021
@dagit dagit added this to the Hackage 0.2 Release milestone Jul 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants