programming languages examples programming-languages f# functional-programming
http://rsdn.ru/File/27948/Oyster.Units.0.06.zip

programming languages - languages - ¿Las unidades de medida son exclusivas de F#?



programming languages history (11)

¡Nemerle tiene algo mucho mejor que F #!

Debería marcar este: http://rsdn.ru/forum/src/1823225.flat.aspx#1823225 .

Es realmente genial Y puede descargarlo aquí: http://rsdn.ru/File/27948/Oyster.Units.0.06.zip

Un ejemplo:

def m3 = 1 g; def m4 = Si.Mass(m1); WriteLine($"Mass in SI: $m4, in CGS: $m3"); def x1 = Si.Area(1 cm * 10 m); WriteLine($"Area of 1 cm * 10 m = $x1 m");

Estaba leyendo la serie de publicaciones de Andrew Kennedy sobre unidades de medida en F # y tiene mucho sentido en muchos casos. ¿Hay otros idiomas que tengan dicho sistema?

Editar: Para ser más claro, me refiero al sistema flexible de unidades de medida donde puedes definir tu propio arbitrariamente.



Creo que vi que Fortress apoya esto, veré si puedo encontrar un enlace.

No puedo encontrar un enlace específico, pero la especificación del idioma lo menciona en un par de lugares. La especificación de lenguaje 1.0 también dice que las dimensiones y unidades se eliminaron temporalmente de la especificación (junto con un montón de otras características) para coincidir con la implementación actual. Es un trabajo en progreso, así que creo que las cosas están cambiando.


Estoy bastante seguro de que Ada lo tiene.


Estoy seguro de que usted podrá hacer esto con la mayoría de los lenguajes dinámicos (javascript, python, ruby) al parchear cuidadosamente algunas de las clases base. Sin embargo, puede tener problemas al trabajar con mediciones imperiales.


F # es el primer idioma principal que admite esta función.



No estoy seguro de si esto realmente cuenta, pero el sistema RPL en mi calculadora HP-48 tiene características similares. Puedo escribir 40_gal 5_l + y obtener la respuesta correcta de 156.416 litros.



bien hice la biblioteca QuantitySystem especialmente para las unidades en C #, sin embargo, no es la verificación del tiempo de compilación

pero intenté hacerlo funcionar como yo quería

también es compatible con la expansión para que pueda definir sus unidades únicas

http://QuantitySystem.CodePlex.com

también puede diferenciar entre Torque y Trabajo :) [Esto fue importante para mí]

el enfoque de la biblioteca es de Dimensión a unidades, todas las que he visto hasta ahora se aproximan a las unidades.


¿TI-89 BASIC cuenta? Ingrese 54_kg * (_c^2) y le dará una respuesta en julios.

Aparte de eso, no puedo recordar ningún idioma que lo tenga incorporado, pero cualquier lenguaje con OO decente debería hacer que sea fácil de implementar. Lo que significa que otra persona probablemente ya lo hizo.

Google confirma. Por ejemplo, aquí hay uno en Python . __repr__ podría modificarse fácilmente para seleccionar también la unidad derivada más apropiada, etc.

CPAN tiene varios módulos para Perl: Física :: Unidad , Datos :: Dimensiones , Clase :: Medida , Matemáticas :: Unidades :: Valor físico , y un puñado de otros que convertirán, pero realmente no combinan valores con unidades.