Want this course?
This is an advanced topic, but interesting nonetheless! Instead of implementing a hybrid using a HashMap, we build our own type. We explore the Clojure implementation of Vector and replicate the methods and interfaces it implements.
Code is available: lispcast/clojure-collections
You can checkout the code in your local repo with this command:
$CMD git clone https://github.com/lispcast/clojure-collections.git $CMD cd clojure-collections
Vectors and Lists in syntax
Why is it that Clojure syntax has both parens and square brackets? What's the difference? For instance, a let form has parens around it but the bindings are in square brackets. The key is that the stuff in square brackets is configuring the let form. That's the difference.