Yeah. Just unhelpfully pointing that out. One would think that there would still be some semblance of similarities, somewhat...
I forgot to throw in that Clojure can do some, if not all, of that. Monads (responsible for the error-handling and indeterminate output things) and lazy evaluation, certainly; it looks like at least one person has implemented a way of currying things, too. However, Haskell seems to handle it a bit more cleanly.
I know what both are
Also, I like functional Lisp-dialects that aren't super strict like Haskell, so it is Clojure and Lisp for me
Glad to know I'm not the only person here who likes functional programming.
I guess the strictness of the type system is a tradeoff- in Haskell, you have to define the type signature of every single function you write, but the type signature itself helps guide your writing the function, and it lets you have polymorphic things like minBound (which is -9223372036854775808 on my machine if Haskell thinks it's an Int (looks like a 64-bit integer), or '\NUL' if Haskell can determine it to be a Char, and so on for any other Bounded type) and >>= (the monadic "bind" function).
In the Clojure monad tutorial I looked at, at least, you had to tell Clojure what type to use for the monad. Haskell figures that out all by itself. Also, Clojure doesn't seem to have an actual polymorphic bind function, although it's possible that I misread the tutorial and/or didn't do my homework enough.
I guess the main difference is "spam of parentheses and compiles to JVM" vs "very few parentheses and compiles to machine code".