4

関数の特定の例について混乱していconstます。したがって、型宣言const :: a -> b->aは、関数が type の 2 つのパラメーターを受け入れ、 typeab返すことを示していますa。例えば:

const 5 3 => 5
const 1 2 => 1

これは、宣言に基づいて理にかなっています。ただし、次の特定の例に遭遇しました。

const (1+) 5 3 => 4

これは、関数宣言の理解に疑問を投げかけます。私が試したので、この関数は2つのパラメータしかとらないことを知っています:

const 1 5 3 

これで、パラメーターが 2 つしかないことがわかりました。では、これはどのように機能するのでしょうか。(1+)パラメータではありませんか?そうでない場合、それは何ですか?

const (1+) 5 3 => 4
4

1 に答える 1