This commit is contained in:
Alexander 2025-06-12 13:23:02 -04:00
parent 3a1da22c36
commit fa2e6c4e08
5 changed files with 22 additions and 4 deletions

View file

@ -41,4 +41,8 @@ end
It turns out that there are multiple ways to implement the derivation functors--- also multiple ways to implement a particular monad ---and they don't all behave the same, which means it's hard to predict whether the more-general, derived implementations are the "natural" ones that you expected to get without _ad hoc_ testing, which obviously rather defeats the point of "free".
[^falsehood]: Unsurprisingly, I lied. You have to buy a `Monad` first.
On the other hand, the derivations here can be performed pretty mechanically, with little insight, by following the types in much the same way one might mechanically prove a simple proposition. So it _is_ a relatively low-effort and low-investment activity.
TODO: explain functors and `with type`.
[^falsehood]: Unsurprisingly, that's a lie. You have to buy a `Monad` first.