a
、b
、 の3 つの Haskell 関数を作成したいと思いますc
。
各関数には 1 つの引数があります。引数は、3 つの関数の 1 つです。
a
関数にこの動作をさせたい:
- 引数が function の場合、 function
a
を返しますa
。 - 引数が関数 b の場合は、 function を返します
b
。 - 引数が関数 c の場合、関数を返します
a
。
関数に必要な動作の要約を次に示しますa
。
a a = a
a b = c
a c = a
そして、他の2つの機能に私が望む動作は次のとおりです。
b a = a
b b = a
b c = c
c a = c
c b = b
c c = c
作成したら、さまざまな方法で関数を構成できるようにしたいと思います。たとえば、次のようになります。
a (c b)
= a (b)
= c
これらの関数を作成するにはどうすればよいですか?