Jak napisać protokół monoid w Clojure?
Poniższe informacje nie działają z oczywistych powodów.
(defprotocol Monoid
(mappend [a b])
(mzero []))
mzero
ma zero argumentów, a metody zerowego argumentu nie są dozwolone (lub nie mają sensu) w protokołach. W Haskell lub Scala, gdzie wysyłka jest oparta na typie, a nie na wartości, nie stanowi to problemu.
Jaki byłby właściwy sposób konceptualizacji i pisaniaMonoid
protokół w Clojure?