Commit e793aeb
committed
Completely redesign the API around explicit strategies
The API is much nicer. Type families in the `Eval` type class were
getting in the way of derivation (derivation isn't done yet). It just
created a lot of boiler place. Both at call sites where we had to wrap
random values in a newtype all the time, and when defining `Eval`
instances (which may be used just once, which was entirely
unnecessary), since the instances were almost entirely boilerplate.
This actually deletes lines of code, so even the implementation is
simpler really. I don't need some special support for the
`strict-wrapper` library: just use the `seq` strategy.
This is looking quite good.1 parent 8f21d7b commit e793aeb
3 files changed
+150
-148
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
38 | 37 | | |
39 | 38 | | |
40 | 39 | | |
| |||
50 | 49 | | |
51 | 50 | | |
52 | 51 | | |
53 | | - | |
54 | 52 | | |
55 | 53 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
17 | 16 | | |
18 | 17 | | |
19 | 18 | | |
| |||
0 commit comments