Session: Expressing yourself: polymorphism in Clojure
Friday 14.10 - 15.00
Room: Nyan Cat
Clojure is a functional language with powerful mechanisms for implementing polymorphic behavior, including for types that you did not create. This talk explores how Clojure solves "the expression problem" common in object-oriented languages using protocols, types and records, and multi-methods. Topics include defining these constructs, applying them to types defined by you or others, and how they map to underlying JVM constructs.
How to implement polymorphic behavior in Clojure
Tim Ewald is a pragmatic architect with 18 years experience building distributed systems. He works at Relevance, a consultancy focused on systems engineering using advanced languages and agile methods. His most recent work involved helping ship Datomic. Prior to joining Relevance, Tim was a VP of Architecture at SeaChange International, where he focused on integrating Web technologies and video on demand infrastructure for the cable and telco industry. Before that he worked at Microsoft, where he designed and developed the first iteration of MSDN2.