Hacker News new | ask | show | jobs
by Jaxan 348 days ago
Isn’t it the case that for a given functor (on Set) there can only be at most one Monad structure?
1 comments

Nope. It's that there's only one lawful Functor instance. But Applicatives and Monads can be multiple - lists are the classic example (zip vs cross-product)
Ah right. Didn’t remember it correctly.
The cross-product is not to be confused with the Cartesian product, which is related to the (in this case unfortunately named) "cross join" in SQL. Cross products operate in ℝ³, while Cartesian products are just defined over sets. The standard List monad instance uses the latter.
ah yes my bad! good callout