addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgooglegroupshelp-with-circleimageimagesinstagramlinklocation-pinm-swarmSearchmailmessagesminusmoremuplabelShape 3 + Rectangle 1ShapeoutlookpersonJoin Group on CardStartprice-ribbonShapeShapeShapeShapeImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruserwarningyahoo

Functional Programming with Clojure

Functional programming has previously been seen as a niche, academic form of programming with little use in popular commercial software development. With greater system resources available on modern computers, and multi-core processors encouraging emphasis on multithreading, functional programming is back - and here to stay.

Paul Williams will initially demonstrate simple functional programming concepts like immutability using the Clojure REPL. He will walk through options on getting a Clojure environment working, but clojurerepl is an equally good environment in which to try the language with no setup. If you want to install Clojure, please ensure you have a modern JDK installed.

Once people have basic familiarity with the language and REPL, he'll present some of Clojure's time / noise saving features like destructing, and map / reduce.

Many OO / imperative programmings understand the benefits of FP, but don't see how an application can be written with immutable state - Paul will finish off with a quick demo of a simple system written in ClojureScript / Clojure with an immutable database - Datomic.

Join or login to comment.

  • Andy W.

    Very interesting. I last used Lisp at university and was expecting a port to JVM. Clojure is clearly far more than that. "Immutable variables" was really confusing me so thanks to @PaulB for suggesting we call them "values" instead.

    I forgot to ask again at the pub why code-as-data didn't appear to be immutable.

    October 30, 2015

    • Paul W.

      Exactly!

      November 2, 2015

    • Andy W.

      I've written a couple of blog posts on applying functional thinking to Agile https://andywootton.wo...­

      November 3, 2015

  • Andy W.

    I found this when I got home last night http://clojure.org/rationale. The link to 'identity and state' looks useful.

    I read something else last night that fitted in well with some of the pub conversation about choice of OS not mattering much any more. We live in a world of apps running on 'platforms'. QML was the alternative Ubuntu dev tech that I couldn't remember https://developer.ubuntu.com/en/apps/

    October 30, 2015

    • Andy W.

      ...essential

      November 1, 2015

    • Paul W.

      Exactly, fp language and style is sneaking into most other languages, platforms etc for simplicity and concurrency reasons.

      November 1, 2015

  • Andy W.

    More interesting Lispy stuff by Mr. Gnu http://www.gnu.org/gnu/rms-lisp.en.html

    October 31, 2015

  • Ruth M.

    Superb! Best bit was the hands-on experimentation in the REPL - but also really good to get a more in-depth look at the webapp using React, Diatomic, etc. Fascinating programming paradigm - definitely something I would love to learn more about in due course!

    October 30, 2015

  • Paul W.

    We've moved to K110 which is just past the normal room in a room full of spangly macs

    October 29, 2015

  • Andrew M.

    Sorry - I can't make it this week.

    October 28, 2015

  • Trevor A.

    I'm greatly looking forward to this. Having cut my teeth with Swift, I'm looking forward to another perspective to aid my understanding. Thank you for organising this.

    Any software recommendations if using one's own computer/laptop?

    October 11, 2015

    • Andy W.

      I'll just remind you that RMS lost the use of his arms for several years from a life-time of emacs coding.

      1 · October 22, 2015

    • Paul W.

      At least he didn't lose his mind to code verbosity which I'm currently suffering from ;-)

      1 · October 22, 2015

9 went

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