spec

listsモジュールのlists.erlを読んだら、haskellの型シグネチャのようなものが書かれていた。
たとえばこんな感じ。

 -spec(partition/2 :: (Pred :: fun((T) -> bool()), List :: [T]) -> {[T],[T]}).

partition(Pred, L) ->
    partition(Pred, L, [], []).

自分で試してみたら、これを書くことによって特にコンパイル時や実行時のチェックがおこなわれることはないように見えた。
ドキュメント用かな。