Mailing List Archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [tlug] recomendations for a functional language



Curt, thank you for the lengthy reply. 
After spending some time with Haskell earlier, I'm giving it another look now after reviewing the points in your reply. 


On Tue, Nov 3, 2009 at 12:06 AM, Curt Sampson <cjs@example.com> wrote:
Don't underestimate this difference. Moving from duck typing to a
good H-M type system is a larger jump than moving from something like
Java's "static" type system to Ruby's "dynamic" type system. Duck
typing is undoubtedly cool, but proving that your program cannot
ever fail in certain ways (bar compiler bugs or hardware failure) is
mind-blowing, and will change the way you look at everything. (It gave
me some interesting new insights into relational [database] theory, for
example.)

I've heard this more than once, but I've yet to discover it myself unfortunately. How often are you saved from typing bugs by the compiler, and does it help with data driven bugs at all?


 
unrelated, yet quite important feature: pattern matching. This is a
basic language feature that I believe everybody should be aware of and
have used, whether or not they later chose a language that supports it.

Clojure calls them "multi-methods", though they are a little different. You could probably re-implement a more formal definition of pattern matching with a macro as well if you wanted to.


 
> If you're dismissing Clojure as another Common Lisp variant, I suspect
> you're missing the significant difference between the two, and should do a
> little more reading into what Clojure is before discussing it.

On review, Clojure is certainly further from Common Lisp than I'd
thought in my last post (despite being a Lisp-1, and not a Lisp-2),
especially in its emphasis on recursion rather than looping (though I've
not examined how well it really does when it comes to guaranteeing tail
call optimization, which is an important point when using recursion in a
language compiled to the JVM). But, while you may well even know Haskell
better than I know Clojure, I posit that Haskell is further from the sum
of all things you know about languages than Clojure is from the sum of
things I know about languages.

You certainly could be right. 
Although I've wanted do more/larger Haskell development, the opportunity hasn't come along yet.
 


Home | Main Index | Thread Index

Home Page Mailing List Linux and Japan TLUG Members Links