addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscontroller-playcrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgooglegroupshelp-with-circleimageimagesinstagramFill 1light-bulblinklocation-pinm-swarmSearchmailmessagesminusmoremuplabelShape 3 + Rectangle 1ShapeoutlookpersonJoin Group on CardStartprice-ribbonprintShapeShapeShapeShapeImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruserwarningyahoo

Turn Your Parentheses up to Eleven with Clojure Macros by Gary Fredericks

Macros are the primary pay-off of homoiconicity. Many features of other languages (e.g., pattern matching, short-circuiting boolean operators, destructuring, and delayed evaluation) can be implemented in Clojure by the user as macros. However, they can be difficult to use and easy to misuse. We will dig into details about how macros work and how you can use them, give plenty of examples from real code, and discuss when macro usage is and is not appropriate.

*Make sure to let us know if you need building access! Answer the "RSVP Question", or email us at [masked].


Geekfest is currently looking for speakers! Email us at [masked], if you would be interested in giving a talk.

Join or login to comment.

  • A former member
    A former member

    Great approach to understanding Clojure Macros. I especially enjoyed how Gary used the REPL to demonstrate quote, unquote and syntax quote.

    February 12, 2013

  • Alejandro A.


    February 11, 2013

  • Denny A.

    11 is the minimum level i want to turn my parentheses up to

    February 1, 2013

  • A former member
    A former member

    I'll be at MLOC.js

    February 1, 2013

Our Sponsors

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy