With the basics of multimethods out of the way it’s time to look at some of the
more advanced uses. This episodes explores in depth Clojure’s keyword hierarchy
features, some little known aspects of the
type functions, and
closes off with some examples that demonstrate the flexibility Clojure provides
when modeling data and behavior.
Clojure provides polymorphism through protocols and multimethods. Protocols were covered in depth in episode 24. This episode provides a brief recap, then looks at multimethod basics. If you are already familiar with multimethods then you might want to skip to the second part, which covers some of lesser known aspects.
After some exploration and analysis of the data it’s time to create a predictive model. In this episode you’ll discover several new chart types, learn how to evaluate the correlation between variables, how to create a simple linear model, and how to evaluate the fitness of the model.
With the knowledge of transducers under your belt, it’s time to start analyzing some data. This episode provides a first introduction to the Kixi.stats statistical toolkit, by analyzing a data set and its distribution, with the goal of creating a predictive model through linear regression.
Clojure allows processing data in a way that is composable, reusable, and performs well, all through the power of Transducers. Episode 38 provided a general overview of what’s in the box, the transducers and transducing contexts provided by clojure.core. This episode digs deeper into the internals of transducers and reducing functions, and looks at some powerful libraries for real-world data processing and statistics.