units
dimensioned
units | dimensioned | |
---|---|---|
1 | 2 | |
94 | 293 | |
- | - | |
5.3 | 0.0 | |
3 months ago | over 1 year ago | |
Haskell | Rust | |
BSD 3-clause "New" or "Revised" License | MIT License |
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 ..."
dimensioned
-
Frink is a programming language designed to make physical calculations simple
Rust as well. There are at least a few libraries to do it, but I'll link the one I wrote:
https://crates.io/crates/dimensioned
-
Please Put Units in Names
dimensioned[1] got me interested in Rust. I’m not far enough to recommend it, but the concept seems right.
[1] https://github.com/paholg/dimensioned
What are some alternatives?
smtlib2 - SMTLib2 interface implementation for Haskell
Unchained - A fully type safe, compile time only units library.
polynomial - Haskell library for manipulating and evaluating polynomials
typical - Data interchange with algebraic data types.
uncertain - Manipulating numbers with inherent measurement/experimental uncertainty.
durationcheck - Go linter to detect erroneous multiplication of duration values
monte-carlo - A Monte Carlo monad and transformer for Haskell.
image-size - Node module for detecting image dimensions
dimensional - Dimensional library variant built on Data Kinds, Closed Type Families, TypeNats (GHC 7.8+).
rink-rs - Unit conversion tool and library written in rust
matrix - A Haskell native implementation of matrices and their operations.
NodaTime - A better date and time API for .NET