or learn more

Fogus’s Tenth Rule

May 1, 2013

with all apologies to Philip Greenspun

Any sufficiently complicated Clojure program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of OPS5.


3 Comments, Comment or Ping

  1. Ivan Pierre

    You mean the Common LISP version or you are so old as me ? :D

  2. Tangerine

    I think it’d be amazing if you elaborated on this. Things like Clojure’s core.logic are sometimes hyped up, but I often have difficulty seeing the applicability of logic programming to programs. How would it be useful to a web server, or a Conway’s Game of Life app, or something like Chris Granger’s Light Table?

    But to apply Greenspun’s Tenth Rule to Clojure and OPS5 makes me wonder if I’m truly missing something universal. I wish someone could explain it.

    Then again, maybe it’s—just as some people say that the relational algebra/calculus ought to replace almost all general-purpose data structures (e.g. in Out of the Tar Pit), since it’s universally applicable (assuming it’s abstracted from the actual implementation)…

    …maybe rule-based logic programming would be able to replace Clojure’s essentially imperative functions passing around tree-like, hierarchal data structures (vectors, maps, etc.)

    Or, heh, maybe you mean something completely different.

  3. @Tangerine well, if my Clojure conj proposal gets accepted then I’ll have a lot to say on the matter. :-)

Reply to “Fogus’s Tenth Rule”