> also naming means locking intent early. once you say 'this axis is time', every downstream op inherits that label, even if that dim gets folded or split.
it's tradeoffs only
Is compelling to me because I'm in the hunt for marry array + relational (https://tablam.org)
Type safety, concise-to-the-point-of-terse code (with the types helping humans read it), and very high performance.
And this feels like a step in the right direction.
That said if you're going to do it, this seems like a reasonable set of primitives to do it with. I'm not a huge performance nut, so I'd love to give it a try.
I'd like to see an implementation in a language with only fixed-stride arrays. I'm not an expert, does Rust do this?
iamdamian•3h ago
On first read, it looks like this is designed with a healthy balance between mathematical insight (relationship of product types and tuples, basis in lambda calculus) and real developer needs (e.g., static typic is nice; dependently typed systems can be too much; types are great, but "nameless shapes" are useful, too).
I'd love to see an implementation of this to play around with.