Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Part of it (but certainly not all of it) is because of all the funny instances hanging around. I'm able to exploit the Semigroup b => (a -> Semigroup b) instance in a WIP version for example. And using (<*>) on the Applicative instance of (-> r) is a favorite of mine.


... To be super ridiculously over-the-top pedantic... That Applicative instance is on ((->) r). If you could actually do type-level sections, that'd be (r ->). But type-level sections are the same as type-level lambdas, and they would break a lot about Haskell's type system so they don't exist.

All of which is to say, great work.


Right you are, I never remember the proper name for the instance. I only use it to spaghettify code.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: