Improve your skill at designing polymorphic Clojure applications.
When it comes to Clojure there are many tutorials, websites, and books about how to get started (language syntax, set up a project, configure your IDE, etc.). There are also many tutorials, websites, and books about how language features work (protocols, transducers, core.async). There are precious few tutorials, websites, and books about when and how to use Clojure's features.
This is a comparative architecture class. I assume you are familiar with Clojure and even a bit proficient at it. I will talk about Clojure's polymorphic tools. I will use some example problems, solve them with different tools, and then pick them apart for what is good and what is bad. There will not be one right answer, but you will learn principles about when to appropriately apply Clojure's polymorphic tools.
When it comes to Clojure there are many tutorials, websites, and books about how to get started (language syntax, set up a project, configure your IDE, etc.). There are also many tutorials, websites, and books about how language features work (protocols, transducers, core.async). There are precious few tutorials, websites, and books about when and how to use Clojure's features.
This is a comparative architecture class. I assume you are familiar with Clojure and even a bit proficient at it. I will talk about Clojure's polymorphic tools. I will use some example problems, solve them with different tools, and then pick them apart for what is good and what is bad. There will not be one right answer, but you will learn principles about when to appropriately apply Clojure's polymorphic tools.