@@ -2,8 +2,8 @@
22
33Conditional composer
44
5−Parsing composer: connects the [`++edge`]() `vex` with the subsequent [`++rule`]() `sab`
6−as an optional suffix, using [gate]() `raq` to compose or reject its
5+Parsing composer: connects the `++edge` `vex` with the subsequent `++rule` `sab`
6+as an optional suffix, using gate `raq` to compose or reject its
77result. If there is no suffix, or if the suffix fails to be composed
88with the current result, the current result is produced. Used to map a
99group of rules to a specified output.
@@ -11,25 +11,25 @@ group of rules to a specified output.
1111Accepts
1212-------
1313
14−`raq` is a [gate]().
14+`raq` is a gate.
1515
16−`sab` is a [rule]().
16+`sab` is a rule.
1717
18−`vex` is an [edge]().
18+`vex` is an edge.
1919
2020Produces
2121--------
2222
23−A [`++rule`]().
23+A `++rule`.
2424
2525Source
2626------
2727
2828 ++ bend :: conditional comp
2929 ~/ %bend
30− |* raq=_|*([a=* b=*] [~ u=[a b]])
30+ |* raq/_|*({a/* b/*} [~ u=[a b]])
3131 ~/ %fun
32− |* [vex=edge sab=_rule]
32+ |* {vex/edge sab/rule}
3333 ?~ q.vex
3434 vex
3535 =+ yit=(sab q.u.q.vex)
@@ -45,18 +45,18 @@ Source
4545Examples
4646--------
4747
48− ~zod/try=> (;~((bend |=([a=char b=char] ?.(=(a b) ~ (some +(a))))) prn prn) [1 1] "qs")
48+ ~zod/try=> (;~((bend |=([a/char b/char] ?.(=(a b) ~ (some +(a))))) prn prn) [1 1] "qs")
4949 [p=[p=1 q=3] q=[~ u=[p=~~q q=[p=[p=1 q=2] q="s"]]]]
50− ~zod/try=> (;~((bend |=([a=char b=char] ?.(=(a b) ~ (some +(a))))) prn prn) [1 1] "qqq")
50+ ~zod/try=> (;~((bend |=([a/char b/char] ?.(=(a b) ~ (some +(a))))) prn prn) [1 1] "qqq")
5151 [p=[p=1 q=3] q=[~ u=[p=~~r q=[p=[p=1 q=3] q="q"]]]]
52− ~zod/try=> (scan "aa" ;~((bend |=([a=char b=char] ?.(=(a b) ~ (some +(a))))) prn prn))
52+ ~zod/try=> (scan "aa" ;~((bend |=([a/char b/char] ?.(=(a b) ~ (some +(a))))) prn prn))
5353 ~~b
54− ~zod/try=> (scan "ba" ;~((bend |=([a=char b=char] ?.(=(a b) ~ (some +(a))))) prn prn))
54+ ~zod/try=> (scan "ba" ;~((bend |=([a/char b/char] ?.(=(a b) ~ (some +(a))))) prn prn))
5555 ! {1 3}
5656 ! exit
57− ~zod/try=> `(unit ,@tas)`(scan "" ;~((bend) (easy ~) sym))
57+ ~zod/try=> `(unit @tas)`(scan "" ;~((bend) (easy ~) sym))
5858 ~
59− ~zod/try=> `(unit ,@tas)`(scan "sep" ;~((bend) (easy ~) sym))
59+ ~zod/try=> `(unit @tas)`(scan "sep" ;~((bend) (easy ~) sym))
6060 [~ %sep]
6161
6262