constraints
constraints copied to clipboard
Deferrable with default values
These might be useful for Data.Constraint.Deferrable
deferWithDefault_ :: forall c. Deferrable c => forall r. r -> (c => r) -> r
deferWithDefault_ def r =
case deferEither_ @c r of
Left err -> def
Right a -> a
deferWithDefault :: Deferrable c => proxy c -> r -> (c => r) -> r
deferWithDefault proxy def r =
case deferEither proxy r of
Left err -> def
Right a -> a
I have no particular objection to adding these.