Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Writing DSL in Clojure

5,544 views

Published on

clojure, dsl, tree, programming

Published in: Software

Writing DSL in Clojure

  1. 1. DSL in Clojure Misha Kozik @mishadoff
  2. 2. developer domain expert
  3. 3. Abstraction
  4. 4. not Turing Complete
  5. 5. DSL Example: SQL Apache Calcite
  6. 6. DSL Example: Hadoop
  7. 7. DSL Example: Cascading
  8. 8. DSL Example: Cascalog
  9. 9. DSL Example: Hiccup
  10. 10. DSL Example: Lein
  11. 11. DSL Example: Regexp
  12. 12. DSL Example: TimeUnit
  13. 13. DSL Example: ->
  14. 14. Demo: Binary Tree
  15. 15. 0 1 2 3 4 5 6 7 98NIL NIL NIL Demo: Binary Tree
  16. 16. Internal DSL: Tree …well that’s verbose…
  17. 17. Internal DSL: Tree …from Java with Love…
  18. 18. Internal DSL: Tree i -> (2i + 1, 2i + 2)
  19. 19. Internal DSL: Tree Lisp way
  20. 20. Internal DSL: Tree
  21. 21. External DSL: Tree wow, such declarative
  22. 22. Generative DSL: Tree
  23. 23. Summary
  24. 24. Questions?

×