2017-07-01 2 views
4

J'ai récemment commencé à apprendre l'orme. Quand j'ai vu le type Int, j'ai supposé que c'était quelque chose comme Int de Haskell, qui est (je pense) un entier machine.Pourquoi `NaN` est-il une valeur possible pour le type` Int` dans Elm?

Mais je fus surpris de voir ceci:

> Result.withDefault 0 <| String.toInt "-" 
NaN : Int 

NaN est un concept à virgule flottante qui semble comme il ne devrait pas appliquer aux entiers. Il semble que cela pourrait être une fuite de JS, ce qui impliquerait que Int est représenté comme JS Number.

Est-ce le cas? Pourquoi cette décision de conception a-t-elle été prise et où puis-je aller pour en apprendre davantage?

(En outre, deux questions mineures:

)

Répondre