ALTERNATE UNIVERSE DEV

Functional Geekery

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 https://codemesh.io.

Lambda Days 2021 will be a virtual event spread over several days in February 2021. Visit https://www.lambdadays.org/lambdadays2021 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.

Announcements

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 https://www.patreon.com/fngeekery.

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
Python
LISP
Common LISP
Distributed Computing
Twisted Python
Erlang
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
Ruby
Rust
“Treating Erlang like LISP’s original M-Expressions
What are Core
SBCL
Chez Scheme
Clojure
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
Go
How functional programming folds in to Duncan’s mentoring junior co-workers
Haskell
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
ltest
ITA Software using LISP
Reader Macros
Muddle
Casting SPELs in LFE
Casting SPELs in LISP
Language Laboratory level
Racket
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
MACLISP
ARPA
MIT, Stanford, and Berkeley
Maxima
Zeta Lisp
Xerox PARC
Integrating LFE and Clojure
clojang
jiface
Some other projects on Duncan’s radar
Porting The Sound of Erlang to LFE
Clojure Overtone
SuperCollider
“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
tv
Actively testing LFE 2.0
lfe.io
LFE on Slack
“Follow your bliss”

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

Episode source