ML-like type system

Skip to first unread message

May 12, 2008, 11:55:38 PM5/12/08
to Clojure
Perhaps my question is a bit off-topic. Feel free to ignore it.
Watching the videos, I noticed that the author of Clojure took a lot
of inspiration from ML. Rich, why did you choose to make your language
a Lisp (dynamically typed) as opposed to ML? One can have both Lisp-
like syntax and macros with an ML-like type system, as I'm sure you
know (Liskell is one such language).

Rich Hickey

May 13, 2008, 11:44:45 AM5/13/08
to Clojure
I think the ML, and even more so, Haskell, are extremely interesting
type systems and languages. But, personally, I haven't found their
type systems to be sufficiently expressive or sufficiently dynamic for
my needs. I like dynamic polymorphism, I like heterogeneous
collections. I'm sure there are probably people working on extensions
to GHC to allow for similar things, but I don't have time for that. I
don't think the benefits of those type systems outweigh their costs,
for me. And, Haskell is already doing a brilliant job in delivering
that kind of solution.

OTOH, I think immutability is a huge benefit, so Clojure is an effort
to bring that over to a dynamic language. (Erlang is another)

I think ML's restriction of mutation to atomic refs (arrays aside) is
a good idea and was definitely inspiration for Clojure, which adds
transactional semantics.

Reply all
Reply to author
0 new messages