Можно ли проверить, имеет ли значение определенный тип в Poly ML?
В Poly ML, как бы вы написали функцию, которая возвращала бы "true", если x имел тип 'a, и false, если это не так?
1 ответ
Возможно, я неправильно понял ваш вопрос, но, похоже, вы упустили весь смысл статически типизированного языка.
Это означает, что вы не можете вызывать функцию с аргументами других типов, кроме тех, для которых она объявлена. Все остальное будет отклонено интерпретатором / компилятором.
Одна функция, которая будет делать то, что вы хотите:
> fun foo _ = true
val foo = fn : 'a -> bool