Skip to content

Commit 72a2e1f

Browse files
committed
Rebind in the right place, no :- where type is anything
1 parent a198b5d commit 72a2e1f

File tree

4 files changed

+35
-37
lines changed

4 files changed

+35
-37
lines changed

src/std/monad.ss

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
11
(import
2-
./monad/interface
3-
./monad/identity
4-
./monad/list
5-
./monad/state
6-
./monad/syntax
7-
./monad/error)
8-
(export
9-
(import:
10-
./monad/interface)
11-
;; ./monad/identity
12-
;; ./monad/list
13-
;; ./monad/state
14-
;; ./monad/syntax
15-
;; ./monad/error
16-
)
2+
./monad/interface
3+
./monad/identity
4+
./monad/list
5+
./monad/state
6+
./monad/syntax
7+
./monad/error)
8+
(export
9+
(import: ./monad/interface)
10+
(import: ./monad/identity)
11+
(import: ./monad/list)
12+
(import: ./monad/state)
13+
(import: ./monad/syntax)
14+
(import: ./monad/error))

src/std/monad/README.org

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,8 @@ definition.
105105
(instance (m Monad) :t
106106
((return a) a)
107107
((>>= ma f) (f ma))
108-
((>> ma mb) (m.>>= ma (lambda (_) mb))))
109-
rebind: #t)
108+
((>> ma mb) (m.>>= ma (lambda (_) mb)))
109+
rebind: #t))
110110
#+end_src
111111

112112
Essentially that's that! a monad is just an abstraction around those
@@ -828,16 +828,16 @@ Making the handler is easy.
828828

829829
#+begin_src scheme :noweb-ref errorT-struct
830830
(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)
833833
a <- ma
834834
(if (me.error? a) (inner.return a) (f a))))
835835
((error? thing) (Error? thing))
836836
((throw msg . irritants)
837-
(du (inner et.inner :- Monad)
837+
(du (inner et.inner : Monad)
838838
(inner.return (Error msg irritants: irritants))))
839839
((catch exp handler)
840-
(du (inner et.inner :- Monad)
840+
(du (inner et.inner : Monad)
841841
val <- exp
842842
(if (me.error? val) (handler val) (inner.return val)))))
843843

@@ -887,18 +887,18 @@ This is after state in the train of thought so is defined here.
887887

888888
#+begin_src scheme :noweb-ref errorT-struct
889889
(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))))
893893

894894
(instance MonadError (st stateT)
895895
((error? e?) (lambda (s)
896-
(du (inner st.inner :- MonadError)
896+
(du (inner st.inner : MonadError)
897897
[(inner.error? e?) s ...])))
898898
((throw message . args)
899899
(lambda (s)
900900
[ (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)
902902
[(inner.catch exp handler) s ...]))))
903903
#+end_src
904904

src/std/monad/error.ss

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,16 @@
1414
(set! self.inner inner)))
1515

1616
(instance (me MonadError) (et errorT)
17-
((return a) (du (inner et.inner :- Monad) (inner.return a)))
18-
((>>= ma f) (du (inner et.inner :- Monad)
17+
((return a) (du (inner et.inner : Monad) (inner.return a)))
18+
((>>= ma f) (du (inner et.inner : Monad)
1919
a <- ma
2020
(if (me.error? a) (inner.return a) (f a))))
2121
((error? thing) (Error? thing))
2222
((throw msg . irritants)
23-
(du (inner et.inner :- Monad)
23+
(du (inner et.inner : Monad)
2424
(inner.return (Error msg irritants: irritants))))
2525
((catch exp handler)
26-
(du (inner et.inner :- Monad)
26+
(du (inner et.inner : Monad)
2727
val <- exp
2828
(if (me.error? val) (handler val) (inner.return val)))))
2929

@@ -34,16 +34,16 @@
3434
(instance Zero (et errorT) ((zero) (using (i et.inner : Zero) (i.zero))))
3535

3636
(instance MonadState (et errorT)
37-
((get) (du (inner et.inner :- MonadState) (inner.get)))
38-
((put! s) (du (inner et.inner :- MonadState) (inner.put! s)))
39-
((state f)(du (inner et.inner :- MonadState) (inner.state f))))
37+
((get) (du (inner et.inner : MonadState) (inner.get)))
38+
((put! s) (du (inner et.inner : MonadState) (inner.put! s)))
39+
((state f)(du (inner et.inner : MonadState) (inner.state f))))
4040

4141
(instance MonadError (st stateT)
4242
((error? e?) (lambda (s)
43-
(du (inner st.inner :- MonadError)
43+
(du (inner st.inner : MonadError)
4444
[(inner.error? e?) s ...])))
4545
((throw message . args)
4646
(lambda (s)
4747
[ (apply MonadError-throw st.inner message args) s ...]))
48-
((catch exp handler) (lambda (s) (du (inner st.inner :- MonadError)
48+
((catch exp handler) (lambda (s) (du (inner st.inner : MonadError)
4949
[(inner.catch exp handler) s ...]))))

src/std/monad/interface.ss

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
(instance (m Monad) :t
1313
((return a) a)
1414
((>>= ma f) (f ma))
15-
((>> ma mb) (m.>>= ma (lambda (_) mb))))
16-
rebind: #t)
15+
((>> ma mb) (m.>>= ma (lambda (_) mb)))
16+
rebind: #t))
1717

1818
(interface Run (run . args))
1919

0 commit comments

Comments
 (0)