|
|
|
|
|
by dllthomas
4034 days ago
|
|
"Personally, I don't find "monad" or "functor" to be that bad." I actually think there are two big wins there, one of which is somewhat overlooked. First, it's great to be able to be able to read math papers and see how it touches your programming with less translation. Second, and I think less noticed, it changes the form of some arguments. If we called Monoid "Appendable", then we would have to consider whether a new and different thing jived with our notion of "append". These arguments still happen in Haskell ("is container a good way to think of functors?") but it's recognized that what you're talking about is pedagogical. The question of whether something is a valid instance of Monoid or Functor or Monad is simple: does it abide by the laws? And since those laws are clear, we know what we can rely on, and if someone uses our code with an invalid instance that's their own fault. |
|