Functional programming is taking Kraków by storm. Scala, Erlang, Haskell, Elm, Elixir, Lisp and Clojure are scoring points with IT professionals, computer science students and technology geeks.<br>'>
Lambda Days 2025<br>Functional programming is taking Kraków by storm. Scala, Erlang, Haskell, Elm, Elixir, Lisp and Clojure are scoring points with IT professionals, computer science students and technology geeks.<br>'>
PROGRAMME
Speakers
Sponsorship
Venue
Contact
Other events
LAMBDA DAYS 2024
LAMBDA DAYS 2023
LAMBDA DAYS 2022
LAMBDA DAYS 2021
LAMBDA DAYS 2020
LAMBDA DAYS 2019
LAMBDA DAYS 2018
LAMBDA DAYS 2017
LAMBDA DAYS 2016
LAMBDA DAYS 2015
LAMBDA DAYS 2014
CODE SYNC
Dave Kimber
Writing Lisps for `fn` and profit
I've been working almost exclusively in Clojure since I left the world of Java 8 years ago. Since then I've been solving enterprise problems with functional programming in the dynamic and interactive environment afforded by Lisps. I couldn't be happier.
I've worked across many sectors, from banking, energy and transport to film, education and (most recently) organic vegetable farming! It's remarkable how much of the job is the same every time. There's always a legacy system to replace and no one is ever completely happy with how their system sends emails to customers.
In my spare time I like writing tiny Lisps, competing in game jams, and playing DnD with my partner and our friends.
Autology: Writing a self-rewriting Lisp
In Lisp, code is data. In a meta-circular Lisp, the interpreter is written in Lisp, so it too is just data. By granting a Lisp the ability to modify the data of its own interpreter we can create a language that has the ability to dynamically rewrite its own implementation at will, adding or removing language features or even transforming it entirely.
Working in Clojure we'll begin by covering the basics of Lisp interpretation and demonstrate how surprisingly simple a minimal Lisp interpreter can be. We'll then explore the ways that small changes to this interpreter can profoundly affect the language itself.
Finally we'll introduce Autology, a pure functional Lisp with the ability to modify its own interpreter, and the unique and powerful form of dynamic metaprogramming this unlocks.
From modifying argument evaluation to writing a custom debugger, to executing raw inlined C code, the possibilities are deep and far-reaching.
Video
←Back
Contact
Contact Us * Register