Wie schreibt man ein Monoid-Protokoll in Clojure?
Das Folgende funktioniert aus offensichtlichen Gründen nicht.
(defprotocol Monoid
(mappend [a b])
(mzero []))
mzero
hat Nullargumente und Nullargumentmethoden sind in Protokollen nicht zulässig (oder nicht sinnvoll). In Haskell oder Scala, wo der Versand eher typbasiert als wertbasiert ist, ist dies kein Problem.
Was wäre der richtige Weg, um zu konzipieren und zu schreibenMonoid
Protokoll in Clojure?