3 ms·
Record syntax is sucky. `>>=` and `>>` are idiomatic but rub me up the wrong way. I prefer `=<<` and `<<` (`<<` I even have to define myself). I wish `Monad`
by mooism2 15y ago
Record syntax is sucky.
`>>=` and `>>` are idiomatic but rub me up the wrong way. I prefer `=<<` and `<<` (`<<` I even have to define myself).
I wish `Monad` extended `Applicative`. I wish this sort of refactoring wasn't a breaking change.
I wish wrappers like `Endo` and `Kleisli` weren't necessary. (I know why they're necessary, and it's probably the right trade-off, but...)
I wish `mempty`, `mappend` and `mconcat` had better names.
- adrusi 15y agoI guess I'm not as familiar with Haskell as you are, I had no idea what Endo an Kleisli were, but I agree with your other statements (except maybe the second, (>>=) and (>>) are fine for me)
- mooism2 15y agoI prefer (=<<) and (<<) to make it look more like normal function application. I'm quite prepared to be in the minority on this. `Endo a` wraps `a -> a` so it can have a Monoid instance. Maybe I really want `endo :: [a -> a] -> (a -> a)`, by analogy with sum/Sum, all/All, etc. `Kleisli m b c` wraps `b -> m c` so `Kleisli m` can have an Arrow instance (given Monad m).