2010-08-06 5 views

Répondre

6

L'arrière-plan du problème est que JSON mélange les types virgule flottante et nombre entier - ils ne sont pas distingués par une balise de type au format JSON. Nous représentons donc tous les types numériques dans JSON via Rationals, sous le capot.

instances pour convertir dans le type JSON sont fournis pour Double, Int etc, mais pas pour rationnelle - mais il est en fait pas une bonne raison pour cela, que l'instance est trivial:

instance JSON Rational where 
    showJSON r = JSRational True r 
    readJSON (JSRational _ r) = return r 
Questions connexes