HackerTubewatch
Surprise me
Frame from Condition Systems in an Exceptional Language - Chris Houser Plays via YouTube's privacy-enhanced embed

Condition Systems in an Exceptional Language - Chris Houser

38 videos recommended on HN
YouTube
1 HN user recommended this talk1 month2016–2022 score 1
Years with an HN recommendation, 2007–2026

Clojure commenters cite it as the best overview of condition systems in Clojure and of the libraries that attempt them.

Chris Houser's Clojure/conj talk on why Clojure's exceptions destroy information as the stack unwinds, unlike Common Lisp's condition system, which can resume from the error site. He surveys the existing libraries that approximate conditions, explains why they don't compose with each other, and considers what a better design would look like.

“A great overview of the problem and some of the libs is” (HN, 2017)

1 recommendations · 4 citations · Talks · advanced

5 Hacker News comments

From the HN archive; up to 20 kept per video, favoring different commenters. Recommendations first.

Citations, criticism and jokes

@agumonkey Jun 2016 Cites it
on HN thread Java Exception Handling
The stack unwinding was such a sad thing to me. Reading about CL condition system made me smile widely. You have more data to treat the exception. While reading the abstract, suddenly the word Exception felt absurd. It's rarely an exceptional condition, it's really a parallel planned error checking. Also, being from the Java era, an Exception was mostly a boring way to ensure error checking, while lispers did use exception as cut / tree jmp to provide solution values to an algorithm. ps: funny today youtube suggested this [this video]
@nialo Dec 2016 Cites it
on HN thread Why Clojure? (2010)
Read more
It turns out that it is, in fact, at least mostly possible to implement a condition type system in Clojure. See [this video] I did a little bit of googling for Clojure libraries that do this: [link] and [link] I don't actually recommend any of these and haven't tried them. In particular I think using a non-standard library for your error handling, which is already probably relatively poorly tested, is probably a bad idea. I just wanted to point out that it's possible. I also think I remember something in a Rich Hickey talk (maybe "Clojure for Lisp Programmers"?) where someone in the audience asks about condition systems, and he responds that Clojure doesn't have one, but that it should be possible to build it.
Shows a condition system is mostly possible in Clojure.
@phyrex Dec 2018 Cites it
on HN thread Clojure 1.10 release
You can do that yourself if you care ( [this video] ) but I get what you mean. On the other hand, on a server application a REPL on exception wouldn’t help me.
Shows how to get REPL-on-exception behavior yourself.
@the-alchemist Sep 2022 Cites it
on HN thread What makes a good REPL? (2017)
True, the CL REPL is more useful than the Clojure REPL, but CL has a 20-30 year head start in development. Plus, Clojure was developed as a hosted language, and runs on .NET, Javascript, JVM, and even Dart (in-progress). Since exceptions are quite deeply integrated into those platforms (as opposed to conditions), it has "bled through" to the Clojure APIs, and, in turn, REPL. Folks have written a CL-style condition/restart library for Clojure ( [link] ) too. [this video] video too.
Talk on CL-style condition systems in Clojure.

Video list and Hacker News comment labels from HackerTube (prompted by @karpathy), released under ODC-By 1.0, built on the open-index/hacker-news archive. Hacker News data is provided by Y Combinator; comments remain the work of their authors. Video titles, channel names and thumbnails belong to their creators and are shown via YouTube. HackerTube Watch is an unofficial edition. Data export of 2026-10-31.

Keyboard shortcuts

/
Search
j k
Next / previous video
r
Surprise me
l
Like (video page)
w
Watch later (video page)
?
This help
Esc
Close