Ambrose Bonnaire-Sergeant is a student at the University of Western Australia. He is studying Bachelor of Computer Science, with the creation and study of Typed Clojure the subject of his Honours dissertation.
YOW! Lambda Jam 2013 Brisbane
Gradually Typed Clojure: Introduction and Overview of Clojure core.typed
core.typed is a gradual type system for Clojure. With annotations, it can type check normal Clojure code and help document subtle type invariants. This talk is an overview of core.typed, including its influences, rationale, design goals and tradeoffs. Assumes some experience with Clojure, does not assume core.typed experience. Intended to precede the core.typed workshop.
Gradually Typed Clojure: Details and Demo of Clojure core.typed
Following from the core.typed introductory talk, I show how core.typed can be used to check normal Clojure code, including: functions, hash maps, control-flow predicates, nil/null usage and Java interop. Along the way, I show some useful static debugging tools for diagnosing errors. There will be some type theory, but the focus is on practical usage. Bring a Clojure REPL via Leiningen or Maven to follow along. Assumes some experience with Clojure, does not assume core.typed experience.