たとえば、モジュールFooのなかで、Barとの相互変換の関数を書くとしたら名前は
fromBar :: Bar -> Foo
toBar :: Foo -> Bar
みたいになる。
で、モジュールFoo.Barのなかでそれらの相互変換の関数を書くとしたら、もし明らかにBarのほうがより平坦であれば、
encode :: Foo -> Bar
decode :: Bar -> Maybe Foo
みたいにするかな。どっちも平坦さの度合いが変わらなかったら、
fToB :: Foo -> Bar
bToF :: Bar -> Foo
みたいな感じかな。
fromBar :: Bar -> Foo
toBar :: Foo -> Bar
みたいになる。
で、モジュールFoo.Barのなかでそれらの相互変換の関数を書くとしたら、もし明らかにBarのほうがより平坦であれば、
encode :: Foo -> Bar
decode :: Bar -> Maybe Foo
みたいにするかな。どっちも平坦さの度合いが変わらなかったら、
fToB :: Foo -> Bar
bToF :: Bar -> Foo
みたいな感じかな。