haskell でプログラミングする場合、この:type
コマンドは非常に役立ちます。関数のアリティとシグネチャを知ることで、ある構造の目的をすぐに理解できます。例えば:
Prelude Control.Monad.Reader> :type (lift .)
(lift .) :: (Monad m, MonadTrans t) => (a -> m a1) -> a -> t m a1
関数のアリティを知るための clojure に相当するものはありますか (型は clojure では関係ありません)。
たとえば、(-) と (*) が可変アリティを持っていることに気付くまで、一見すると次の構成を理解するのは簡単ではありませんでした。
(comp - *)