title: Are there any Clojure Principles?
body: <ol>
  <li><p>Are there any Principles for Clojure ? </p>
  
  <p>a. Like the <a href="http://en.wikipedia.org/wiki/Solid_%28object-oriented_design%29" rel="noreferrer">S.O.L.I.D. Object-Oriented Design Principles</a> for OO languages like Java ? </p>
  
  <p>b. or others more heuristic, like "Tell don't ask", "Favor Composition vs Inheritance", "Talk to Interfaces" ?</p></li>
  <li><p>Are there any design patterns (for flexible code) ?</p></li>
  <li><p>What is the counter part of the basic of functional-programming like encapsulation for object-oriented ?</p></li>
  </ol>
  
  <p>Know of any resources for these ?</p>