Haskellの3つの関数、すなわちa
、b
、およびc
を作成したいと思います。関数を返すHaskell関数を作成するにはどうすればよいですか?
各機能には1つの引数があります。引数は3つの関数のうちの1つです。引数は、関数a
を返す関数でa
ある場合
- :
私はこの振る舞いを持っている機能
a
をしたいと思います。 - 引数が関数bの場合は、関数
b
を返します。 - 引数が関数cの場合は、関数
a
を返します。ここで
は私が機能a
のために望む行動の要約です:
a a = a
a b = c
a c = a
そして、ここでは、私は他の二つの機能のために望む行動だ:一度作成した
b a = a
b b = a
b c = c
c a = c
c b = b
c c = c
、私は希望しますさまざまな方法で機能を構成できるようにするには、たとえば:
a (c b)
= a (b)
= c
これらの機能を作成するにはどうすればよいですか?
あなたはそれらを比較できるようにいくつかのデータで関数にタグを付けなければなりません。つまり、プレーンな関数を使うことはできません。いくつかの比較可能な値を持つデータ型にそれらを配置する必要があります。 –
あなたはこれまで何をしていますか?あなたは関数の署名を持っていますか? –
これを達成することで何をしようとしていますか? –