2017-02-01 11 views
2

私は書くことができるようにのは、パターンFoo|Barのエイリアスを作成する方法はあります私はSMLでは、パターンのエイリアスを定義できますか?

datatype mytype = Foo | Bar | Baz 

を、以下のデータ型を持っているし、次の

fun myfun ((Foo|Bar), (Foo|Bar)) = something 
| myfun (Baz, _) = somethingelse 
| ... 

のような関数を書きたいとしましょう一度それを繰り返し、自分自身を繰り返すことを避ける?

+0

非常に軽量のプリプロセッサを設計することができます。このプリプロセッサを使用すると、簡単な略語を使用してコンパイル前の値に置き換えることができます。 –

答えて

2

答えは「いいえ」ですが、残念です。 「抽象的なパターン」や「ビュー」の概念は何度も提案されていますが、難しい空間であり、これまでにOcamlやHaskellのような他の言語にも当てはまる提案はありませんでした。

関連する問題