to each member of one set X one, and only one, element of another set Y is called a function. <拙訳 > ある集合 の要素 に別の集合 の要素 を 一つだけ 割り当てる手順または 規則を、関数という。 Encyclopedia Of Mathematics by James Stuart Tanton つまり、数学における関数は「引数を受け取り、 一つだけ 値を返す」 。 例えば と定義する。このとき、 の値は ただ一つ に決まる。 5
型の値を受け取り、必ず Int 型の値を一つ返す。 // pure function fun increment(x: Int): Int { return x + 1 } 非純粋関数は、入力値次第ではシグネチャ通りの結果を返さない可能性がある。 getFirstCharacter や div は、どのような入力に対して「嘘をつく」だろうか? // impure function fun getFirstCharacter(s: String): Char { return s.get(0) } // impure function fun div(a: Int, b: Int): Int { return a / b } 8