views:

234

answers:

3

I am searching for an overview of the features of Clojure that are coming from other languages than Common Lisp.

For example:

  • STM: language X, Y and Z

Your input is welcome!

+6  A: 

You might want to have a look at this list of books, that influenced Clojure's design, compiled by Rich Hickey himself. Looking at the titles you'll probably figure out where more of the ideas originated.

Bozhidar Batsov
+2  A: 

Some features loosely based on other languages that I am aware of:

  • Lazy evaluation / lazy lists : Haskell
  • Persistent data structures : Haskell and other pure functional languages
  • Dynamic typing: any dynamic language e.g. Groovy, Javascript
  • Type hinting (for performance): various languages
  • Code-is-data and macro based meta-programming: LISP
  • JVM execution and interoperability: Groovy, Scala

Ideas in Clojure that I believe are pretty original:

mikera
Protocols I think come from Objective-C.
missingfaktor
A: 

STM in clojure is coming from hard research in concurrency and transaction field and have implementations in Haskell(Glasgow Compiler) and more recently Fortress( High Performance Numeric Computation Language by Sun)

william gouvea