

Ask HN: What About Haskell Don't You Like - adrusi

This is targeted towards those who use haskell regularly. What, if anything, makes you wish haskell were slightly different. It's by far the best language I know, with only lisps coming close, but I feel like it's missing something or doesn't do something right, I just can't figure out what.
======
mooism2
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
I 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
I 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).

------
gtani
The common complaints are record syntax, String/Text / ByteString/Char/Word8,
the functor/applicative/monad (should be a hierarchy and there's duplicated
functions:

[http://www.reddit.com/r/haskell/comments/n7x5t/on_the_applic...](http://www.reddit.com/r/haskell/comments/n7x5t/on_the_applicative_structures_of_monads/)

lack of stacktraces (loch ca't be used with 6.12 on), cabal on mac, profiling
vs. inlining, GHCi's limitations and slowness, and how do you know which
packages on hackage to use?

A lot of these are being worked on:

[http://www.reddit.com/r/haskell/comments/k4lc4/yesod_the_lim...](http://www.reddit.com/r/haskell/comments/k4lc4/yesod_the_limitations_of_haskell/)

[http://www.reddit.com/r/haskell/comments/mm68o/ghc_74_branch...](http://www.reddit.com/r/haskell/comments/mm68o/ghc_74_branched_whats_in_for_christmas/)

