1
に終わったタイプを開く:エルム - 擬似契約を考えると契約
condy: Int -> Int -> a -> b
condy n m a b =
if n == m then a else b
がどのように1は、aとbの型が同じであるが、任意のタイプにすることができ、正しくなるように上記の契約を定義することができますか?効果的に上記の各タイプのための余分な機能condyEffect[Type]
の必要性を削除します。
condyPrime: Int -> Int -> Bool
condy n m =
n == m
condyEffectInt: Bool -> Int
condyEffectInt bool k l =
if bool then k else l