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.
C ++ lo tiene, en forma de boost :: units .
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.
Nemerle tuvo un compilador verificado Unidades de medida en 2006.
http://nemerle.org/forum.old/viewtopic.php?t=265&view=previous&sid=00f48f33fafd3d49cc6a92350b77d554
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.
También hay una especificación de Java para unidades en http://jcp.org/en/jsr/detail?id=275 y ya puedes usarla desde aquí http://jscience.org/
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.