Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    Condition Systems in an Exceptional Language - Chris Houser

    ClojureTV

    1 HN recommender · recommended in 5 months, 2016–2022

    YouTube

    33:32 · 16K views · Nov 17, 2015

    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.

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

    Software Engineering & LanguagesFunctional programmingProgramming language design
    1. 1:14:52
      Effective Programs - 10 Years of Clojure - Rich HickeyClojureTV176K views • 9 years ago
    2. 1:12:10
      Practical Common LispGoogle TechTalks98K views • 19 years ago
    3. 1:03:29
      Maybe Not - Rich HickeyClojureTV181K views • 7 years ago
    4. 1:28:59
      Clojure for Lisp Programmers Part 1 - Rich HickeyClojureTV25K views • 13 years ago
    5. 1:02:50
      The Language of the System - Rich HickeyClojureTV174K views • 13 years ago
    6. 1:07:22
      Invited Talk - Guy SteeleClojureTV39K views • 9 years ago
    7. 53:56
      Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojurejasonofthel33t119K views • 13 years ago
    8. 1:03:31
      Brian Goetz - Stewardship: the Sobering PartsClojureTV39K views • 11 years ago
    9. 1:01:39
      "Simple Made Easy" - Rich Hickey (2011)ClojureTV434K views • 5 years ago
    10. 1:12:56
      Lecture 1A: Overview and Introduction to LispMIT OpenCourseWare421K views • 7 years ago
    11. 1:02:26
      Solving Problems the Clojure Way - Rafal DittwaldClojure/north87K views • 7 years ago
    12. 1:48:13
      Clojure for Java Programmers Part 1 - Rich HickeyClojureTV131K views • 13 years ago
    13. 1:07:10
      Brian Beckman: Don't fear the Monadjasonofthel33t415K views • 13 years ago
    14. 40:00
      "Agility & Robustness: Clojure spec" by Stuart HallowayStrange Loop Conference25K views • 10 years ago
    15. 1:58:46
      Dynamic Languages Wizards Series - Panel on Language DesignEduardo Cavazos16K views • 14 years ago
    16. 1:12:56
      Lecture 1A | MIT 6.001 Structure and Interpretation, 1986MIT OpenCourseWare995K views • 17 years ago
    17. 1:00:58
      The Next Five Years of ClojureScript - David NolenMetosin19K views • 10 years ago
    18. 43:04
      "Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)Strange Loop Conference468K views • 4 years ago
    19. 1:04:45
      Stanford Seminar - Concatenative Programming: From Ivory to MetalStanford Online14K views • 8 years ago
    20. 2:32:39
      Clojure Concurrency - Rich HickeyClojureTV73K views • 13 years ago

    5 comments from Hacker News

    1. @puredangerFeb 2017· in “State of Clojure 2016 – Results and Analysis”

      There are some libraries for this. A great overview of the problem and some of the libs is this video and a good set of corresponding notes at [LINK]

      RecommendsView on HN
    2. @nialoDec 2016· in “Why Clojure? (2010)”

      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.

      CitesView on HN
    3. @agumonkeyJun 2016· in “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

      CitesView on HN
    4. @the-alchemistSep 2022· in “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.

      CitesView on HN
    5. @phyrexDec 2018· in “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.

      CitesView on HN