Refactor how keywords are matched.
authorChris Hanson <org/chris-hanson/cph>
Thu, 29 Mar 2018 04:20:34 +0000 (21:20 -0700)
committerChris Hanson <org/chris-hanson/cph>
Thu, 29 Mar 2018 04:20:34 +0000 (21:20 -0700)
commit663eb2fde70480dc0d5db01d628dec16f4d753b0
treeecfe5dcbb42ec60fc47110b1247f2e57e26c2fa3
parentd7d808f6a2c8b12990fc9e5a520bad304810cedb
Refactor how keywords are matched.

* spar-arg:compare renamed to spar-arg:id=? and second argument is optional,
  defaulting to spar-arg:form.

* patterns (noise ...), (noise-keyword ...), and (keyword ...) are eliminated.

* New pattern (ignore-if predicate arg...) ignores a subform if calling the
  predicate is satisfied.

* Renamed (value-if ...) to (keep-if ...) with same semantics: keeps a subform
  if calling the predicate is satisfied.

* New pattern (value arg) is like (values arg...) but a little clearer.
src/runtime/mit-macros.scm
src/runtime/runtime.pkg
src/runtime/syntax-parser.scm