Hacker News new | ask | show | jobs
by aphyr 4882 days ago
Heh, I originally cargo-culted this line from somewhere in Netty's docs: https://github.com/aphyr/riemann/blob/732a6e8986f75c638c30b5...

After finally digging into how execution handlers worked, the puzzle started to unravel. Netty's docs are pretty good, but you have to understand what all the names mean before you can understand, well, any one part of the system. Bit tough to piece together, at least for my little brain. ;-)

1 comments

All I'm trying to say is that switching to the prefix notation adding parenthesis does not make Java a Lisp. ;-)

I'm also not sure that JVM itself is a good idea, especially for serving content, but I do respect people who are trying nevertheless.)

Some of Riemann's code is very much like Java, especially where I interoperate with Java libraries. Other parts of the code are... definitely not Java:

  (defn where-partition-clauses
    "Given expressions like (a (else b) c (else d)), returns [[a c] [b d]]"
    [exprs]
    (map vec
         ((juxt remove
                (comp (partial mapcat rest) filter))
            (fn [expr]
              (when (list? expr)
                (= 'else (first expr))))
            exprs)))
I wouldn't categorize Clojure as a "pure lisp"--it relies heavily on the JVM type system, for starters--but idiomatic Clojure feels closer to Lisp than Java, to me.