-
Notifications
You must be signed in to change notification settings - Fork 8
Open
Description
This track is to guide people into understanding more about how Rhine works internally, how to deal with more complicated type errors, and how to write your own clocks.
- Show when/whether clock type parameters (like the interval in
Millisecond
) can be derived from a component, or vice versa. When it is not possible, recommend where to add type signature - LiftClock
- Pure clocks
- time domains
- Rescale
- Writing your own clock
- Writing your own MonadSchedule
- Complicated clock errors
- After Make SN an Arrow rhine#261: Order of components (including a RB) is not the same as order of clocks in Rhine, this gives a weird error that
HasClock cl '[]
cannot be satisfied - When you write a ClSF without type signature, the clock type is not inferred. Revisit after Make ClSF a newtype rhine#268 though
- After Make SN an Arrow rhine#261: Order of components (including a RB) is not the same as order of clocks in Rhine, this gives a weird error that
- Write your own backend to some library
- Complicated Arrow syntax
- scoping of live and static values
- Nested if then else & do blocks
- After Replace dunai by automata/state machines rhine#299: How to avoid loops in recursive arrow definitions
- ArrowPlus and ArrowChoice
- Test your own rhines and develop them test-driven (
rhine-quickcheck
etc.)
Metadata
Metadata
Assignees
Labels
No labels