lean4-htt/tests/lean/run/structInst2.lean
2020-02-18 09:18:52 -08:00

11 lines
363 B
Text

import Init.Control.Option
new_frontend
def optMonad {m} [Monad m] : Monad (OptionT m) :=
{ pure := OptionT.pure, bind := OptionT.bind }
def optAlt {m} [Monad m] : Alternative (OptionT m) :=
{ failure := OptionT.fail,
orelse := OptionT.orelse,
toApplicative := Monad.toApplicative (OptionT m) } -- TODO: check toApplicative binder annotations