Skip to content

Commit

Permalink
add Monad
Browse files Browse the repository at this point in the history
  • Loading branch information
janmasrovira authored and paulcadman committed Aug 21, 2024
1 parent f51043d commit fb906f2
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 0 deletions.
1 change: 1 addition & 0 deletions Stdlib/Trait.juvix
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import Stdlib.Trait.Show as Show open using {Show; module Show} public;
import Stdlib.Trait.Ord as Ord open using {Ord; module Ord} public;
import Stdlib.Trait.Functor open public;
import Stdlib.Trait.Applicative open public;
import Stdlib.Trait.Monad open public;
import Stdlib.Trait.Foldable open public;
import Stdlib.Trait.Partial open public;
import Stdlib.Trait.Natural open public;
Expand Down
21 changes: 21 additions & 0 deletions Stdlib/Trait/Monad.juvix
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
module Stdlib.Trait.Monad;

import Stdlib.Data.Fixity open;
import Stdlib.Function open;
import Stdlib.Data.Bool.Base open;
import Stdlib.Data.Nat.Base open;
import Stdlib.Data.List.Base open;
import Stdlib.Data.Unit.Base open;
import Stdlib.Trait.Functor open;
import Stdlib.Trait.Applicative open;
import Stdlib.Trait.Foldable.Polymorphic open;
import Stdlib.Data.Unit.Base open;

trait
type Monad (m : Type -> Type) :=
mkMonad {
{{applicative}} : Applicative m;
>>= : {A B : Type} -> m A -> (A -> m B) -> m B
};

open Monad public;

0 comments on commit fb906f2

Please sign in to comment.