astGrad
numbat
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.
astGrad
-
Show HN: Numbat – A programming language with physical dimensions as types
I mean that article of yours highlights the difficulties one encounters fairly well, I would say. I don't disagree that this is (generally) a tricky problem!
Nim allows you to do a lot, e.g. derivatives of a unitful expression with measurement errors [0]. But other aspects run into the reality of dealing with a static type system. For example in Measuremancer [1], the library handling measurements with uncertainties, each `Measurement` is a single generic `Measurement[T]`. Each measurement stores the derivatives for error propagation. Obviously the derivatives have different units. Now, we could make `Measurement` a two-fold generic, `Measurement[T, U]`, but that just makes things more unwieldy in practice, for not much gain.
Without rewriting a majority of existing code you will always run into trouble where your perfect unit type system will either break or you'll need to work around it anyway (e.g. calling into some C library for part of the code).
[0]: https://github.com/SciNim/astGrad#extra-fun
[1]: https://github.com/SciNim/Measuremancer/
numbat
-
Show HN: Numbat – A programming language with physical dimensions as types
> 365·243 ought to be 365·2425 exactly:
Yes. This is also how it is defined: https://github.com/sharkdp/numbat/blob/ba9e97b1fbf6353d24695...
The calculation above is showing a rounded result (6 significant digits by default).
- Programming Language for Scientific Computations
What are some alternatives?
Squants - The Scala API for Quantities, Units of Measure and Dimensional Analysis
rink-rs - Unit conversion tool and library written in rust
insect - High precision scientific calculator with support for physical units
Desk - 🔮 The application platform for your cyberpunk desk
Measuremancer - A library to handle measurement uncertainties & error propagation
cpc - Text calculator with support for units and conversion
fathom - 🚧 (Alpha stage software) A declarative data definition language for formally specifying binary data formats. 🚧
gleam - ⭐️ A friendly language for building type-safe, scalable systems!
pen - The parallel, concurrent, and functional programming language for scalable software development