Wednesday 06 Nov 17:30

Functional programming with Bodil Stokke

AW Seminar

FOOD: Yes

LEVEL: Intermediate

We start with mingle at 17.30



We will serve something lighter to eat and drink after Bodil's presentation at 19.00.



Presentation starts at 18.00



Build Your Own Lisp for Great Justice



Implementing a toy Lisp interpreter is practically a rite of passage for the budding computer scientist. This hallowed tradition is described in detail in “Lisp in Small Pieces,” the seminal work on the making of Lisps, but everybody loves a tl;dr, so let’s do the 40 minute executive summary.



We’ll charge at high speed through the following topics, with Clojure code to follow along with as we go (because there’s no better language for implementing a Lisp than another Lisp):



* Parsing: turning text files into ASTs

* Fundamental Lisp datatypes

* McCarthy’s elementary functions

* Evaluating Lisp code

* Lambdas and lexical scope

* Your friend, the state monad

* Beyond Lisp: pattern matching and type systems



When we’re done, you’ll be ready to go forth and fill the world with Lisps of all shapes, colours and Greenspun violations for Great Justice. Also, it’ll be good fun.



Speaker

Bodil Stokke (@bodil) is a compulsive conference speaker in the fields of functional programming and internets technologies, and is a co-organiser of three annual developer conferences in her home town of Oslo, Norway, mostly because she’s still learning how to stop. She is a prolific contributor to the Free Software community, primarily as a Clojure developer, and has recently taken up designing new programming languages as a hobby. In her spare time, she works as a web developer for Comoyo, which is like Hulu for non-Americans.



Please note that we have an interesting presentation directly after this event with Douglas Crockford on JavaScript, read more and register here.



Event sponsors



Diversify



Nohau



Platinum Partners

Capish100px Axis100px Connectitude100px

Premium Partners

Mediaevolution100px Qlik100px Webstep logo 100x50 Verisure100 Playtechbgt100px Oneagency100px Neo4j 100px Edument100px Securelink100px Omegapoint100px Advenica horisontal 100x50 Tetrapak100x50 Knightec100

Partners

Handelsbanken100px Thirdbase100px U blox100px Yrkesorange100px Oddhill100px Tedkomp100px Stratiteq100pxbl Crosstech100px Purplescout100px Servicewell 100x50 24hr100px Lytics100px Softhouse100px Schneider100px Tieto100pxnew Hotnew100px Ifacts logo partner 100px Resursbank 100px Pinmeto100px Terranet100px Bimobject100px Essiq100px Falconio100px Aveva 100x50 Humanit100px Avensia100px Relax100px Cybercom 100x50 Hittahem small Additude100x50 Forefront 100x50 Raygun100px Livingit100 Lime color 100x50
Sign in