Condition Systems in an Exceptional Language
summary
Clojure lacks Common Lisp’s resumable condition system so exceptions immediately unwind and drop locals; libraries like slingshot, swell and older error-kits implement named restarts (examples: skip-log-entry, reparse-entry, use-value) but different libraries don’t compose. The alternative shown is to replace throws with dynamic functions and use Clojure’s binding to provide restarts at higher dynamic scope; worked examples parse logs and demonstrate skipping, substituting values, or reparsing without crashing, trading complexity in error plumbing for greater runtime flexibility.
AI-written summary · about
chapters (8)
- 0:00Introduction
- 3:06The range of options
- 6:15Who chooses the response
- 10:05Trycatch
- 18:10Object Creator
- 18:47Condition System Libraries
- 21:18Composition Problems
- 28:09Example








