-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Nice reference but with some strange bits:
> Algebraic data types are usually represented using a heap. Because of their non-uniformity, algebraic data types are more difficult to scan.
Using a heap??? We can represent ADTs using stack as well, that's what we usually do in C and Rust.
Shameless plug: https://github.com/Hirrolot/datatype99 (a library of mine that generates type-safe ADTs for pure C99).
There's also an interesting programming language called Neut [1]:
> A dependently-typed programming language with compile-time malloc/free determination.
Also related "ASAP: As Static As Possible memory management" [2].
I think most of the "innovation" you're talking about is happening in the programming language design field.
[1] https://github.com/vekatze/neut
This post seems related to the authors of MPS (1) that seems to be a general garbage-collector to use with various languages.
Many GC'd languages really didn't bother with stack-allocating variable-size entities, and regardless of if they did then _precicely_ scanning the stack would be complicated without compiler help.
If the compiler doesn't leave any info to the GC, then it can't know if it's scanning a pointer or a float and if your GC strategy relies on compacting memory (ie moving objects) then trying to guess between a float or a pointer can become fatal.
(1) https://github.com/Ravenbrook/mps