@@ -7,25 +7,44 @@
8# `%= "centis"`
8# `%= "centis"`
10−`[%cnts p=wing q=(list (pair wing hoon))]`: resolve a wing with changes.
10+Resolve a wing with changes.
12−## Produces
12+## Syntax
14−Product of resolution to `p`, modified by the change list `q`.
25+Irregular:
16−If `p` resolves to a leg, `q` is a list of changes to that leg. The modified leg is returned. If `p` resolves to an arm, `q` is a list of changes to the core containing that arm. The arm is computed with the modified core as the subject, and the product is returned.
27+`foo(x 1, y 2, z 3)` is `%=(foo x 1, y 2, z 3)`.
32+[%cnts p=wing q=(list (pair wing hoon))]
37+A `%=` expression resolves a wing of the subject, but with changes made.
20−Regular: *1-fixed*, then *jogging*.
39+If `a` resolves to a leg, a series of changes are made to wings of that leg (`b`, `d`, and `f` above are replaced with the respective products of `c`, `e`, and `g` above). The modified leg is returned.
22−Irregular: `foo(x 1, y 2, z 3)` is `%=(foo x 1, y 2, z 3)`.
41+If `a` resolves to an arm, a series of changes are made to wings of the parent core of that arm. (Again, `b`, `d`, and `f` are replaced with the respective products of `c`, `e`, and `g`.) The arm is computed with the modified core as the subject, and the product is returned.
24## Discussion
43## Discussion
26−Note that `p` is a wing, not just any expression. Knowing that a function
45+Note that `a` is a wing, not just any expression. Knowing that a function
27−call `(foo baz)` involves making `foo`, replacing its sample
46+call `(foo baz)` involves evaluating `foo`, replacing its sample
28−at slot `+6` with `baz`, and resolving to the `$` limb, you might think
47+at slot `+6` with `baz`, and then resolving to the `$` limb, you might think
29`(foo baz)` would mean `%=(foo +6 baz)`.
48`(foo baz)` would mean `%=(foo +6 baz)`.
31But it's actually `=+(foo =>(%=(+2 +6 baz) $))`. Even if `foo` is
50But it's actually `=+(foo =>(%=(+2 +6 baz) $))`. Even if `foo` is