prev (28) slide 29 / 33 next (30)
TODO
TODO
- Fix GC assertion failure!
- Cache output of derivers.
- Rederiving in background threads kills interactive latency. Try to make
it do less work, be smarter about kicking it off, and generate less
garbage. Unfortunately no thread priorities.
- Make signals lazy.
- Efficiently store lots of control events.
- Unify Signal with [event]?
- Pipe output of derivers into a block for editing... leads to merge
problem. Can use event_stack as an ID?
Add more Haskell magic:
- testing - I don't understand how to use quickcheck
Example: Signal.track_signal
- There is a lot of [event] passed around, with the assumption that they're
sorted. It would be nice to put that in the type. Similar to Map.fromList
and Map.fromAscList, I often have a non-lazy unsorted version and a lazy
sorted or sorted-preserving versions of a map function.
- GADTs for TrackLang? Typechecking and function calling is slightly
unsatisfactory.
prev (28) slide 29 / 33 next (30)