Можно ли проверить, имеет ли значение определенный тип в Poly ML?

В Poly ML, как бы вы написали функцию, которая возвращала бы "true", если x имел тип 'a, и false, если это не так?

1 ответ

Возможно, я неправильно понял ваш вопрос, но, похоже, вы упустили весь смысл статически типизированного языка.

Это означает, что вы не можете вызывать функцию с аргументами других типов, кроме тех, для которых она объявлена. Все остальное будет отклонено интерпретатором / компилятором.

Одна функция, которая будет делать то, что вы хотите:

> fun foo _ = true
val foo = fn : 'a -> bool
Другие вопросы по тегам