2008-09-02 10 views
14

Est-ce que quelqu'un a eu une chance de creuser dans comment F# Units of Measure travail? S'agit-il simplement de chicaneries basées sur des types, ou y a-t-il des types de CLR qui se cachent sous qui pourraient (potentiellement) être utilisés à partir d'autres langages .net? Cela fonctionnera-t-il pour n'importe quelle unité numérique, ou est-il limité aux valeurs en virgule flottante (qu'est-ce que tous les exemples utilisent)?Comment fonctionnent les unités de mesure F #?

+0

Jetez un oeil à la calculatrice Frink et au langage de programmation Frink. –

Répondre

11

Selon un response sur le prochain article de blog lié, ils sont un mécanisme purement statique dans le compilateur F #. Il n'y a donc pas de représentation CLR des données des unités.

Il n'est pas tout à fait clair si cela fonctionne actuellement avec des types non flottants, mais du point de vue du système de type, cela est théoriquement possible.

+1

Voir le dernier article de blog par Andrew Kennedy (dans la réponse ci-dessous), UOM sont disponibles pour tout type numérique, ainsi que des types composites. – Benjol

15

Le meilleur endroit (et je pense que c'est officiel) pour le savoir est sur le blog d'Andrew Kennedy.

Voici les publications pertinentes (en cours).

Comme je l'ai dit dans le poste que votre answerer mentionné, cela est certainement quelque chose que vous ne pouvez pas faire en C# (bien que je souhaite que vous pourriez).

Questions connexes