Hacker News new | comments | show | ask | jobs | submit login
My rant about Haskell (rwmj.wordpress.com)
25 points by rwmj 1544 days ago | hide | past | web | 8 comments | favorite

The technical issues - to the extent they can be determined - are discussed on http://www.reddit.com/r/haskell/comments/15n9l4/my_rant_abou...

Re whitespace being significant: you can use explicit braces and semicolons instead, certainly with let and do-notation.

Which was explicitly the reason for allowing semicolons and braces in Haskell: autogenerating code.

I think you should need to use a language for more than a week before writing a blog post about how much it sucks.

Not to imply he's an expert, but author seems to have more than a week's experience writing Haskell. He linked to a blog post[1] from 2011 about writing the libguestfs bindings in several languages, including in Haskell. I'm unfamiliar with the library, but some googling seemed to imply it was >1kloc for the Haskell bindings, which probably took some time.

[1] http://rwmj.wordpress.com/2011/09/21/which-foreign-function-...

I first used Haskell in around 1995(?) as a Miranda replacement. I started the Haskell FFI bindings in mid 2009, about 6 months after starting the libguestfs project. At that time I made many requests for help, but didn't get any at all.

libguestfs has 300+ API functions, and is about 500 kloc of code.

We autogenerate most of the bindings in ~ 10 programming languages using an OCaml program [hence the large defensive comment at the top of my rant]. I'm very happy to promote functional programming, but only where it's practical.

I've commented on your post itself, but I really fail to understand this rant. Whitespace is optional -- you must know that? And I assume you are familiar with the FFI binding tools, such as hsc2hs or c2hs? To automate the bindings?

Or at least the Storable class for marshalling structures?

The confusion about basic language features is very disconcerting.

And the lack of technical depth to some of the points - e.g. "A lot of stuff is simply not possible without delving into the depths of compilers." - please, do say what is not possible using the FFI.

There are literally thousands of packages on Hackage that use the FFI extensively, so I struggle to understand how you could not find examples of pretty much anything you would want to do...

So why doesn't the root comment about semicolons and braces apply?

However, you still need to work on other people's code bases. I increasingly see parallels between the C++ and haskell. In this situation, both seem to have a reputation for people choosing a subset of a language.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact