@@ -105,8 +105,8 @@ definition.
105
105
(instance (m Monad) :t
106
106
((return a) a)
107
107
((>>= ma f) (f ma))
108
- ((>> ma mb) (m.>>= ma (lambda (_) mb))))
109
- rebind: #t)
108
+ ((>> ma mb) (m.>>= ma (lambda (_) mb)))
109
+ rebind: #t) )
110
110
#+end_src
111
111
112
112
Essentially that's that! a monad is just an abstraction around those
@@ -828,16 +828,16 @@ Making the handler is easy.
828
828
829
829
#+begin_src scheme :noweb-ref errorT-struct
830
830
(instance (me MonadError) (et errorT)
831
- ((return a) (du (inner et.inner :- Monad) (inner.return a)))
832
- ((>>= ma f) (du (inner et.inner :- Monad)
831
+ ((return a) (du (inner et.inner : Monad) (inner.return a)))
832
+ ((>>= ma f) (du (inner et.inner : Monad)
833
833
a <- ma
834
834
(if (me.error? a) (inner.return a) (f a))))
835
835
((error? thing) (Error? thing))
836
836
((throw msg . irritants)
837
- (du (inner et.inner :- Monad)
837
+ (du (inner et.inner : Monad)
838
838
(inner.return (Error msg irritants: irritants))))
839
839
((catch exp handler)
840
- (du (inner et.inner :- Monad)
840
+ (du (inner et.inner : Monad)
841
841
val <- exp
842
842
(if (me.error? val) (handler val) (inner.return val)))))
843
843
@@ -887,18 +887,18 @@ This is after state in the train of thought so is defined here.
887
887
888
888
#+begin_src scheme :noweb-ref errorT-struct
889
889
(instance MonadState (et errorT)
890
- ((get) (du (inner et.inner :- MonadState) (inner.get)))
891
- ((put! s) (du (inner et.inner :- MonadState) (inner.put! s)))
892
- ((state f)(du (inner et.inner :- MonadState) (inner.state f))))
890
+ ((get) (du (inner et.inner : MonadState) (inner.get)))
891
+ ((put! s) (du (inner et.inner : MonadState) (inner.put! s)))
892
+ ((state f)(du (inner et.inner : MonadState) (inner.state f))))
893
893
894
894
(instance MonadError (st stateT)
895
895
((error? e?) (lambda (s)
896
- (du (inner st.inner :- MonadError)
896
+ (du (inner st.inner : MonadError)
897
897
[(inner.error? e?) s ...])))
898
898
((throw message . args)
899
899
(lambda (s)
900
900
[ (apply MonadError-throw st.inner message args) s ...]))
901
- ((catch exp handler) (lambda (s) (du (inner st.inner :- MonadError)
901
+ ((catch exp handler) (lambda (s) (du (inner st.inner : MonadError)
902
902
[(inner.catch exp handler) s ...]))))
903
903
#+end_src
904
904
0 commit comments