@@ -115,7 +115,7 @@ func inc<UO, UI, DI, DO>(n : Int) -> Proxy<UO, UI, DI, DO, Int> {
115115
116116func correct( str : String ) -> String {
117117 if str. isEmpty {
118- return " return "
118+ return " pure "
119119 }
120120 return str
121121}
@@ -124,7 +124,7 @@ struct AClient : CustomStringConvertible {
124124 let unAClient : [ ClientStep ]
125125
126126 var description : String {
127- return correct ( self . unAClient. map ( { $0. description } ) . intersperse ( " >- > " ) . reduce ( " " , combine: + ) )
127+ return correct ( self . unAClient. map ( { $0. description } ) . intersperse ( " >>-> > " ) . reduce ( " " , combine: + ) )
128128 }
129129}
130130
@@ -149,14 +149,14 @@ func aClient(client : AClient) -> (Int -> Proxy<Int, Int, (), X, Int> /* Client<
149149 return inc
150150 }
151151 } )
152- return p. reduce ( Proxy . pure, combine: >- > )
152+ return p. reduce ( Proxy . pure, combine: >>-> > )
153153}
154154
155155struct AServer : CustomStringConvertible {
156156 let unAServer : [ ServerStep ]
157157
158158 var description : String {
159- return correct ( self . unAServer. map ( { $0. description } ) . intersperse ( " >- > " ) . reduce ( " " , combine: + ) )
159+ return correct ( self . unAServer. map ( { $0. description } ) . intersperse ( " >>-> > " ) . reduce ( " " , combine: + ) )
160160 }
161161}
162162
@@ -180,14 +180,14 @@ func aServer(server : AServer) -> (Int -> Proxy<X, (), Int, Int, Int> /* Server<
180180 case . ServerInc:
181181 return inc
182182 }
183- } ) . reduce ( Proxy . pure, combine: >- > )
183+ } ) . reduce ( Proxy . pure, combine: >>-> > )
184184}
185185
186186struct AProxy : Hashable , CustomStringConvertible {
187187 let unAProxy : [ ProxyStep ]
188188
189189 var description : String {
190- return correct ( self . unAProxy. map ( { $0. description } ) . intersperse ( " >- > " ) . reduce ( " " , combine: + ) )
190+ return correct ( self . unAProxy. map ( { $0. description } ) . intersperse ( " >>-> > " ) . reduce ( " " , combine: + ) )
191191 }
192192
193193 var hashValue : Int {
@@ -227,7 +227,7 @@ func aProxy(proxy : AProxy) -> (Int -> Proxy<Int, Int, Int, Int, Int>) {
227227 case . ProxyInc:
228228 return inc
229229 }
230- } ) . reduce ( Proxy . pure, combine: >- > )
230+ } ) . reduce ( Proxy . pure, combine: >>-> > )
231231}
232232
233233struct ProxyK {
@@ -245,10 +245,13 @@ func formulate(pl : ProxyK.T, _ pr : ProxyK.T)(_ p0 : AServer, _ p1 : AClient) -
245245}
246246
247247/// Kleisli Composition.
248- func >-> < A, B, C, UI, UO, DI, DO> ( m1 : A -> Proxy < UI , UO , DI , DO , B > , m2 : B -> Proxy < UI , UO , DI , DO , C > ) -> ( A -> Proxy < UI , UO , DI , DO , C > ) {
248+ infix operator >>->> {
249+ associativity left
250+ precedence 110
251+ }
252+
253+ func >>->> < A, B, C, UI, UO, DI, DO> ( m1 : A -> Proxy < UI , UO , DI , DO , B > , m2 : B -> Proxy < UI , UO , DI , DO , C > ) -> ( A -> Proxy < UI , UO , DI , DO , C > ) {
249254 return { r in
250255 return m1 ( r) >>- m2
251256 }
252257}
253-
254-
0 commit comments