Скажем, у меня есть следующий тип данныхВ SML можно определить псевдоним для шаблона?
datatype mytype = Foo | Bar | Baz
и хотите написать функцию вроде следующего
fun myfun ((Foo|Bar), (Foo|Bar)) = something
| myfun (Baz, _) = somethingelse
| ...
Есть ли способ создать псевдоним для шаблона Foo|Bar
, так что я могу написать это один раз и избежать повторения себя?
Вы можете создать очень легкий препроцессор, который позволяет использовать простые сокращения, которые заменяются их значениями до компиляции. –