Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage Presentations The Mapping Dilemma

The Mapping Dilemma



David Nolen critiques the tools, languages and methodologies used today from the perspective of solving the “mapping dilemma”, introducing match, a pattern matching library for Clojure.


David Nolen is a JavaScript developer at The New York Times. He is the main developer of the Clojure Contrib library core.logic, a Prolog-like logic engine, and match, an optimizing pattern match compiler. He loves hacking at the intersection between object oriented, functional, and logic programming paradigms.

About the conference

Strange Loop is a multi-disciplinary conference that aims to bring together the developers and thinkers building tomorrow's technology in fields such as emerging languages, alternative databases, concurrency, distributed systems, mobile development, and the web.

Recorded at:

Dec 15, 2011

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Strange Loop

    by Alex Miller,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    If you're interested in other upcoming videos from Strange Loop, the full release schedule is here and all slides are here. If you want to be notified about Strange Loop announcements in the future, sign up for the mailing list.

  • Fun talk

    by peter lin,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Thanks for posting the talk. As a fan of LISP and logic programming, it's nice to see people study and apply it.

  • Good talk

    by Duraid Duraid,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    It's fascinating to see how it is possible to add pattern matching, which is a built-in feature in some languages like F#, to clojure with 1200 loc in one month. This shows how clojure is amazingly open for extension.

    I have a comment about the answer at the end of the talk which was about how pattern matching is closed for extension because it's not possible to add more clauses later and how the presenter is thinking about ways to solve that. But isn't that what polymorphism is for which is like and open ended pattern matching?

    Two thumbs up for the presentation style, you know, quote of Alan Kay, a french guy wearing arabic keffiyeh. Well done.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p