A Ray of Hope: Array Programming for the 21st Century
summary
A new language called ShapeRank implements a statically typed, purely functional array model that treats every value as a tensor, extends rank-polymorphism to streams, and forbids loops and recursion so iteration is shaped by data. A prototype reference implementation exists to validate a local type inference that tracks per-dimension sizes and base types, treats records as scalars, and offers reactive (default) versus synchronous zipping semantics for streams; stream support is not yet finished.
AI-written summary · about
chapters (15)
- 0:00Intro
- 2:35Array Programming: APL
- 3:59Array Programming in a Nutshell
- 4:45Example 0: Dot Product Aka Inner Product
- 6:53Advantages
- 8:40Think Different All primes up
- 14:15From Arrays to Streams
- 16:00Reactivity
- 16:59Array Programming, Statically Typed
- 21:50Concepts
- 23:32Example 3: Extending Operations Pointwise
- 26:31Example 2': Extending Operations Pointwise on Streams
- 30:51ypes Overview
- 33:01Example: Types of Literal Tensors
- 33:44Examples: Function Signatures Signatures have been simplified to protect the innocent
related talks
31mStructuring Arrays with Algebraic Shapes
32mImmutable Arrays Help Mutating Arrays More Efficiently
02h 50mFunctional Array Funhouse Intensive - Part 3 of 5
01h 02mThe Shapes of Multi-Dimensional Arrays
24mEscaping the Pointless: Embedding Pointful Array Programming in Python
58mFunctional Array Funhouse Intensive - Part 2 of 5
15mCompilation of Sparse Array Programming Models
43muarray - Efficient and Generic Array Computation
