units
unitdc-rs
units | unitdc-rs | |
---|---|---|
1 | 2 | |
94 | 4 | |
- | - | |
5.3 | 6.2 | |
3 months ago | 9 months ago | |
Haskell | Rust | |
BSD 3-clause "New" or "Revised" License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
units
-
Frink is a programming language designed to make physical calculations simple
It seems to me that Haskell would be a great language for such a thing, ensuring correctness at compile time through the type system, e.g. using the units package https://hackage.haskell.org/package/units https://github.com/goldfirere/units/tree/master/units
It even has nice features like: "The laws of nature have dimensions, and they hold true regardless of the units used. For example, the gravitational force between two bodies is (gravitational constant) * (mass 1) * (mass 2) / (distance between body 1 and 2)^2, regardless of whether the distance is given in meters or feet or centimeters. In other words, every law of nature is unit-polymorphic."
"The units package supports unit-polymorphic programs ..."
unitdc-rs
-
Frink is a programming language designed to make physical calculations simple
I found this one, but I haven't tested it:
https://github.com/eternal-flame-AD/unitdc-rs
I ran across it because I wanted to know if dc, the old Unix rpn calculator, could do units.
-
UnitDC: an RPN calculator that linearly combines units automatically
Github Page
What are some alternatives?
smtlib2 - SMTLib2 interface implementation for Haskell
FsFrink - An effort to bring frinklang.org UoMs into F# ecosystem
polynomial - Haskell library for manipulating and evaluating polynomials
dimensioned - Compile-time dimensional analysis for various unit systems using Rust's type system.
uncertain - Manipulating numbers with inherent measurement/experimental uncertainty.
rink-rs - Unit conversion tool and library written in rust
monte-carlo - A Monte Carlo monad and transformer for Haskell.
dimensional - Dimensional library variant built on Data Kinds, Closed Type Families, TypeNats (GHC 7.8+).
matrix - A Haskell native implementation of matrices and their operations.
hgeometry - HGeometry is a library for computing with geometric objects in Haskell. It defines basic geometric types and primitives, and it implements some geometric data structures and algorithms. The main two focusses are: (1) Strong type safety, and (2) implementations of geometric algorithms and data structures that have good asymptotic running time guarantees.
bayes-stack - Framework for Gibbs sampling of probabilistic models
rounded - MPFR bindings for Haskell