Skip to content
0:00 / 0:00

#clockwork#swift#repl

Clockwork Clojure: A Protocol-Powered Runtime for Composable Evaluation - Ferri

ClojureTV

111K subscribers • 136 videos on Hallway

YouTube
  • Recommended by 2 people: 2 in engineering communities.
  • Presented by Paolo Ferri

Advanced. Deep dive for people who know the field.

1.5K views9 months ago2 recommendations

Programming languagesSystems programmingLisp and ClojureSwiftCompilers and interpreters

Paolo Ferri demonstrates Clockwork, a protocol-driven Clojure runtime hosted in Swift that enables a live REPL on iOS.

What if Clojure’s core semantics were modular, pluggable, and inspectable? Clockwork is a protocol-driven Clojure runtime hosted in Swift, rebuilt from first principles with no shortcuts. By abstracting effects and treating evaluation as data, we gained a live REPL on iOS plus a fully flexible evaluation substrate. Namespaces become dynamic, versioned mappings; macros evolve into remote, queryable services; interpreters, compilers, and pretty-printers swap on the fly. In this talk, you’ll see Clockwork demos that include: Live REPL-driven UI iteration on mobile Remote namespace hydration from Redis and Git Macro server with expansion tracing and visualization Hot-swapping evaluation strategies without breaking code Attendees will discover patterns for designing their own pluggable runtimes and DSLs, and witness how composable evaluation unlocks new horizons for Clojure tooling—on any platform. But this talk goes beyond demos: we’ll explore how protocol-based design empowers developers to rethink evaluation itself—turning it into a modular, inspectable, and swappable foundation. Whether you’re building a DSL, crafting runtime tooling, or transplanting Clojure’s interactive power into new environments, composable evaluation offers a transformative approach. Biography Paolo Ferri is a runtime designer, language hacker, and unapologetic lover of clean semantics. He’s spent the last year crafting a protocol-powered Clojure runtime that reshapes evaluation into a pluggable, composable architecture—with no shortcuts, no magic, just gears and grace. The result? Clockwork: a native Clojure runtime that interprets, hydrates, compiles, and hot-swaps its semantics seamlessly across platforms. Built in Swift from first principles, Clockwork runs a live REPL on iOS and supports macro servers, dynamic namespace hydration, and hot-swappable interpreters—all from pure Clojure code. Paolo’s philosophy? Architecture should move like a sonnet and hum like a well-oiled machine—precision earned in the quiet cafes and winding alleys of northern Italy, where beauty is non-negotiable and precision expected. He’s here to share Clockwork not as a personal achievement, but as an invitation—to rethink what a runtime can be when clarity wins, evaluation and effects are composable, and the REPL lives anywhere imagination can reach. Recorded Nov 13, 2025 at Clojure/Conj 2025 in Charlotte, NC.

Why it's here

2 people recommend this

u/alexdmillerin r/Clojure • Recommends

Clockwork Clojure: A Protocol-Powered Runtime for Composable Evaluation - Paolo Ferri (Clojure/Conj 2025) What if Clojure’s core semantics were modular, pluggable, and inspectable? Clockwork is a protocol-driven Clojure runtime hosted in Swift, rebuilt from first principles with no shortcuts. By abstracting effects and treating evaluation as data, we gained a live REPL on iOS plus a fully flexible evaluation substrate. Namespaces become dynamic, versioned mappings; macros evolve into remote, queryable services; interpreters, compilers, and pretty-printers swap on the fly. In this talk, you’ll see Clockwork demos that include: Live REPL-driven UI iteration on mobile Remote namespace h…

u/Safe_Owl_6123in r/swift • Recommends

Running Clojure inside SwiftUI Clojure might not be a popular language, but it is a Lisp dialect that usually runs on the JVM, not Swift; some folk decided to write a mini compiler in Swift so it can run inside on iOS. Here is a talk from Clojure/Conj 2025 showing how he does that. It is cool to see Swift as a host language that works with JVM too!