-
-
Notifications
You must be signed in to change notification settings - Fork 50
Open
Description
We could make add and delete options to be a -> Interpolator (Maybe a), with Nothing indicating their absence in the resulting list.
We should also make the list ordered by default where order would be interpolated properly.
ListCombiner is kind of dumb, we should just accept a List (Interpolator a) -> Interpolator (List a) function
Finally, we could make all the options (except id) actually optional, since
{ add = \v -> Interpolation.step Nothing [ Just v ]
, remove = \v -> Interpolation.step (Just v) Nothing
, change = \a b -> Interpolation.step a [ b ]
, combine = Interpolation.inParallel
}would be pretty decent defaults.
Potentially we could make id optional as well and just treat everything as additions and removals without it, but that sort of seems fairly suboptimal. Or have a way to use == to figure out reorder-ing at least...