-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Labels
Description
We have
data View m a
= Pure a
| a :< SeqT m aWe could use an internal version of View with another constructor:
data View' m a
= Pure' a
| a :<< SeqT m a
| a :<<< m (View' m a)This would allow us to try to use RULES to turn lift m <|> lift n into something like
fromView' $ m >>= \a -> pure (a :<<< (n >>= single'))Smashing enough lifted values (or pure ones) into one element of the queue should improve optimization and keep the queue shorter. On the negative side, we'd have more cases to deal with.
Reactions are currently unavailable