Clojure を使用すると、次のようになります。
(defprotocol Greeter (hello [args] "Say hello"))
(extend-protocol Greeter
String
(hello [this] (str "Hello " this)))
(hello "world") ; "Hello world"
ここまでは順調ですね。次に、次を追加します。
(defn hello [args] (str "Wassup " args "?"))
前のフォームの出力を次のように変更します。
(hello "world") ; "Wassup world?"
機能よりもプロトコルを優先させる方法はありますか?