我只是想知道是否有可能匹配的函數式編程語言(哈斯克爾/ F#/ CAML)設施的類型對陣多次相同的值。模式匹配相同的值
試想以下示例的:當所述功能與兩個相似的值(其將被存儲在a
)調用
plus a a = 2 * a
plus a b = a + b
的第一變型將被調用。
一個更有用的應用將是本(簡化的AST)。
simplify (Add a a) = Mult 2 a
但哈斯克爾拒絕這些代碼,並警告我的衝突的定義爲a
- 我必須做明確的情況下/ IF-檢查,而不是找出功能是否得到了相同的值。是否有任何技巧表明我想要匹配的變量會多次出現?
FWIW,Mathematica支持這一點。 – 2010-08-04 06:50:42