2012 The Reemergence of Datalog

Datalog is a programming language derived from Prolog used for deductive rule definitions and queries. While certainly not a new concept, Datalog is uniquely positioned to serve as a query language for big data systems and as an embedded query language. In this talk I gave an overview of Datalog as a concept including its roots and costs/benefits over languages like Prolog and SQL. I also provided examples of how Datalog is implemented and used in Datomic, Dedalus, Cascalog, and the Bacwn Clojure library. video not yet available

topics: datalog, prolog, clojure, sql, java, dedalus, langdev, query, programming

Venue Emerging Languages

2012 ClojureScript Anatomy

A deep dive into the inner workings of ClojureScript's analysis, compilation, and runtime phases. The talk focused specifically on the way that traditional JavaScript abstractions thwart code-size and efficiency and how ClojureScript avoids such pitfalls. Finally, I told a couple "war stories" about some of the specific challenges met by the Clojure/core team during the development of the compiler and runtime. view ClojureScript Anatomy on InfoQ

topics: clojurescript, compilation

Venue Clojure/West

2011 The Macronomicon

A dive into the arcane arts of macrology. Topics include: the basics of macros, the "times" of macros: macro-expansion, compile, and run times, hygiene, macro scoping (lexical and sub-lexical), my approach to writing macros and a case study on Trammel. view The Macronomicon on Blip.tv

topics: clojure, macros, trammel, contracts-programming, hygiene

Venue Clojure/conj

2011 Code as Data as Code

The many facets of data. video not available

topics: clojure, clojurescript, edn, data, sql, macros

Venue Devignition

2010 Na´vetÚ vs. Experience

I discussed the use of Scala and Clojure in an ongoing software project. The talk included an anecdote about how each language was pitched to the software team composed of programmers with very little to no prior experience with functional programming. The actual Scala pitch was dissected and criticized and then distilled into a few general thoughts on how to make an effective functional language pitch. view Na´vetÚ vs. Experience on Vimeo

topics: clojure, fp, scala, oop

Venue CUFP

2010 Fertile Ground: The Roots of Clojure

I explored some of the programming language and paradigm influences on the Clojure programming language. Clojure contains its own novelty, but its greatest strengths are built on the foundation of existing language features. view Fertile Ground on Blip.tv

topics: clojure, ml, prolog, clips, java

Venue Clojure/conj