Your SlideShare is downloading. ×
Clojure - Revenge of the Verbs
Clojure - Revenge of the Verbs
Clojure - Revenge of the Verbs
Clojure - Revenge of the Verbs
Clojure - Revenge of the Verbs
Clojure - Revenge of the Verbs
Clojure - Revenge of the Verbs
Clojure - Revenge of the Verbs
Clojure - Revenge of the Verbs
Clojure - Revenge of the Verbs
Clojure - Revenge of the Verbs
Clojure - Revenge of the Verbs
Clojure - Revenge of the Verbs
Clojure - Revenge of the Verbs
Clojure - Revenge of the Verbs
Clojure - Revenge of the Verbs
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Clojure - Revenge of the Verbs

3,690

Published on

Published in: Technology, Education
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,690
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
66
Comments
0
Likes
7
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. clojure “revenge of the verbs” tim@lossen.de 2008-12-04
  • 2. LISP dynamic, functional, lazy _not_ object-oriented compiled (to JVM bytecode) on-the-fly or ahead-of-time
  • 3. (def fibs (lazy-cat '(0 1) (map + fibs (drop 1 fibs))))
  • 4. Syntax
  • 5. Nothing nil Booleans true false Numbers 10 22.31 2/3
  • 6. Strings ”foo” Characters a space newline Regexps #”[a-z]+”
  • 7. Comments ;this is a hack Symbols foo namespace/foo java.util.BitSet Keywords :foo :bar
  • 8. Lists (a b c) Vectors [1 2 3] Maps {:a 1 :b 2} Sets #{:a :b :c}
  • 9. Semantics
  • 10. literals evaluate to themselves vectors and maps are data symbols are resolved non-empty lists are calls
  • 11. calls (operator operands*) special forms def if let fn macros and defn time functions + = str println large sequence library
  • 12. Concurrency
  • 13. persistent data structures “state - you’re doing it wrong” lists, vectors, maps, sets ... structural sharing
  • 14. Vars - thread-local Refs - transactional Agents - asynchronous
  • 15. Links
  • 16. Project http://clojure.org Presentations http://clojure.blip.tv Book “Programming Clojure” (beta) http://pragprog.com/titles/shcloj TextMate Bundle http://github.com/ nullstyle/clojure-tmbundle/

×