-
Multi-clock systems: semantic model and implementation.
-
Rethink allocation to use sets of spacetime slots.
-
Efficient incremental update. Use in histogram and counting sort.
-
Algorithms:
- Sorting:
- Radix sort
- Larger bitonic sort
- Batcher's odd-even merge sort
- Regular expression matching and other forms of parsing.
Possible tools:
- Languages as star semirings. Among other references, see [A Very General Method of Computing Shortest Paths].
- Derivatives of regular languages and beyond. (See this StackExchange discussion for some pointers.)
- Sorting:
-
Computation with buffering
-
Fast compilation
-
Linear algebra via tries.
forkT
andjoinT
. -
Automatic differentiation for machine learning
-
Variable bit width
Int
s -
Streams as first-class values
-
Automatically set up data transfers around a circuit, including repetition as in matrix multiplication.
-
Learn how to declare RAMs. Stylus does not automatically choose to use RAMs from
reg
declarations.