Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Overview of features in Clojure coming from other languages than CL

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!

like image 653
Michiel Borkent Avatar asked Jun 11 '10 17:06

Michiel Borkent


2 Answers

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.

like image 123
Bozhidar Batsov Avatar answered Oct 02 '22 21:10

Bozhidar Batsov


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:

  • Clojure-style concurrent programming with STM
  • Clojure protocols (somewhat like interfaces but more powerful)
like image 24
mikera Avatar answered Oct 02 '22 22:10

mikera