O'Reilly logo
  • Leandro Gonçalves de Oliveira thinks this is interesting:

2. Create a WereSimmons record type, and then extend the WereCreature protocol.

From

Cover of Clojure for the Brave and True

Note

(defprotocol WereCreature (full-moon-behavior [x]))

(defrecord WereSimmons [name] WereCreature (full-moon-behavior [self] (str "I'm the " name ", a kind of Simmons.")))

(full-moon-behavior (->WereSimmons "Dabura"))