

Ask HN: Deciding between Haskell & Lisp - lallysingh

Hey folks, I'm going functional and want to decide between the two.  Some of my thoughts and concerns are below.  I'd love to hear your thoughts on it.<p>Why I like Haskell:<p>- It compiles to native code (in GHC)<p>- It has a grammar<p>- The type system looks fascinating<p>- GHC also has native support for Literate Haskell files, which sound pretty useful considering the density of functional code.<p>- Lazy evaluation looks like a great way to pass around work for threads, or to model certain problems.<p>- It's nice how they handled side effects ala Monads.<p>Why I'm still curious about lisp:<p>- I don't know how to compare CLOS or macros against  Haskell's functionality.<p>- Emacs.  A single language across the board could be nice.  I've been a long-time user for it, but mostly for imperative languages, org-mode, and latex.<p>- Connections to old hacker lore &#38; culture.  Tons of old stories on Lisp being wonderful, AI research, etc.  Considering how simply lisp's survived &#38; evolved over the last 50 (!) years, there's apparently a lot more to the whole thing than I can determine beforehand.<p>Of course, the real decision is which one becomes my first native functional language, and which one becomes the second.  But it's really going to boil down to which one I choose for my next personal dev project.  The second will have to be an experimentation platform, based on the lens developed in the former.<p>I suspect others are in the same situation (for differing reasons) and hope that this thread be useful to them as well.<p>Thanks in advance!<p>-Lally
======
gaius
Add OCaml to your shortlist.

What sort of applications are you trying to write? Which language has the
people working in your field? That's what it boils down to really.

------
gruseom
In CL, I find it natural to program functionally most of the time, but use
side effects whenever it suits me. That leads to a different mentality than
pure functional programming. I like it because it's pragmatic. But if
functional purity appeals to you, you may want to go with Haskell (or Scheme).

p.s. "It compiles to native code" is true of CL as well.

------
yan
I'd try to start learning both. Spend a few days learning lisp, do as much of
it as you can. Then, spend a few days learning Haskell.

After you start picking up on their essence, I'm sure one of them will feel
like home more so than the other and you'll understand their individual
raisons d'etre.

~~~
queensnake
Can you learn enough to know a meaningful difference in a few days, though?

Also, it seems to me that Haskell is harder to learn /incrementally/; ie, you
have to learn much more before you can write anything useful. I got ~halfway
through the 'monk' book without feeling I could write anything useful; but
maybe that's just me.

