Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- :- module monad.
- :- interface.
- :- type monad(M, T) ---> monad(M, T).
- :- typeclass monad(M) where [
- % (>>=) :: m a -> (a -> m b) -> m b
- func bind(
- monad(M, T1),
- func(T1) = monad(M, T2)
- ) = monad(M, T2),
- % return :: a -> Maybe a
- func return(T) = monad(M, T)
- ].
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement