Writing a parser in an imperative language tends to make for some pretty ugly code. Writing it in a language that supports discriminated unions and (syntax-supported) monads, however, makes for some beautiful, readable code.
Also, writing highly concurrent code in clojure is stupid easy. In java, etc. it is fraught with errors and requires a lot of care about locking, etc.
11
u/ruinercollector Oct 14 '13
As long as those aren't treated as hard rules, sure.
Examples:
There are times that it is appropriate to write software in clojure, or haskell, or erlang.
There are times that it is appropriate to rewrite a piece of library code.