Skip to content

Comment on Ask HN: Most applicable functional language to learn?

Comments

Scheme is great since it's so breathtakingly simple, but the static functional languages like Haskell have pushed FP far beyond basic Scheme (then again, you can roll your own whatever with Scheme, although if you like static typing that would be a pain (to add)).

You should look at Clojure (http://clojure.org/), which pushes the FP aspect of Lisp hard, especially so that you can do interesting concurrency things. It's "secret sauce" is a data structure (http://en.wikipedia.org/wiki/Hash_array_mapped_trie) that pretty neatly solves the trivial update problem (changes are O(n) where n is no greater than 32 and more likely 5-6).

Upon this foundation of practical immutable data several methods for dealing with concurrency are provided, e.g. actor like "agents" (not actors since they share the same address space, but that's safe) and an MVCC STM.

And of course it's a Lisp, which might be nice if you're tired of static typing and/or complex syntax (albeit more complex than earlier Lisps since vectors, hashes and sets are first class citizens and quite a bit of normal syntax uses vectors). The Clojure community is also nice, friendly and helpful, and doing interesting things like monads which have been adopted into the official contributed library.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.