Functional Geekery Episode 132 – Duncan McGreggor

In this episode I talk with Duncan McGreggor. We talk his introduction to functional programming; Erlang; Lisp Flavoured Erlang; Lisps, Lisps, and more Lisps; and much, much, more.

Our Guest, Duncan McGreggor

@oubiwann on Twitter

Conference Announcements

Code Mesh is going virtual! Taking place November 5th and 6th, will run virtually across US and European time zones. Find out more and register at

Lambda Days 2021 will be a virtual event spread over several days in February 2021. Visit to keep up to date as more information is announced.

If you have a conference related to functional programming, contact me, and I will be happy to announce it.


Some of you have asked how you can support Functional Geekery, in that vein, Functional Geekery now has a Patreon Page.

If that is one of the ways you would like to show your support, you can find out more at

Topics [@2:03]

Welcome Duncan
About Duncan
CPM Kaypro II
Rewriting BASIC games
Duncan’s first exposure to functional programming
Conflation of State and Behavior in Object Oriented Programming
Deeply nested for loops
Common LISP
Distributed Computing
Twisted Python
YAWS exposé on Slashdot
Lisp Flavoured Erlang
Robert Virding
Learning Erlang through LFE
Getting started in LFE
“Common LISP had a much worse story than Erlang ever did”
Common LISP HyperSpec
“Treating Erlang like LISP’s original M-Expressions
What are Core
Chez Scheme
LFE Joys – Small, lightweight chunks of functionality that are distributed across arbitrary computing resources.
Not super picky about tech in the job anymore
Enjoy the projects after work to aspire to craftsmanship level
Going Away Card software project for CTO
How functional programming folds in to Duncan’s mentoring junior co-workers
Having the clarity of thought that comes with functional programming
“At some level we are all working with distributed systems”
Teaching basics of Erlang: supervision trees, restart strategies, monitoring/linking processes
Reid Draper of Functional Geekery
“Last Write Wins conflict strategy”
Enterprise Integration Patterns
Designing for Scalability with Erlang/OTP
How does LISP come in when mentoring team-mates
“I love parenthesis” and the order of operations
Low utilization of Macros
Write them all the time when learning though
ITA Software using LISP
Reader Macros
Casting SPELs in LFE
Casting SPELs in LISP
Language Laboratory level
LFE Machine Manual
Treasures lost in time from looking at other LISP Machine Manuals
The People working to preserve the history
Kent Pittman
CADR machine
MIT, Stanford, and Berkeley
Zeta Lisp
Xerox PARC
Integrating LFE and Clojure
Some other projects on Duncan’s radar
Porting The Sound of Erlang to LFE
Clojure Overtone
“LFE Chineual”
Having a bare metal install of LFE on a Raspberry Pi
Looking at different boards to run the BEAM on
X11 and XORG
Actively testing LFE 2.0
LFE on Slack
“Follow your bliss”

As always, a giant Thank You goes to David Belcher for the logo design.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.