Lisper's first look at Haskell
tourdelisp.blogspot.com
Lisper's first look at Haskell
1–10 of 40 posts
Re: Lisper's first look at Haskell
#2I much prefer unification.
Re: Lisper's first look at Haskell
#3I had a similar observation about haskell's pattern matching when I was learning haskell: " Built in pattern matching - it's very convenient about programming sometimes. Unfortunately for someone who learned Prolog before Haskell, Haskells' pattern matching will look very limited.First it doesn't allows me to repeat a variable in a pattern , second compared with Prolog, it's one sided. Big issue for someone used to f…
FWIW, I'm working on a pattern-matching library for Lua. (tamale: http://github.com/silentbicycle/tamale) It uses linear search and backtracking rather than compiled decision trees at the moment, though I have the latter mostly done - there are a few failing tests for variable corner cases, though. (Maybe I'll get to them this weekend.) It allows repeating variables in patterns, too.
Re: Lisper's first look at Haskell
#4If working in Haskell reminded him of C (and the post is full of rubbish like this [1]), I'd imagine he didn't understand Haskell at all. This is on the order ranting about how lisp is sucky because of "all those parantheses".
"And don't even dare to mention Emacs, a lot of people don't like it.It's 2008 and creating a simple Haskell editor is not an rocket science"
A supposed "lisper" saying this is hilarious. Many lisps (CLisp, CMUCL, Clojure) reccomend Emacs + slime as "their" editor (and take a lot of heat from uninformed ranters for not having an Eclipse like IDE!) .
To top it all he claims Lisp was "divinely inspired" whereas the lowly Haskell is "unblessed". (The basis fr his weird analogy, the linked martial arts "ryu" vs "do" article is an interesting read though)
I quote "Haskell is one of those 'unblessed ', modern do languages sharing company with c++, java, c#, OCaml, F# etc"
He didn't program anything significant in Haskell, didn't "get" it any way and yet is sure of its inferior nature.
This reminds me of an old HN post of a similar rant by a Clojure fanboi titled "Clojure VS Python". He had gems like "A man with a thousand knives...of which none are sharp. It's a chinese proverb ..(which) can also be used to describe Python. ". I wonder if it is the same guy? [EDIT. No it isn't)
[EDIT here it is http://news.ycombinator.com/item?id=881642].
Contrast with what an ultra competent lisper said about Haskell (Rich Hickey, dismissing another uninformed anti Haskell rant on the Clojure mailing list [ http://groups.google.com/group/clojure/msg/32b11b22ec104d4d]
"Everyone, please refrain from language wars. Haskell is a tremendously ambitious and inspiring language, for which I have the highest respect. There is zero point in bashing it (or its users) in this forum. "
The post itself is nothing more than uninformed fanboi ranting, but on HN, even dumb posts result in high quality discussion (as is already happening - silentbicycle's comments on unification for e.g), but it would have been really awesome to get an intelligent and well thought out post on "A (competent) Lisper's reaction to Haskell"
[1] another sample: "Case sensitive - why does types has to start with uppercase and functions with lowercase. "
Re: Lisper's first look at Haskell
#5Its type checks can be incredibly useful for finding code needing updates during refactoring, automatically verifying things that would otherwise require writing reams of tedious tests, etc. It's a trade-off, though - you're deliberately structuring your code so that your assumptions can be mechanically checked. This is very much a matter of taste, and I understand having strong opinions either way. (I go back and forth on it.)
Stupid type systems suck hard, though - smart static typing (ML and Haskell) and full dynamic typing (possibly with optional static annotations) both work well, but in between lies pain and misery.
Also, look at the follow-up: (http://tourdelisp.blogspot.com/2008/03/farewell-haskell.html) I feel like he barely tried.
Re: Lisper's first look at Haskell
#6I'm not surprised that he's finding Haskell's static typing to be a hurdle. I had the same experience when I started learning OCaml after years with Python and Scheme - it took me a couple days to think in, rather than fight with, its type system. Nowadays, I strongly recommend reading _The Little MLer_ before starting with Haskell or OCaml - it does for static typing what _The Little Schemer_ does for Lisp. Its type…
Also, static polymorphic types are a superior substitute for many uses of dynamic typing.
Re: Lisper's first look at Haskell
#7"Static typing sucks. It reminds me of the dark ages of programming in the c family of languages. " If working in Haskell reminded him of C (and the post is full of rubbish like this [1]), I'd imagine he didn't understand Haskell at all . This is on the order ranting about how lisp is sucky because of "all those parantheses". "And don't even dare to mention Emacs, a lot of people don't like it.It's 2008 and creating…
Re: Lisper's first look at Haskell
#8"Static typing sucks. It reminds me of the dark ages of programming in the c family of languages. " If working in Haskell reminded him of C (and the post is full of rubbish like this [1]), I'd imagine he didn't understand Haskell at all . This is on the order ranting about how lisp is sucky because of "all those parantheses". "And don't even dare to mention Emacs, a lot of people don't like it.It's 2008 and creating…
It surprises me that he's complaining about case sensitivity and praising Prolog in the same post - Prolog is case sensitive, too. All variable names are uppercase. Lowercase names are atoms, what Lispers call 'symbols'. This is where Erlang got that from, by the way. (I like it, but I bet it really irritates some people.)
There is a very simple explanation for that ? ;-)
Re: Lisper's first look at Haskell
#9Re: Lisper's first look at Haskell
#10http://www.reddit.com/r/lisp/comments/cs94g/on_preferring_li...
Most programmers who achieve mastery in a fringe language find themselves having to justify their choice of tool to others. I think that poster did a good job in that regard.
Btw, Lisp vs Haskell debates can either lead to intellectually stimulating discussions, or they can devolve into a bum-fight. The decision that leads to the choice of either language over something more "popular" is the same: a quest for beauty and profound insight.