hedgehogqa / hedgehogqa/haskell-hedgehog-classes
consolidate `Laws` with `Group`?
- Dominant language
- Haskell
- Stars
- 57
- Forks
- 19
- PR merge metrics
- No merged PRs in 30d
Description
These are a bit different, since the intention of `Group` is more general, whereas `Laws` is meant to indicate just a test involving a typeclass law(s).
Here are their respective definitions:
```haskell
data Group = Group
{ groupName :: GroupName
, groupProperties :: [(PropertyName, Property)]
}
data Laws = Laws
{ lawsTypeClass :: String
, lawsProperties :: [(String, Property)] -- ^ (law name, property)
}
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by comparing the Group and Laws definitions shown in the issue and determine whether their differing purposes can be represented by one abstraction. Done means reaching and documenting a design decision about consolidation, including how the existing fields and typeclass-law semantics should be preserved.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- testing
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100