QWERTYProgrammer писал(а):
Alexey Veselovsky писал(а):
Да, речь идет о тех самых размерностях что используются столь широко в физике, ...
В OCaml'e этого нет. Более того, я подобного не видел ни в одном другом ЯП.
А
Boost.Units library?
Я ж сказал в ЯП а не в библиотеке
Boost.Units lib смотрится переусложненный уродцем по сравнению с тем что F#. Если в F# я могу это начать применять через пять минут просле начала чтения главы спецификации спеки языка и экспериментов в repl, несмотря на то, что F# для меня не является "родным" языком, то с boost units lib мне, по всей видимости, придется потратить как минимум полчаса или час на то, чтобы научиться конструировать свои размерности и задавать связи между ними, несмотря на то, что С++ для меня таки родной язык. По кр. мере сейчас за пять минут листания доки я не успел понять как же мне создать свои единицы измерения и сказать компилятору что C = B*A/F.
В F# работа с размерностями проста и естественна. Минимум траты времени на инструмент, максимум на собственно задачу.
А если говорить о реализации единиц измерения/размерностей в либах, то у меня ощущение что мне лично существенно проще было бы использовать это:
Dimensional -- Statically checked physical dimensions for Haskell.. Если что, то вот
тут и примеры есть.
PS. И это несмотря на то, что Haskell для меня пока также "иностранный" язык.
PPS. Если лень лезть в спеку по языку F#, можно ознакомиться с поддержкой единиц измерения например тут:
http://blogs.msdn.com/andrewkennedy/arc ... units.aspx