Accidentally Concurrent - Evan Czaplicki

Slides and more info: http://www.codemesh.io/codemesh2015/e... Everyone knows that writing concurrent systems is difficult. The trouble is that nearly all programs are accidentally concurrent! Sure, you do not use locks or semaphores. But are you are using the event loop in JavaScript? Are you mutating any local state? Do you use objects? Do you have dynamic event streams? This talk will reframe these extraordinarily common patterns as concurrent systems. This reframing is a shockingly powerful way of understand "accidental complexity" in your code base. It often reveals a truly insane concurrent system that no benevolent coder would knowingly design. This talk will start by exploring "message-passing concurrency" as a foundation. This is very sane approach to concurrency as seen in Concurrent ML, Go, and Clojure. With this foundation, we will go through some seemingly simple examples and tease out the underlying concurrent system. The goal of this talk is for you to walk away being able to recognize concurrency and use this reframing to avoid "accidental complexity" as much as possible. Message-passing concurrency is also the foundation of interactivity in Elm as well, so we will also see how Elm guides you towards using concurrency appropriately in your front-end code without you even thinking about it. These ideas should be applicable in nearly every code base you see, and this perspective should help you write better code whether you are writing JavaScript or Elm or anything else! About Evan Evan is a functional programmer at heart, and his broad goal is to provide the tools and learning resources to make functional languages common in industry. At Prezi, his focus is developing Elm’s compiler, tools, and community to make it a great for web programming, both within Prezi and in industry in general.

"Make the Back-End Team Jealous: Elm in Production" by Richard Feldman
▶︎

"Make the Back-End Team Jealous: Elm in Production" by Richard Feldman

"The Hard Parts of Open Source" by Evan Czaplicki
▶︎

"The Hard Parts of Open Source" by Evan Czaplicki

"Make Data Structures" by Richard Feldman
▶︎

"Make Data Structures" by Richard Feldman

Michael Sperber - Concurrent ML  - The One That Got Away - Code Mesh 2017
▶︎

Michael Sperber - Concurrent ML - The One That Got Away - Code Mesh 2017

Zig 2026: No-AI Policy, $670K Foundation, Left GitHub & Why Zig Isn’t 1.0 - Andrew Kelley Explains
▶︎

Zig 2026: No-AI Policy, $670K Foundation, Left GitHub & Why Zig Isn’t 1.0 - Andrew Kelley Explains

"Controlling Time and Space: understanding the many formulations of FRP" by Evan Czaplicki
▶︎

"Controlling Time and Space: understanding the many formulations of FRP" by Evan Czaplicki

"Teaching Elm to Beginners" by Richard Feldman
▶︎

"Teaching Elm to Beginners" by Richard Feldman

Effects as Data | Richard Feldman | Reactive 2015
▶︎

Effects as Data | Richard Feldman | Reactive 2015

Turing Award Winner: Disagreeing with Google, Postgres, Future Problems | Mike Stonebraker
▶︎

Turing Award Winner: Disagreeing with Google, Postgres, Future Problems | Mike Stonebraker

“What is Success?” by Evan Czaplicki
▶︎

“What is Success?” by Evan Czaplicki

Elm in production by Richard Feldman
▶︎

Elm in production by Richard Feldman

Evan Czaplicki - Let's be mainstream! User focused design in Elm - Curry On
▶︎

Evan Czaplicki - Let's be mainstream! User focused design in Elm - Curry On

Co-Creator of Haskell: Functional Programming, Thinking in Types, Useless Languages | Simon Jones
▶︎

Co-Creator of Haskell: Functional Programming, Thinking in Types, Useless Languages | Simon Jones

Introducing Elm to a JavaScript App • Richard Feldman • GOTO 2017
▶︎

Introducing Elm to a JavaScript App • Richard Feldman • GOTO 2017

Elm Europe 2017 - Evan Czaplicki - The life of a file
▶︎

Elm Europe 2017 - Evan Czaplicki - The life of a file

Andrej Karpathy: From Vibe Coding to Agentic Engineering w/ Stephanie Zhan
▶︎

Andrej Karpathy: From Vibe Coding to Agentic Engineering w/ Stephanie Zhan

Keynote: After the AI Hype – What’s Real, and What’s Next - Richard Campbell - 2026
▶︎

Keynote: After the AI Hype – What’s Real, and What’s Next - Richard Campbell - 2026

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup
▶︎

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup

"Functional Reactive Programming in Elm" by Evan Czaplicki (2013)
▶︎

"Functional Reactive Programming in Elm" by Evan Czaplicki (2013)

Software engineering at the tipping point
▶︎

Software engineering at the tipping point