Language #6: Clojure

Coming up: an introduction to Clojure, the 6th language in the book "Seven Languages in Seven Weeks," by Bruce Tate. As usual, the ever-generous Meetup.com will be providing free beer and pizza along with the space.

We'll be hearing about Clojure from Raymond de Lacaze, a member of the 7 Languages group, a developer at Patch, and an AI expert:

 

This presentation will describe the Clojure programming language. There will be two parts to the talk. The first part will faithfully cover the material in Chapter 6 of “Seven languages in Seven Weeks”. The second part of the talk will present features of Clojure not covered in Tate’s book, and will draw material from the three popular Clojure books: “Programming Clojure”, “Practical Clojure” and “The Joy of Clojure”. We will specifically cover Software Transactional Memory (STM), Multimethods, Macros & Metaprogramming, Agents & Parallelism and Datatypes & Protocols.
Raymond de Lacaze has over 20 years’ experience with Lisp and AI technologies. He holds a Bachelor of Science in Applied Mathematics and a Master’s degree in Computer Science. He is currently employed as engineer at Patch, working with Scala, Haskell and Clojure.

 

You'll get the most out of the presentation and discussion if you read the chapter and attempt the exercises beforehand, but by all means, come to the talk whether you have done so or not.

 

Join or login to comment.

  • Raymond de L.

    For those of you who are interested in pursuing Clojure, there is an upcoming talk on Clojure & ClojureScript at the next LispNYC meetup on Tuesday, May 14th at MeetupHQ.

    http://www.meetup.com/LispNYC/events/78458432/

    The talk is being delivered by David Nolen, a truly wonderful speaker and one of the keynotes at the upcoming Lambda Jam Conference in July.

    http://lambdajam.com/

    This promises to be an amazing talk!

    1 · May 3, 2013

  • Long W.

    Thanks Richard, great job. Good intro talk.

    May 2, 2013

    • Long W.

      And thanks to Ray.

      1 · May 2, 2013

  • Long W.

    What are 1 or 2 Clojure books recommended for the beginner.

    April 30, 2013

    • E\/IE B.

      Practical Clojure by VanderHart (great for clojure basics) Chas Emerick's book Clojure Programming (goes super deep and has great projects but he dives in really quick) also good is Halloway and Bedra's book [2nd edition] (Bedra is really fun to hang with when he's in town).

      April 30, 2013

    • Raymond de L.

      I would recommend reading them in the reverse order listed above. I.e. Programming Clojure, Practical Clojure and then the Joy of Clojure, which conceptually harder than the first two. Clojure in Action is also out, but I haven't read that one yet.

      May 2, 2013

  • Ashley W.

    as a LISP newbie i thought this was pretty engaging. would have liked to hear about problems where using Clojure is a particularly good solution. would also love a follow-up talk on macros in clojure vs ruby metaprogramming. pretty plz?

    2 · April 29, 2013

    • David B.

      All?

      April 30, 2013

    • Raymond de L.

      Perhaps, with the exception of the problem of finding a problem for which Clojure is good at. Oh wait! That's a meta-problem. :-)

      1 · May 2, 2013

  • Samuel H.

    Great speaker! He was very clear and concise. I learned a lot about Clojure from this meetup.

    May 2, 2013

  • Richard H.

    A belated thanks to Ray for his excellent talk. I've been watching all kinds of Clojure videos since the talk, and I never would have understood them without his clear explanation of the various kinds of reference types, among other concepts that he clearly and simply illuminated. And by the way, here are the slides: http://www.slideshare.net/delaray/clojure-7languages

    May 2, 2013

  • E\/IE B.

    as a rails refuge, I can say clojure is my favorite ruby, but don't take my word for it. Just watch www.youtube.com/watch?v=PCdEbUBk6a0
    and cause he's the ultimate explicator of his own language but here Rich is at Rails Con 2012 www.youtube.com/watch?v=rI8tNMsozo0, and I could just keep going: http://channel9.msdn.com/Shows/Going+Deep/Expert-to-Expert-Rich-Hickey-and-Brian-Beckman-Inside-Clojure

    April 30, 2013

    • E\/IE B.

      Yeah once you start listening to the guy there is no stopping.

      April 30, 2013

    • Richard H.

      I didn't actually mean to say time itself as a general concept, but rather the idea that time is something that flows continuously and exists as a substrate under the moments which are embedded in it. This is the psychological construct.

      April 30, 2013

  • John

    I won't be able to make it. Will the presentation be recorded?

    April 29, 2013

    • Long W.

      +1

      April 30, 2013

    • SKazi

      +1

      April 30, 2013

  • SKazi

    Hey guys, it was an awesome session. Didn't know lisp was still kicking, other than the AI jokes you hear. I actually just read an article today on HN, about Closure. The DrDobbs article cites that the entire language can be beautifully summed up with just 7 functions and 2 special forms: atom, car, cdr, cond, cons, eq, quote, lambda, and label. Thanks Rich/Raymond/Meetup. Looking forward to the next and then we're starting back from the beginning right? :)

    April 30, 2013

    • Anatoly

      as Rich Hickey mentioned some time ago: my friends call Google Closure: "Closer"

      April 30, 2013

    • SKazi

      hehe, tbh if you guys hadn't stated the fact. I wouldn't have even notice the J, in clojure otherwise. It's like the !, in Go. :p

      April 30, 2013

  • Denis P.

    What were the clojure books mentioned in the Q and A, and which is the single most comprehensive resource?

    I.e., if you could only get one book on clojure, which would it be?

    April 30, 2013

    • E\/IE B.

      Practical Clojure by VanderHart (great for clojure basics) Chas Emerick's book Clojure Programming (goes super deep and has great projects but he dives in really quick) also good is Halloway and Bedra's book [2nd edition] (Bedra is really fun to hang with when he's in town). Fogus is good also. Clojure in Action is the one I've only skimmed but it seems pretty sound swell. In short it's hard to go wrong with any of them. VanderHart also did ClojureScript Up and Running which is so far the only one on that topic yet available.

      April 30, 2013

  • Owein

    As someone whose day job is in Scala, I can not wait to see how Clojure looks in comparison.

    April 7, 2013

    • Raymond de L.

      Syntactically simpler! :-)

      April 7, 2013

    • Anatoly

      what's really better about Clojure vs. Scala is _community_. It is "smart and helpful" vs. "clever and in your face". I worked in both. Scala is a great way to write semi functional Java, with a risk of becoming Perl of JVM if abused, and it is abused quite frequently according to github. Clojure is just a different way to think about the problem. Suddenly 80% of complexity goes away, and you're left with just small functions and libraries vs. classes and frameworks. To create a function in Scala you do: "object MyFun extends ( String => Long ) { def apply (...) }". In order to do the same thing in Clojure is "(defn myfun [a] ...)". So it is the matter of love for complecting things.. or not.

      April 30, 2013

  • Mikhail

    Thanks a lot for a great session. It was really interesting.

    April 30, 2013

  • David B.

    Clojure is Ruby done right, for sure.

    What sets it apart is the simple semantics of Clojure compared to the *seemingly* simple *object model* of Ruby, which by its ad hoc meta facilities of introspection and monkey patching, creates a monster of a semantics.

    This connects to Ashley's query: Clojure has a (proper) stratification of the language into a meta and an object level. Ruby has introspection, collapsing the two levels, and confusing the reader (and even compiler...)

    I am here discussing module 'eval', i.e., I ignore that Monkey Patcher Supreme that both languages carry around as a last resort; well, not really true, there are two variants of Ruby and Clojure that do not support 'eval', namely RubyMotion and ClojureScript, proving that one can (and indeed *should*!) live without that gateway drug to hell.

    1 · April 30, 2013

  • Owein

    Would love to learn more about STM in Clojure and how it differs from STM in other functional languages like Haskell.

    April 30, 2013

    • David B.

      No other functional language that I happen to know has STM incorporated in its core semantics; this includes Haskell.

      April 30, 2013

  • E\/IE B.

    Ray did up the clojure sweet! Atoms, Refs, & Agents were never so succinctly explicated.

    April 30, 2013

  • Viraj P.

    I have to relinquish my spot ... Sorry

    April 29, 2013

  • Philip M.

    I'm running late

    April 29, 2013

  • Eric F.

    PATH train is having issues so I don't think I'll be able to attend. Enjoy the meeting, everyone!

    April 29, 2013

  • David B.

    And, yes, it irritates me to miss Ray's presentation :-(

    April 29, 2013

  • David B.

    Would love to hook up in a less formal (and large) setting with polyglots out there!

    However much I enjoy presenting or being presented in a big crowd, I would love to meetup at smaller (and more frequent) impromptu gatherings, such as lunch/tea, and discuss computer linguistics and/or ruminate around the "ideal language". If anybody is up for that, please let me know; am usually in Tribeca or SoHo, but am mobile, so just ping me and I will be there with a green tea.

    April 29, 2013

  • David B.

    Work...

    April 29, 2013

  • David F.

    work schedule change. sorry!

    April 29, 2013

  • Andrew L.

    got tickets to Disrupt NYC... thanks to my hack!
    techcrunch.com/2013/04/28/everslide-turns-evernote-notes-into-slideshows/

    April 28, 2013

  • E\/IE B.

    HEY anyone wanting to have fun with clojure check out
    http://www.chris-granger.com/2012/04/12/light-table---a-new-ide-concept/

    LIGHT-TABLE rocks The hardest thing about clojure is the config, and eclipse and that is especially true about clojureScript.

    April 7, 2013

    • Raymond de L.

      If you happen to be on Windows, the Clojure Box is by far the easiest way to get started. No config required. It will install and configure both Clojure and emacs for you and leave you at Clojure REPL prompt in an emacs buffer.

      April 7, 2013

    • Raymond de L.

      BTW: I just used the instructions at:

      http://www.waratuman....­

      to download, install, build and configure Coljure on a Mac OS X Snow Leopard and it was as easy as pie. They claim that these instructions should work on most *nixes.

      April 27, 2013

  • Scott M.

    Sorry have a work trip.

    April 25, 2013

  • Andrew L.

    lookin forward to it! Time to start hittin' the book! ;-)

    April 7, 2013

Our Sponsors

People in this
Meetup are also in:

Create a Meetup Group and meet new people

Get started Learn more
Henry

I decided to start Reno Motorcycle Riders Group because I wanted to be part of a group of people who enjoyed my passion... I was excited and nervous. Our group has grown by leaps and bounds. I never thought it would be this big.

Henry, started Reno Motorcycle Riders

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