Почему в F # есть унарный оператор плюса?

Некоторые языки используют унарный оператор плюса для неявных преобразований, таких как принуждение строки к числу (например, Javascript) или приведение типов малых чисел к int (например, большинство языков на основе C) или для использования при перегрузке операторов.

Поскольку унарный плюс в основном используется для подобных хакерских целей, а также поскольку F # не выполняет автоматических расширяющих преобразований, я был удивлен, что F # включает унарный плюс.

Что меня еще больше удивляет, так это то, что в Haskell нет унарного оператора плюса. Поскольку на дизайн F # повлиял Haskell, мне любопытно, почему было решено, что F # нуждался в унарном плюсе, тогда как Haskell, очевидно, не имел.

Не могли бы вы привести пример надежного использования унарного плюса в F #? Если нет, то почему он вообще включен в язык?

12
задан Peter Olson 3 November 2011 в 18:38
поделиться