How does Clojure 'defprotocol' work?

Clojure defprotocol yields a object, interface and functions, the object is a map representing a specification of the protocol, the interface can use to define the type, the functions is the dispatching function like as Multimethods using the class function. (In the protocol, A default dispatch value is the ‘Object’.)

Read More

Emacs: Improved clojure-mode highlighting.

Clojure programmer want to improve readability of codes through vertical alignment.1 It’s a good idea, but sometimes it looks ugly. I wanted to highlight local variables in the binding form like let to improve readability.

Read More