I wrote a chunk of Haskell some time ago (in a hurry I think) which ended up having a *lot* of tuples in it. Any time I took a type, and derived something from it, I was returning them as a pair.
The result was streams of composed `fst . snd . fst .fst . head . ...` which were really hard to reason about
Took a risk and replaced a chunk of those with new explicit types (e.g. `data Thing { thingInternal :: InternalThing, thingCost :: Cost }` ) and I think it was worthwhile
The result was streams of composed `fst . snd . fst .fst . head . ...` which were really hard to reason about
Took a risk and replaced a chunk of those with new explicit types (e.g. `data Thing { thingInternal :: InternalThing, thingCost :: Cost }` ) and I think it was worthwhile
- replies
- 1
- announces
- 0
- likes
- 1