Squants
Unitful.jl
Our great sponsors
Squants | Unitful.jl | |
---|---|---|
8 | 9 | |
911 | 572 | |
0.1% | 1.1% | |
3.2 | 7.2 | |
28 days ago | 14 days ago | |
Scala | Julia | |
Apache License 2.0 | GNU General Public License v3.0 or later |
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.
Squants
-
Improving our safety with a physical quantities and units library
Scala's squants library is a nice implementation of units-of-measure/dimensional-analysis http://www.squants.com
In particular it uses types for dimensions; whilst units are just constructors. Hence `Meters(2)` and `Microns(7)` have the same type (`Length`).
- Show HN: Numbat – A programming language with physical dimensions as types
- The type system is a programmer's best friend
-
Is Scala a good choice for a data intensive web backend?
squants for the “Market” package to use in financial calculations.
-
Please put units in names
Not everything has to be as good as squants, but better typing should always be plan A unless there's a hard limit keeping you back.
take a peek at https://www.squants.com looks like not in your language, but maybe you can apply some same concepts
-
Atlas, a (hopefully) better engineering IDE
You might find the Squants library for Scala interesting; it even seems like an apt usage of some oft-questioned language features.
- Ratio Templates?
Unitful.jl
- What Is Dimensional Analysis?
-
Similitude.jl is new more powerful Quantity than Unitful.jl
Not sure why you think more units is more powerful. Defining specific units is seldom the difficult part of dealing with units in code. I'd say that just looking at the tests for Unitful (excluding the separate tests for dates) to the tests of Similitude that there seems to be a lot more functionality in Unitful. What are the advantages of these alternate packages? And I do not think focusing on "more powerful" is too useful unless qualified appropriately.
-
ModelingToolkit, Modelica, and Modia: The Composable Modeling Future in Julia
It's really two separate problems but they kinda interact.
Unitful quantities with heterogeneous units don't have a `zero` function that works correctly, which gets in the way inside numerical routines. [0] There are other places where 0 or 1 is added, which is an error for quantities but not for plain real numbers. [1]
Zygote doesn't handle mutating arrays. [2]
-
Atlas, a (hopefully) better engineering IDE
Julia has the Unitful package [1], which does a decent job. It's quite ergonomic, and Julia's design helps with making existing code/libraries play nicely with Unitful-encoded units/values.
- Lotus 1-2-3 arbitrary resolution
-
GNU Units
I've seen a few before, and a quick search yielded a bunch for me, right off the bat. By no means exhaustive:
Julia: https://github.com/PainterQubits/Unitful.jl
Python: https://pint.readthedocs.io/en/0.6/
C++: https://github.com/nholthaus/units
etc.
And yes, it has always struck me as strange that date/time/calendar libraries are standard as canonical libraries shipped with language distributions, but units are not.
What are some alternatives?
Breeze - Breeze is a numerical processing library for Scala.
Axle - Axle Domain Specific Language for Scientific Cloud Computing and Visualization
PredictionIO - PredictionIO, a machine learning server for developers and ML engineers.
Spire - Powerful new number types and numeric abstractions for Scala.
Compute.scala - Scientific computing with N-dimensional arrays
rscala - The Scala interpreter is embedded in R and callbacks to R from the embedded interpreter are supported. Conversely, the R interpreter is embedded in Scala.
Smile - Statistical Machine Intelligence & Learning Engine
FACTORIE - FACTORIE is a toolkit for deployable probabilistic modeling, implemented as a software library in Scala. It provides its users with a succinct language for creating relational factor graphs, estimating parameters and performing inference.
Rings - Rings: efficient JVM library for polynomial rings
Apache Spark - Apache Spark - A unified analytics engine for large-scale data processing
gnu-units - GNU Units (mirror)
Zygote-Mutating-Arrays-WorkAround.jl - A tutorial on how to work around ‘Mutating arrays is not supported’ error while performing automatic differentiation (AD) using the Julia package Zygote.