全体的かつ参照的に透過的な関数の署名に私が課している要件があります。
def add[T](a: T)(b: T): T
//requirement is type T under e.g. addition must always bear antoher type T
// and is not allowed to throw runtime arithmetic exceptions or such.
この要件はInt
、String
、 、Nat
(自然数)などの多くの型で簡単に満たすことができます。NonZeroInt
ただし、2 つの非ゼロ整数の加算は実際にはゼロになる可能性があるなどの型によっても簡単に違反されます。
私の質問は、この状態の造語ですか? モノイドが頭に浮かびますが、ここでモノイドのすべてのルールを押し付けているわけではないことは明らかです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加