hedgehogqa / hedgehogqa/haskell-hedgehog-classes

consolidate `Laws` with `Group`?

Open
#25 0 comments 1 reaction 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.