LilyPond-Ruby 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1109) hide show
  1. checksums.yaml +4 -4
  2. data/etc/fonts/conf.d/10-hinting-slight.conf +15 -0
  3. data/etc/fonts/conf.d/10-scale-bitmap-fonts.conf +83 -0
  4. data/etc/fonts/conf.d/11-lcdfilter-default.conf +17 -0
  5. data/etc/fonts/conf.d/20-unhint-small-vera.conf +49 -0
  6. data/etc/fonts/conf.d/30-metric-aliases.conf +637 -0
  7. data/etc/fonts/conf.d/40-nonlatin.conf +332 -0
  8. data/etc/fonts/conf.d/45-generic.conf +136 -0
  9. data/etc/fonts/conf.d/45-latin.conf +301 -0
  10. data/etc/fonts/conf.d/48-spacing.conf +16 -0
  11. data/etc/fonts/conf.d/49-sansserif.conf +22 -0
  12. data/etc/fonts/conf.d/50-user.conf +16 -0
  13. data/etc/fonts/conf.d/51-local.conf +7 -0
  14. data/etc/fonts/conf.d/60-generic.conf +64 -0
  15. data/etc/fonts/conf.d/60-latin.conf +88 -0
  16. data/etc/fonts/conf.d/65-fonts-persian.conf +418 -0
  17. data/etc/fonts/conf.d/65-nonlatin.conf +228 -0
  18. data/etc/fonts/conf.d/69-unifont.conf +28 -0
  19. data/etc/fonts/conf.d/80-delicious.conf +19 -0
  20. data/etc/fonts/conf.d/90-synthetic.conf +64 -0
  21. data/etc/fonts/conf.d/README +23 -0
  22. data/etc/fonts/fonts.conf +101 -0
  23. data/etc/relocate/fontconfig.reloc +2 -0
  24. data/etc/relocate/guile.reloc +2 -0
  25. data/etc/relocate/libexec.reloc +1 -0
  26. data/lib/guile/2.2/ccache/ice-9/and-let-star.go +0 -0
  27. data/lib/guile/2.2/ccache/ice-9/arrays.go +0 -0
  28. data/lib/guile/2.2/ccache/ice-9/atomic.go +0 -0
  29. data/lib/guile/2.2/ccache/ice-9/binary-ports.go +0 -0
  30. data/lib/guile/2.2/ccache/ice-9/boot-9.go +0 -0
  31. data/lib/guile/2.2/ccache/ice-9/buffered-input.go +0 -0
  32. data/lib/guile/2.2/ccache/ice-9/calling.go +0 -0
  33. data/lib/guile/2.2/ccache/ice-9/channel.go +0 -0
  34. data/lib/guile/2.2/ccache/ice-9/command-line.go +0 -0
  35. data/lib/guile/2.2/ccache/ice-9/common-list.go +0 -0
  36. data/lib/guile/2.2/ccache/ice-9/control.go +0 -0
  37. data/lib/guile/2.2/ccache/ice-9/curried-definitions.go +0 -0
  38. data/lib/guile/2.2/ccache/ice-9/debug.go +0 -0
  39. data/lib/guile/2.2/ccache/ice-9/deprecated.go +0 -0
  40. data/lib/guile/2.2/ccache/ice-9/documentation.go +0 -0
  41. data/lib/guile/2.2/ccache/ice-9/eval-string.go +0 -0
  42. data/lib/guile/2.2/ccache/ice-9/eval.go +0 -0
  43. data/lib/guile/2.2/ccache/ice-9/expect.go +0 -0
  44. data/lib/guile/2.2/ccache/ice-9/fdes-finalizers.go +0 -0
  45. data/lib/guile/2.2/ccache/ice-9/format.go +0 -0
  46. data/lib/guile/2.2/ccache/ice-9/ftw.go +0 -0
  47. data/lib/guile/2.2/ccache/ice-9/futures.go +0 -0
  48. data/lib/guile/2.2/ccache/ice-9/gap-buffer.go +0 -0
  49. data/lib/guile/2.2/ccache/ice-9/getopt-long.go +0 -0
  50. data/lib/guile/2.2/ccache/ice-9/hash-table.go +0 -0
  51. data/lib/guile/2.2/ccache/ice-9/hcons.go +0 -0
  52. data/lib/guile/2.2/ccache/ice-9/history.go +0 -0
  53. data/lib/guile/2.2/ccache/ice-9/i18n.go +0 -0
  54. data/lib/guile/2.2/ccache/ice-9/iconv.go +0 -0
  55. data/lib/guile/2.2/ccache/ice-9/lineio.go +0 -0
  56. data/lib/guile/2.2/ccache/ice-9/list.go +0 -0
  57. data/lib/guile/2.2/ccache/ice-9/local-eval.go +0 -0
  58. data/lib/guile/2.2/ccache/ice-9/ls.go +0 -0
  59. data/lib/guile/2.2/ccache/ice-9/mapping.go +0 -0
  60. data/lib/guile/2.2/ccache/ice-9/match.go +0 -0
  61. data/lib/guile/2.2/ccache/ice-9/networking.go +0 -0
  62. data/lib/guile/2.2/ccache/ice-9/null.go +0 -0
  63. data/lib/guile/2.2/ccache/ice-9/occam-channel.go +0 -0
  64. data/lib/guile/2.2/ccache/ice-9/optargs.go +0 -0
  65. data/lib/guile/2.2/ccache/ice-9/peg/cache.go +0 -0
  66. data/lib/guile/2.2/ccache/ice-9/peg/codegen.go +0 -0
  67. data/lib/guile/2.2/ccache/ice-9/peg/simplify-tree.go +0 -0
  68. data/lib/guile/2.2/ccache/ice-9/peg/string-peg.go +0 -0
  69. data/lib/guile/2.2/ccache/ice-9/peg/using-parsers.go +0 -0
  70. data/lib/guile/2.2/ccache/ice-9/peg.go +0 -0
  71. data/lib/guile/2.2/ccache/ice-9/poe.go +0 -0
  72. data/lib/guile/2.2/ccache/ice-9/poll.go +0 -0
  73. data/lib/guile/2.2/ccache/ice-9/popen.go +0 -0
  74. data/lib/guile/2.2/ccache/ice-9/ports.go +0 -0
  75. data/lib/guile/2.2/ccache/ice-9/posix.go +0 -0
  76. data/lib/guile/2.2/ccache/ice-9/pretty-print.go +0 -0
  77. data/lib/guile/2.2/ccache/ice-9/psyntax-pp.go +0 -0
  78. data/lib/guile/2.2/ccache/ice-9/q.go +0 -0
  79. data/lib/guile/2.2/ccache/ice-9/r5rs.go +0 -0
  80. data/lib/guile/2.2/ccache/ice-9/rdelim.go +0 -0
  81. data/lib/guile/2.2/ccache/ice-9/receive.go +0 -0
  82. data/lib/guile/2.2/ccache/ice-9/regex.go +0 -0
  83. data/lib/guile/2.2/ccache/ice-9/runq.go +0 -0
  84. data/lib/guile/2.2/ccache/ice-9/rw.go +0 -0
  85. data/lib/guile/2.2/ccache/ice-9/safe-r5rs.go +0 -0
  86. data/lib/guile/2.2/ccache/ice-9/safe.go +0 -0
  87. data/lib/guile/2.2/ccache/ice-9/sandbox.go +0 -0
  88. data/lib/guile/2.2/ccache/ice-9/save-stack.go +0 -0
  89. data/lib/guile/2.2/ccache/ice-9/scm-style-repl.go +0 -0
  90. data/lib/guile/2.2/ccache/ice-9/serialize.go +0 -0
  91. data/lib/guile/2.2/ccache/ice-9/session.go +0 -0
  92. data/lib/guile/2.2/ccache/ice-9/slib.go +0 -0
  93. data/lib/guile/2.2/ccache/ice-9/stack-catch.go +0 -0
  94. data/lib/guile/2.2/ccache/ice-9/streams.go +0 -0
  95. data/lib/guile/2.2/ccache/ice-9/string-fun.go +0 -0
  96. data/lib/guile/2.2/ccache/ice-9/suspendable-ports.go +0 -0
  97. data/lib/guile/2.2/ccache/ice-9/syncase.go +0 -0
  98. data/lib/guile/2.2/ccache/ice-9/textual-ports.go +0 -0
  99. data/lib/guile/2.2/ccache/ice-9/threads.go +0 -0
  100. data/lib/guile/2.2/ccache/ice-9/time.go +0 -0
  101. data/lib/guile/2.2/ccache/ice-9/top-repl.go +0 -0
  102. data/lib/guile/2.2/ccache/ice-9/unicode.go +0 -0
  103. data/lib/guile/2.2/ccache/ice-9/vlist.go +0 -0
  104. data/lib/guile/2.2/ccache/ice-9/weak-vector.go +0 -0
  105. data/lib/guile/2.2/ccache/language/brainfuck/compile-scheme.go +0 -0
  106. data/lib/guile/2.2/ccache/language/brainfuck/compile-tree-il.go +0 -0
  107. data/lib/guile/2.2/ccache/language/brainfuck/parse.go +0 -0
  108. data/lib/guile/2.2/ccache/language/brainfuck/spec.go +0 -0
  109. data/lib/guile/2.2/ccache/language/bytecode/spec.go +0 -0
  110. data/lib/guile/2.2/ccache/language/bytecode.go +0 -0
  111. data/lib/guile/2.2/ccache/language/cps/closure-conversion.go +0 -0
  112. data/lib/guile/2.2/ccache/language/cps/compile-bytecode.go +0 -0
  113. data/lib/guile/2.2/ccache/language/cps/constructors.go +0 -0
  114. data/lib/guile/2.2/ccache/language/cps/contification.go +0 -0
  115. data/lib/guile/2.2/ccache/language/cps/cse.go +0 -0
  116. data/lib/guile/2.2/ccache/language/cps/dce.go +0 -0
  117. data/lib/guile/2.2/ccache/language/cps/effects-analysis.go +0 -0
  118. data/lib/guile/2.2/ccache/language/cps/elide-values.go +0 -0
  119. data/lib/guile/2.2/ccache/language/cps/handle-interrupts.go +0 -0
  120. data/lib/guile/2.2/ccache/language/cps/intmap.go +0 -0
  121. data/lib/guile/2.2/ccache/language/cps/intset.go +0 -0
  122. data/lib/guile/2.2/ccache/language/cps/licm.go +0 -0
  123. data/lib/guile/2.2/ccache/language/cps/optimize.go +0 -0
  124. data/lib/guile/2.2/ccache/language/cps/peel-loops.go +0 -0
  125. data/lib/guile/2.2/ccache/language/cps/primitives.go +0 -0
  126. data/lib/guile/2.2/ccache/language/cps/prune-bailouts.go +0 -0
  127. data/lib/guile/2.2/ccache/language/cps/prune-top-level-scopes.go +0 -0
  128. data/lib/guile/2.2/ccache/language/cps/reify-primitives.go +0 -0
  129. data/lib/guile/2.2/ccache/language/cps/renumber.go +0 -0
  130. data/lib/guile/2.2/ccache/language/cps/rotate-loops.go +0 -0
  131. data/lib/guile/2.2/ccache/language/cps/self-references.go +0 -0
  132. data/lib/guile/2.2/ccache/language/cps/simplify.go +0 -0
  133. data/lib/guile/2.2/ccache/language/cps/slot-allocation.go +0 -0
  134. data/lib/guile/2.2/ccache/language/cps/spec.go +0 -0
  135. data/lib/guile/2.2/ccache/language/cps/specialize-numbers.go +0 -0
  136. data/lib/guile/2.2/ccache/language/cps/specialize-primcalls.go +0 -0
  137. data/lib/guile/2.2/ccache/language/cps/split-rec.go +0 -0
  138. data/lib/guile/2.2/ccache/language/cps/type-checks.go +0 -0
  139. data/lib/guile/2.2/ccache/language/cps/type-fold.go +0 -0
  140. data/lib/guile/2.2/ccache/language/cps/types.go +0 -0
  141. data/lib/guile/2.2/ccache/language/cps/utils.go +0 -0
  142. data/lib/guile/2.2/ccache/language/cps/verify.go +0 -0
  143. data/lib/guile/2.2/ccache/language/cps/with-cps.go +0 -0
  144. data/lib/guile/2.2/ccache/language/cps.go +0 -0
  145. data/lib/guile/2.2/ccache/language/ecmascript/array.go +0 -0
  146. data/lib/guile/2.2/ccache/language/ecmascript/base.go +0 -0
  147. data/lib/guile/2.2/ccache/language/ecmascript/compile-tree-il.go +0 -0
  148. data/lib/guile/2.2/ccache/language/ecmascript/function.go +0 -0
  149. data/lib/guile/2.2/ccache/language/ecmascript/impl.go +0 -0
  150. data/lib/guile/2.2/ccache/language/ecmascript/parse.go +0 -0
  151. data/lib/guile/2.2/ccache/language/ecmascript/spec.go +0 -0
  152. data/lib/guile/2.2/ccache/language/ecmascript/tokenize.go +0 -0
  153. data/lib/guile/2.2/ccache/language/elisp/bindings.go +0 -0
  154. data/lib/guile/2.2/ccache/language/elisp/boot.go +0 -0
  155. data/lib/guile/2.2/ccache/language/elisp/compile-tree-il.go +0 -0
  156. data/lib/guile/2.2/ccache/language/elisp/falias.go +0 -0
  157. data/lib/guile/2.2/ccache/language/elisp/lexer.go +0 -0
  158. data/lib/guile/2.2/ccache/language/elisp/parser.go +0 -0
  159. data/lib/guile/2.2/ccache/language/elisp/runtime/function-slot.go +0 -0
  160. data/lib/guile/2.2/ccache/language/elisp/runtime/value-slot.go +0 -0
  161. data/lib/guile/2.2/ccache/language/elisp/runtime.go +0 -0
  162. data/lib/guile/2.2/ccache/language/elisp/spec.go +0 -0
  163. data/lib/guile/2.2/ccache/language/scheme/compile-tree-il.go +0 -0
  164. data/lib/guile/2.2/ccache/language/scheme/decompile-tree-il.go +0 -0
  165. data/lib/guile/2.2/ccache/language/scheme/spec.go +0 -0
  166. data/lib/guile/2.2/ccache/language/tree-il/analyze.go +0 -0
  167. data/lib/guile/2.2/ccache/language/tree-il/canonicalize.go +0 -0
  168. data/lib/guile/2.2/ccache/language/tree-il/compile-cps.go +0 -0
  169. data/lib/guile/2.2/ccache/language/tree-il/debug.go +0 -0
  170. data/lib/guile/2.2/ccache/language/tree-il/effects.go +0 -0
  171. data/lib/guile/2.2/ccache/language/tree-il/fix-letrec.go +0 -0
  172. data/lib/guile/2.2/ccache/language/tree-il/optimize.go +0 -0
  173. data/lib/guile/2.2/ccache/language/tree-il/peval.go +0 -0
  174. data/lib/guile/2.2/ccache/language/tree-il/primitives.go +0 -0
  175. data/lib/guile/2.2/ccache/language/tree-il/spec.go +0 -0
  176. data/lib/guile/2.2/ccache/language/tree-il.go +0 -0
  177. data/lib/guile/2.2/ccache/language/value/spec.go +0 -0
  178. data/lib/guile/2.2/ccache/oop/goops/accessors.go +0 -0
  179. data/lib/guile/2.2/ccache/oop/goops/active-slot.go +0 -0
  180. data/lib/guile/2.2/ccache/oop/goops/composite-slot.go +0 -0
  181. data/lib/guile/2.2/ccache/oop/goops/describe.go +0 -0
  182. data/lib/guile/2.2/ccache/oop/goops/internal.go +0 -0
  183. data/lib/guile/2.2/ccache/oop/goops/save.go +0 -0
  184. data/lib/guile/2.2/ccache/oop/goops/simple.go +0 -0
  185. data/lib/guile/2.2/ccache/oop/goops/stklos.go +0 -0
  186. data/lib/guile/2.2/ccache/oop/goops.go +0 -0
  187. data/lib/guile/2.2/ccache/rnrs/arithmetic/bitwise.go +0 -0
  188. data/lib/guile/2.2/ccache/rnrs/arithmetic/fixnums.go +0 -0
  189. data/lib/guile/2.2/ccache/rnrs/arithmetic/flonums.go +0 -0
  190. data/lib/guile/2.2/ccache/rnrs/base.go +0 -0
  191. data/lib/guile/2.2/ccache/rnrs/bytevectors.go +0 -0
  192. data/lib/guile/2.2/ccache/rnrs/conditions.go +0 -0
  193. data/lib/guile/2.2/ccache/rnrs/control.go +0 -0
  194. data/lib/guile/2.2/ccache/rnrs/enums.go +0 -0
  195. data/lib/guile/2.2/ccache/rnrs/eval.go +0 -0
  196. data/lib/guile/2.2/ccache/rnrs/exceptions.go +0 -0
  197. data/lib/guile/2.2/ccache/rnrs/files.go +0 -0
  198. data/lib/guile/2.2/ccache/rnrs/hashtables.go +0 -0
  199. data/lib/guile/2.2/ccache/rnrs/io/ports.go +0 -0
  200. data/lib/guile/2.2/ccache/rnrs/io/simple.go +0 -0
  201. data/lib/guile/2.2/ccache/rnrs/lists.go +0 -0
  202. data/lib/guile/2.2/ccache/rnrs/mutable-pairs.go +0 -0
  203. data/lib/guile/2.2/ccache/rnrs/mutable-strings.go +0 -0
  204. data/lib/guile/2.2/ccache/rnrs/programs.go +0 -0
  205. data/lib/guile/2.2/ccache/rnrs/r5rs.go +0 -0
  206. data/lib/guile/2.2/ccache/rnrs/records/inspection.go +0 -0
  207. data/lib/guile/2.2/ccache/rnrs/records/procedural.go +0 -0
  208. data/lib/guile/2.2/ccache/rnrs/records/syntactic.go +0 -0
  209. data/lib/guile/2.2/ccache/rnrs/sorting.go +0 -0
  210. data/lib/guile/2.2/ccache/rnrs/syntax-case.go +0 -0
  211. data/lib/guile/2.2/ccache/rnrs/unicode.go +0 -0
  212. data/lib/guile/2.2/ccache/rnrs.go +0 -0
  213. data/lib/guile/2.2/ccache/scripts/api-diff.go +0 -0
  214. data/lib/guile/2.2/ccache/scripts/autofrisk.go +0 -0
  215. data/lib/guile/2.2/ccache/scripts/compile.go +0 -0
  216. data/lib/guile/2.2/ccache/scripts/disassemble.go +0 -0
  217. data/lib/guile/2.2/ccache/scripts/display-commentary.go +0 -0
  218. data/lib/guile/2.2/ccache/scripts/doc-snarf.go +0 -0
  219. data/lib/guile/2.2/ccache/scripts/frisk.go +0 -0
  220. data/lib/guile/2.2/ccache/scripts/generate-autoload.go +0 -0
  221. data/lib/guile/2.2/ccache/scripts/help.go +0 -0
  222. data/lib/guile/2.2/ccache/scripts/lint.go +0 -0
  223. data/lib/guile/2.2/ccache/scripts/list.go +0 -0
  224. data/lib/guile/2.2/ccache/scripts/punify.go +0 -0
  225. data/lib/guile/2.2/ccache/scripts/read-rfc822.go +0 -0
  226. data/lib/guile/2.2/ccache/scripts/read-scheme-source.go +0 -0
  227. data/lib/guile/2.2/ccache/scripts/read-text-outline.go +0 -0
  228. data/lib/guile/2.2/ccache/scripts/scan-api.go +0 -0
  229. data/lib/guile/2.2/ccache/scripts/snarf-check-and-output-texi.go +0 -0
  230. data/lib/guile/2.2/ccache/scripts/snarf-guile-m4-docs.go +0 -0
  231. data/lib/guile/2.2/ccache/scripts/summarize-guile-TODO.go +0 -0
  232. data/lib/guile/2.2/ccache/scripts/use2dot.go +0 -0
  233. data/lib/guile/2.2/ccache/srfi/srfi-1.go +0 -0
  234. data/lib/guile/2.2/ccache/srfi/srfi-10.go +0 -0
  235. data/lib/guile/2.2/ccache/srfi/srfi-11.go +0 -0
  236. data/lib/guile/2.2/ccache/srfi/srfi-111.go +0 -0
  237. data/lib/guile/2.2/ccache/srfi/srfi-13.go +0 -0
  238. data/lib/guile/2.2/ccache/srfi/srfi-14.go +0 -0
  239. data/lib/guile/2.2/ccache/srfi/srfi-16.go +0 -0
  240. data/lib/guile/2.2/ccache/srfi/srfi-17.go +0 -0
  241. data/lib/guile/2.2/ccache/srfi/srfi-18.go +0 -0
  242. data/lib/guile/2.2/ccache/srfi/srfi-19.go +0 -0
  243. data/lib/guile/2.2/ccache/srfi/srfi-2.go +0 -0
  244. data/lib/guile/2.2/ccache/srfi/srfi-26.go +0 -0
  245. data/lib/guile/2.2/ccache/srfi/srfi-27.go +0 -0
  246. data/lib/guile/2.2/ccache/srfi/srfi-28.go +0 -0
  247. data/lib/guile/2.2/ccache/srfi/srfi-31.go +0 -0
  248. data/lib/guile/2.2/ccache/srfi/srfi-34.go +0 -0
  249. data/lib/guile/2.2/ccache/srfi/srfi-35.go +0 -0
  250. data/lib/guile/2.2/ccache/srfi/srfi-37.go +0 -0
  251. data/lib/guile/2.2/ccache/srfi/srfi-38.go +0 -0
  252. data/lib/guile/2.2/ccache/srfi/srfi-39.go +0 -0
  253. data/lib/guile/2.2/ccache/srfi/srfi-4/gnu.go +0 -0
  254. data/lib/guile/2.2/ccache/srfi/srfi-4.go +0 -0
  255. data/lib/guile/2.2/ccache/srfi/srfi-41.go +0 -0
  256. data/lib/guile/2.2/ccache/srfi/srfi-42.go +0 -0
  257. data/lib/guile/2.2/ccache/srfi/srfi-43.go +0 -0
  258. data/lib/guile/2.2/ccache/srfi/srfi-45.go +0 -0
  259. data/lib/guile/2.2/ccache/srfi/srfi-6.go +0 -0
  260. data/lib/guile/2.2/ccache/srfi/srfi-60.go +0 -0
  261. data/lib/guile/2.2/ccache/srfi/srfi-64.go +0 -0
  262. data/lib/guile/2.2/ccache/srfi/srfi-67.go +0 -0
  263. data/lib/guile/2.2/ccache/srfi/srfi-69.go +0 -0
  264. data/lib/guile/2.2/ccache/srfi/srfi-71.go +0 -0
  265. data/lib/guile/2.2/ccache/srfi/srfi-8.go +0 -0
  266. data/lib/guile/2.2/ccache/srfi/srfi-88.go +0 -0
  267. data/lib/guile/2.2/ccache/srfi/srfi-9/gnu.go +0 -0
  268. data/lib/guile/2.2/ccache/srfi/srfi-9.go +0 -0
  269. data/lib/guile/2.2/ccache/srfi/srfi-98.go +0 -0
  270. data/lib/guile/2.2/ccache/statprof.go +0 -0
  271. data/lib/guile/2.2/ccache/sxml/apply-templates.go +0 -0
  272. data/lib/guile/2.2/ccache/sxml/fold.go +0 -0
  273. data/lib/guile/2.2/ccache/sxml/match.go +0 -0
  274. data/lib/guile/2.2/ccache/sxml/simple.go +0 -0
  275. data/lib/guile/2.2/ccache/sxml/ssax/input-parse.go +0 -0
  276. data/lib/guile/2.2/ccache/sxml/ssax.go +0 -0
  277. data/lib/guile/2.2/ccache/sxml/transform.go +0 -0
  278. data/lib/guile/2.2/ccache/sxml/xpath.go +0 -0
  279. data/lib/guile/2.2/ccache/system/base/ck.go +0 -0
  280. data/lib/guile/2.2/ccache/system/base/compile.go +0 -0
  281. data/lib/guile/2.2/ccache/system/base/lalr.go +0 -0
  282. data/lib/guile/2.2/ccache/system/base/language.go +0 -0
  283. data/lib/guile/2.2/ccache/system/base/message.go +0 -0
  284. data/lib/guile/2.2/ccache/system/base/pmatch.go +0 -0
  285. data/lib/guile/2.2/ccache/system/base/syntax.go +0 -0
  286. data/lib/guile/2.2/ccache/system/base/target.go +0 -0
  287. data/lib/guile/2.2/ccache/system/base/types.go +0 -0
  288. data/lib/guile/2.2/ccache/system/foreign-object.go +0 -0
  289. data/lib/guile/2.2/ccache/system/foreign.go +0 -0
  290. data/lib/guile/2.2/ccache/system/repl/command.go +0 -0
  291. data/lib/guile/2.2/ccache/system/repl/common.go +0 -0
  292. data/lib/guile/2.2/ccache/system/repl/coop-server.go +0 -0
  293. data/lib/guile/2.2/ccache/system/repl/debug.go +0 -0
  294. data/lib/guile/2.2/ccache/system/repl/error-handling.go +0 -0
  295. data/lib/guile/2.2/ccache/system/repl/repl.go +0 -0
  296. data/lib/guile/2.2/ccache/system/repl/server.go +0 -0
  297. data/lib/guile/2.2/ccache/system/syntax.go +0 -0
  298. data/lib/guile/2.2/ccache/system/vm/assembler.go +0 -0
  299. data/lib/guile/2.2/ccache/system/vm/coverage.go +0 -0
  300. data/lib/guile/2.2/ccache/system/vm/debug.go +0 -0
  301. data/lib/guile/2.2/ccache/system/vm/disassembler.go +0 -0
  302. data/lib/guile/2.2/ccache/system/vm/dwarf.go +0 -0
  303. data/lib/guile/2.2/ccache/system/vm/elf.go +0 -0
  304. data/lib/guile/2.2/ccache/system/vm/frame.go +0 -0
  305. data/lib/guile/2.2/ccache/system/vm/inspect.go +0 -0
  306. data/lib/guile/2.2/ccache/system/vm/linker.go +0 -0
  307. data/lib/guile/2.2/ccache/system/vm/loader.go +0 -0
  308. data/lib/guile/2.2/ccache/system/vm/program.go +0 -0
  309. data/lib/guile/2.2/ccache/system/vm/trace.go +0 -0
  310. data/lib/guile/2.2/ccache/system/vm/trap-state.go +0 -0
  311. data/lib/guile/2.2/ccache/system/vm/traps.go +0 -0
  312. data/lib/guile/2.2/ccache/system/vm/vm.go +0 -0
  313. data/lib/guile/2.2/ccache/system/xref.go +0 -0
  314. data/lib/guile/2.2/ccache/texinfo/docbook.go +0 -0
  315. data/lib/guile/2.2/ccache/texinfo/html.go +0 -0
  316. data/lib/guile/2.2/ccache/texinfo/indexing.go +0 -0
  317. data/lib/guile/2.2/ccache/texinfo/plain-text.go +0 -0
  318. data/lib/guile/2.2/ccache/texinfo/reflection.go +0 -0
  319. data/lib/guile/2.2/ccache/texinfo/serialize.go +0 -0
  320. data/lib/guile/2.2/ccache/texinfo/string-utils.go +0 -0
  321. data/lib/guile/2.2/ccache/texinfo.go +0 -0
  322. data/lib/guile/2.2/ccache/web/client.go +0 -0
  323. data/lib/guile/2.2/ccache/web/http.go +0 -0
  324. data/lib/guile/2.2/ccache/web/request.go +0 -0
  325. data/lib/guile/2.2/ccache/web/response.go +0 -0
  326. data/lib/guile/2.2/ccache/web/server/http.go +0 -0
  327. data/lib/guile/2.2/ccache/web/server.go +0 -0
  328. data/lib/guile/2.2/ccache/web/uri.go +0 -0
  329. data/lib/lilypond/2.24.1/ccache/lily/accreg.go +0 -0
  330. data/lib/lilypond/2.24.1/ccache/lily/auto-beam.go +0 -0
  331. data/lib/lilypond/2.24.1/ccache/lily/autochange.go +0 -0
  332. data/lib/lilypond/2.24.1/ccache/lily/backend-library.go +0 -0
  333. data/lib/lilypond/2.24.1/ccache/lily/bar-line.go +0 -0
  334. data/lib/lilypond/2.24.1/ccache/lily/breath.go +0 -0
  335. data/lib/lilypond/2.24.1/ccache/lily/c++.go +0 -0
  336. data/lib/lilypond/2.24.1/ccache/lily/chord-entry.go +0 -0
  337. data/lib/lilypond/2.24.1/ccache/lily/chord-ignatzek-names.go +0 -0
  338. data/lib/lilypond/2.24.1/ccache/lily/chord-name.go +0 -0
  339. data/lib/lilypond/2.24.1/ccache/lily/clip-region.go +0 -0
  340. data/lib/lilypond/2.24.1/ccache/lily/color.go +0 -0
  341. data/lib/lilypond/2.24.1/ccache/lily/curried-definitions.go +0 -0
  342. data/lib/lilypond/2.24.1/ccache/lily/define-context-properties.go +0 -0
  343. data/lib/lilypond/2.24.1/ccache/lily/define-event-classes.go +0 -0
  344. data/lib/lilypond/2.24.1/ccache/lily/define-grob-interfaces.go +0 -0
  345. data/lib/lilypond/2.24.1/ccache/lily/define-grob-properties.go +0 -0
  346. data/lib/lilypond/2.24.1/ccache/lily/define-grobs.go +0 -0
  347. data/lib/lilypond/2.24.1/ccache/lily/define-markup-commands.go +0 -0
  348. data/lib/lilypond/2.24.1/ccache/lily/define-music-callbacks.go +0 -0
  349. data/lib/lilypond/2.24.1/ccache/lily/define-music-display-methods.go +0 -0
  350. data/lib/lilypond/2.24.1/ccache/lily/define-music-properties.go +0 -0
  351. data/lib/lilypond/2.24.1/ccache/lily/define-music-types.go +0 -0
  352. data/lib/lilypond/2.24.1/ccache/lily/define-note-names.go +0 -0
  353. data/lib/lilypond/2.24.1/ccache/lily/define-stencil-commands.go +0 -0
  354. data/lib/lilypond/2.24.1/ccache/lily/define-woodwind-diagrams.go +0 -0
  355. data/lib/lilypond/2.24.1/ccache/lily/display-lily.go +0 -0
  356. data/lib/lilypond/2.24.1/ccache/lily/display-woodwind-diagrams.go +0 -0
  357. data/lib/lilypond/2.24.1/ccache/lily/file-cache.go +0 -0
  358. data/lib/lilypond/2.24.1/ccache/lily/flag-styles.go +0 -0
  359. data/lib/lilypond/2.24.1/ccache/lily/font-encodings.go +0 -0
  360. data/lib/lilypond/2.24.1/ccache/lily/font.go +0 -0
  361. data/lib/lilypond/2.24.1/ccache/lily/framework-cairo.go +0 -0
  362. data/lib/lilypond/2.24.1/ccache/lily/framework-ps.go +0 -0
  363. data/lib/lilypond/2.24.1/ccache/lily/framework-svg.go +0 -0
  364. data/lib/lilypond/2.24.1/ccache/lily/fret-diagrams.go +0 -0
  365. data/lib/lilypond/2.24.1/ccache/lily/graphviz.go +0 -0
  366. data/lib/lilypond/2.24.1/ccache/lily/harp-pedals.go +0 -0
  367. data/lib/lilypond/2.24.1/ccache/lily/layout-beam.go +0 -0
  368. data/lib/lilypond/2.24.1/ccache/lily/layout-slur.go +0 -0
  369. data/lib/lilypond/2.24.1/ccache/lily/lily-library.go +0 -0
  370. data/lib/lilypond/2.24.1/ccache/lily/lily.go +0 -0
  371. data/lib/lilypond/2.24.1/ccache/lily/ly-syntax-constructors.go +0 -0
  372. data/lib/lilypond/2.24.1/ccache/lily/markup-macros.go +0 -0
  373. data/lib/lilypond/2.24.1/ccache/lily/markup.go +0 -0
  374. data/lib/lilypond/2.24.1/ccache/lily/midi.go +0 -0
  375. data/lib/lilypond/2.24.1/ccache/lily/modal-transforms.go +0 -0
  376. data/lib/lilypond/2.24.1/ccache/lily/music-functions.go +0 -0
  377. data/lib/lilypond/2.24.1/ccache/lily/output-lib.go +0 -0
  378. data/lib/lilypond/2.24.1/ccache/lily/output-ps.go +0 -0
  379. data/lib/lilypond/2.24.1/ccache/lily/output-svg.go +0 -0
  380. data/lib/lilypond/2.24.1/ccache/lily/page.go +0 -0
  381. data/lib/lilypond/2.24.1/ccache/lily/paper-system.go +0 -0
  382. data/lib/lilypond/2.24.1/ccache/lily/paper.go +0 -0
  383. data/lib/lilypond/2.24.1/ccache/lily/parser-clef.go +0 -0
  384. data/lib/lilypond/2.24.1/ccache/lily/parser-ly-from-scheme.go +0 -0
  385. data/lib/lilypond/2.24.1/ccache/lily/part-combiner.go +0 -0
  386. data/lib/lilypond/2.24.1/ccache/lily/predefined-fretboards.go +0 -0
  387. data/lib/lilypond/2.24.1/ccache/lily/ps-to-png.go +0 -0
  388. data/lib/lilypond/2.24.1/ccache/lily/scheme-engravers.go +0 -0
  389. data/lib/lilypond/2.24.1/ccache/lily/scheme-performers.go +0 -0
  390. data/lib/lilypond/2.24.1/ccache/lily/script.go +0 -0
  391. data/lib/lilypond/2.24.1/ccache/lily/skyline.go +0 -0
  392. data/lib/lilypond/2.24.1/ccache/lily/song-util.go +0 -0
  393. data/lib/lilypond/2.24.1/ccache/lily/song.go +0 -0
  394. data/lib/lilypond/2.24.1/ccache/lily/stencil.go +0 -0
  395. data/lib/lilypond/2.24.1/ccache/lily/tablature.go +0 -0
  396. data/lib/lilypond/2.24.1/ccache/lily/time-signature-settings.go +0 -0
  397. data/lib/lilypond/2.24.1/ccache/lily/time-signature.go +0 -0
  398. data/lib/lilypond/2.24.1/ccache/lily/titling.go +0 -0
  399. data/lib/lilypond/2.24.1/ccache/lily/to-xml.go +0 -0
  400. data/lib/lilypond/2.24.1/ccache/lily/translation-functions.go +0 -0
  401. data/share/emacs/site-lisp/lilypond-font-lock.el +208 -0
  402. data/share/emacs/site-lisp/lilypond-indent.el +605 -0
  403. data/share/emacs/site-lisp/lilypond-init.el +21 -0
  404. data/share/emacs/site-lisp/lilypond-mode.el +1204 -0
  405. data/share/emacs/site-lisp/lilypond-song.el +556 -0
  406. data/share/emacs/site-lisp/lilypond-what-beat.el +279 -0
  407. data/share/emacs/site-lisp/lilypond-words.el +1428 -0
  408. data/share/guile/2.2/guile-procedures.txt +8860 -0
  409. data/share/guile/2.2/ice-9/and-let-star.scm +73 -0
  410. data/share/guile/2.2/ice-9/arrays.scm +70 -0
  411. data/share/guile/2.2/ice-9/atomic.scm +38 -0
  412. data/share/guile/2.2/ice-9/binary-ports.scm +53 -0
  413. data/share/guile/2.2/ice-9/boot-9.scm +4131 -0
  414. data/share/guile/2.2/ice-9/buffered-input.scm +109 -0
  415. data/share/guile/2.2/ice-9/calling.scm +326 -0
  416. data/share/guile/2.2/ice-9/channel.scm +170 -0
  417. data/share/guile/2.2/ice-9/command-line.scm +477 -0
  418. data/share/guile/2.2/ice-9/common-list.scm +278 -0
  419. data/share/guile/2.2/ice-9/control.scm +110 -0
  420. data/share/guile/2.2/ice-9/curried-definitions.scm +57 -0
  421. data/share/guile/2.2/ice-9/debug.scm +25 -0
  422. data/share/guile/2.2/ice-9/deprecated.scm +93 -0
  423. data/share/guile/2.2/ice-9/documentation.scm +203 -0
  424. data/share/guile/2.2/ice-9/eval-string.scm +90 -0
  425. data/share/guile/2.2/ice-9/eval.scm +723 -0
  426. data/share/guile/2.2/ice-9/expect.scm +171 -0
  427. data/share/guile/2.2/ice-9/fdes-finalizers.scm +25 -0
  428. data/share/guile/2.2/ice-9/format.scm +1626 -0
  429. data/share/guile/2.2/ice-9/ftw.scm +564 -0
  430. data/share/guile/2.2/ice-9/futures.scm +308 -0
  431. data/share/guile/2.2/ice-9/gap-buffer.scm +283 -0
  432. data/share/guile/2.2/ice-9/getopt-long.scm +371 -0
  433. data/share/guile/2.2/ice-9/hash-table.scm +45 -0
  434. data/share/guile/2.2/ice-9/hcons.scm +80 -0
  435. data/share/guile/2.2/ice-9/history.scm +65 -0
  436. data/share/guile/2.2/ice-9/i18n.scm +531 -0
  437. data/share/guile/2.2/ice-9/iconv.scm +95 -0
  438. data/share/guile/2.2/ice-9/lineio.scm +115 -0
  439. data/share/guile/2.2/ice-9/list.scm +36 -0
  440. data/share/guile/2.2/ice-9/local-eval.scm +261 -0
  441. data/share/guile/2.2/ice-9/ls.scm +94 -0
  442. data/share/guile/2.2/ice-9/mapping.scm +118 -0
  443. data/share/guile/2.2/ice-9/match.scm +59 -0
  444. data/share/guile/2.2/ice-9/match.upstream.scm +917 -0
  445. data/share/guile/2.2/ice-9/networking.scm +94 -0
  446. data/share/guile/2.2/ice-9/null.scm +34 -0
  447. data/share/guile/2.2/ice-9/occam-channel.scm +261 -0
  448. data/share/guile/2.2/ice-9/optargs.scm +381 -0
  449. data/share/guile/2.2/ice-9/peg/cache.scm +45 -0
  450. data/share/guile/2.2/ice-9/peg/codegen.scm +359 -0
  451. data/share/guile/2.2/ice-9/peg/simplify-tree.scm +97 -0
  452. data/share/guile/2.2/ice-9/peg/string-peg.scm +273 -0
  453. data/share/guile/2.2/ice-9/peg/using-parsers.scm +116 -0
  454. data/share/guile/2.2/ice-9/peg.scm +42 -0
  455. data/share/guile/2.2/ice-9/poe.scm +116 -0
  456. data/share/guile/2.2/ice-9/poll.scm +172 -0
  457. data/share/guile/2.2/ice-9/popen.scm +178 -0
  458. data/share/guile/2.2/ice-9/ports.scm +566 -0
  459. data/share/guile/2.2/ice-9/posix.scm +75 -0
  460. data/share/guile/2.2/ice-9/pretty-print.scm +483 -0
  461. data/share/guile/2.2/ice-9/psyntax-pp.scm +3542 -0
  462. data/share/guile/2.2/ice-9/psyntax.scm +3326 -0
  463. data/share/guile/2.2/ice-9/q.scm +153 -0
  464. data/share/guile/2.2/ice-9/quasisyntax.scm +136 -0
  465. data/share/guile/2.2/ice-9/r5rs.scm +45 -0
  466. data/share/guile/2.2/ice-9/r6rs-libraries.scm +242 -0
  467. data/share/guile/2.2/ice-9/rdelim.scm +208 -0
  468. data/share/guile/2.2/ice-9/receive.scm +26 -0
  469. data/share/guile/2.2/ice-9/regex.scm +229 -0
  470. data/share/guile/2.2/ice-9/runq.scm +241 -0
  471. data/share/guile/2.2/ice-9/rw.scm +27 -0
  472. data/share/guile/2.2/ice-9/safe-r5rs.scm +145 -0
  473. data/share/guile/2.2/ice-9/safe.scm +34 -0
  474. data/share/guile/2.2/ice-9/sandbox.scm +1399 -0
  475. data/share/guile/2.2/ice-9/save-stack.scm +58 -0
  476. data/share/guile/2.2/ice-9/scm-style-repl.scm +279 -0
  477. data/share/guile/2.2/ice-9/serialize.scm +114 -0
  478. data/share/guile/2.2/ice-9/session.scm +530 -0
  479. data/share/guile/2.2/ice-9/slib.scm +33 -0
  480. data/share/guile/2.2/ice-9/stack-catch.scm +47 -0
  481. data/share/guile/2.2/ice-9/streams.scm +168 -0
  482. data/share/guile/2.2/ice-9/string-fun.scm +280 -0
  483. data/share/guile/2.2/ice-9/suspendable-ports.scm +788 -0
  484. data/share/guile/2.2/ice-9/syncase.scm +37 -0
  485. data/share/guile/2.2/ice-9/textual-ports.scm +70 -0
  486. data/share/guile/2.2/ice-9/threads.scm +392 -0
  487. data/share/guile/2.2/ice-9/time.scm +58 -0
  488. data/share/guile/2.2/ice-9/top-repl.scm +78 -0
  489. data/share/guile/2.2/ice-9/unicode.scm +26 -0
  490. data/share/guile/2.2/ice-9/vlist.scm +595 -0
  491. data/share/guile/2.2/ice-9/weak-vector.scm +31 -0
  492. data/share/guile/2.2/language/brainfuck/compile-scheme.scm +123 -0
  493. data/share/guile/2.2/language/brainfuck/compile-tree-il.scm +184 -0
  494. data/share/guile/2.2/language/brainfuck/parse.scm +95 -0
  495. data/share/guile/2.2/language/brainfuck/spec.scm +43 -0
  496. data/share/guile/2.2/language/bytecode/spec.scm +42 -0
  497. data/share/guile/2.2/language/bytecode.scm +104 -0
  498. data/share/guile/2.2/language/cps/closure-conversion.scm +848 -0
  499. data/share/guile/2.2/language/cps/compile-bytecode.scm +610 -0
  500. data/share/guile/2.2/language/cps/constructors.scm +106 -0
  501. data/share/guile/2.2/language/cps/contification.scm +448 -0
  502. data/share/guile/2.2/language/cps/cse.scm +414 -0
  503. data/share/guile/2.2/language/cps/dce.scm +363 -0
  504. data/share/guile/2.2/language/cps/effects-analysis.scm +597 -0
  505. data/share/guile/2.2/language/cps/elide-values.scm +88 -0
  506. data/share/guile/2.2/language/cps/handle-interrupts.scm +69 -0
  507. data/share/guile/2.2/language/cps/intmap.scm +765 -0
  508. data/share/guile/2.2/language/cps/intset.scm +830 -0
  509. data/share/guile/2.2/language/cps/licm.scm +308 -0
  510. data/share/guile/2.2/language/cps/optimize.scm +135 -0
  511. data/share/guile/2.2/language/cps/peel-loops.scm +287 -0
  512. data/share/guile/2.2/language/cps/primitives.scm +141 -0
  513. data/share/guile/2.2/language/cps/prune-bailouts.scm +86 -0
  514. data/share/guile/2.2/language/cps/prune-top-level-scopes.scm +63 -0
  515. data/share/guile/2.2/language/cps/reify-primitives.scm +179 -0
  516. data/share/guile/2.2/language/cps/renumber.scm +217 -0
  517. data/share/guile/2.2/language/cps/rotate-loops.scm +239 -0
  518. data/share/guile/2.2/language/cps/self-references.scm +79 -0
  519. data/share/guile/2.2/language/cps/simplify.scm +274 -0
  520. data/share/guile/2.2/language/cps/slot-allocation.scm +1058 -0
  521. data/share/guile/2.2/language/cps/spec.scm +51 -0
  522. data/share/guile/2.2/language/cps/specialize-numbers.scm +724 -0
  523. data/share/guile/2.2/language/cps/specialize-primcalls.scm +87 -0
  524. data/share/guile/2.2/language/cps/split-rec.scm +174 -0
  525. data/share/guile/2.2/language/cps/type-checks.scm +72 -0
  526. data/share/guile/2.2/language/cps/type-fold.scm +455 -0
  527. data/share/guile/2.2/language/cps/types.scm +1826 -0
  528. data/share/guile/2.2/language/cps/utils.scm +550 -0
  529. data/share/guile/2.2/language/cps/verify.scm +304 -0
  530. data/share/guile/2.2/language/cps/with-cps.scm +145 -0
  531. data/share/guile/2.2/language/cps.scm +358 -0
  532. data/share/guile/2.2/language/ecmascript/array.scm +121 -0
  533. data/share/guile/2.2/language/ecmascript/base.scm +251 -0
  534. data/share/guile/2.2/language/ecmascript/compile-tree-il.scm +576 -0
  535. data/share/guile/2.2/language/ecmascript/function.scm +78 -0
  536. data/share/guile/2.2/language/ecmascript/impl.scm +169 -0
  537. data/share/guile/2.2/language/ecmascript/parse.scm +352 -0
  538. data/share/guile/2.2/language/ecmascript/spec.scm +37 -0
  539. data/share/guile/2.2/language/ecmascript/tokenize.scm +513 -0
  540. data/share/guile/2.2/language/elisp/bindings.scm +107 -0
  541. data/share/guile/2.2/language/elisp/boot.el +617 -0
  542. data/share/guile/2.2/language/elisp/compile-tree-il.scm +812 -0
  543. data/share/guile/2.2/language/elisp/falias.scm +47 -0
  544. data/share/guile/2.2/language/elisp/lexer.scm +430 -0
  545. data/share/guile/2.2/language/elisp/parser.scm +222 -0
  546. data/share/guile/2.2/language/elisp/runtime/function-slot.scm +63 -0
  547. data/share/guile/2.2/language/elisp/runtime/value-slot.scm +24 -0
  548. data/share/guile/2.2/language/elisp/runtime.scm +153 -0
  549. data/share/guile/2.2/language/elisp/spec.scm +43 -0
  550. data/share/guile/2.2/language/scheme/compile-tree-il.scm +33 -0
  551. data/share/guile/2.2/language/scheme/decompile-tree-il.scm +796 -0
  552. data/share/guile/2.2/language/scheme/spec.scm +63 -0
  553. data/share/guile/2.2/language/tree-il/analyze.scm +1568 -0
  554. data/share/guile/2.2/language/tree-il/canonicalize.scm +82 -0
  555. data/share/guile/2.2/language/tree-il/compile-cps.scm +1149 -0
  556. data/share/guile/2.2/language/tree-il/debug.scm +246 -0
  557. data/share/guile/2.2/language/tree-il/effects.scm +591 -0
  558. data/share/guile/2.2/language/tree-il/fix-letrec.scm +314 -0
  559. data/share/guile/2.2/language/tree-il/optimize.scm +43 -0
  560. data/share/guile/2.2/language/tree-il/peval.scm +1669 -0
  561. data/share/guile/2.2/language/tree-il/primitives.scm +630 -0
  562. data/share/guile/2.2/language/tree-il/spec.scm +46 -0
  563. data/share/guile/2.2/language/tree-il.scm +630 -0
  564. data/share/guile/2.2/language/value/spec.scm +30 -0
  565. data/share/guile/2.2/oop/goops/accessors.scm +72 -0
  566. data/share/guile/2.2/oop/goops/active-slot.scm +63 -0
  567. data/share/guile/2.2/oop/goops/composite-slot.scm +83 -0
  568. data/share/guile/2.2/oop/goops/describe.scm +189 -0
  569. data/share/guile/2.2/oop/goops/internal.scm +30 -0
  570. data/share/guile/2.2/oop/goops/save.scm +874 -0
  571. data/share/guile/2.2/oop/goops/simple.scm +30 -0
  572. data/share/guile/2.2/oop/goops/stklos.scm +74 -0
  573. data/share/guile/2.2/oop/goops.scm +3176 -0
  574. data/share/guile/2.2/rnrs/arithmetic/bitwise.scm +92 -0
  575. data/share/guile/2.2/rnrs/arithmetic/fixnums.scm +291 -0
  576. data/share/guile/2.2/rnrs/arithmetic/flonums.scm +203 -0
  577. data/share/guile/2.2/rnrs/base.scm +291 -0
  578. data/share/guile/2.2/rnrs/bytevectors.scm +83 -0
  579. data/share/guile/2.2/rnrs/conditions.scm +225 -0
  580. data/share/guile/2.2/rnrs/control.scm +22 -0
  581. data/share/guile/2.2/rnrs/enums.scm +152 -0
  582. data/share/guile/2.2/rnrs/eval.scm +39 -0
  583. data/share/guile/2.2/rnrs/exceptions.scm +276 -0
  584. data/share/guile/2.2/rnrs/files.scm +96 -0
  585. data/share/guile/2.2/rnrs/hashtables.scm +190 -0
  586. data/share/guile/2.2/rnrs/io/ports.scm +554 -0
  587. data/share/guile/2.2/rnrs/io/simple.scm +167 -0
  588. data/share/guile/2.2/rnrs/lists.scm +55 -0
  589. data/share/guile/2.2/rnrs/mutable-pairs.scm +23 -0
  590. data/share/guile/2.2/rnrs/mutable-strings.scm +23 -0
  591. data/share/guile/2.2/rnrs/programs.scm +22 -0
  592. data/share/guile/2.2/rnrs/r5rs.scm +34 -0
  593. data/share/guile/2.2/rnrs/records/inspection.scm +81 -0
  594. data/share/guile/2.2/rnrs/records/procedural.scm +289 -0
  595. data/share/guile/2.2/rnrs/records/syntactic.scm +248 -0
  596. data/share/guile/2.2/rnrs/sorting.scm +27 -0
  597. data/share/guile/2.2/rnrs/syntax-case.scm +68 -0
  598. data/share/guile/2.2/rnrs/unicode.scm +104 -0
  599. data/share/guile/2.2/rnrs.scm +289 -0
  600. data/share/guile/2.2/scripts/api-diff.scm +179 -0
  601. data/share/guile/2.2/scripts/autofrisk.scm +218 -0
  602. data/share/guile/2.2/scripts/compile.scm +273 -0
  603. data/share/guile/2.2/scripts/disassemble.scm +38 -0
  604. data/share/guile/2.2/scripts/display-commentary.scm +67 -0
  605. data/share/guile/2.2/scripts/doc-snarf.scm +439 -0
  606. data/share/guile/2.2/scripts/frisk.scm +290 -0
  607. data/share/guile/2.2/scripts/generate-autoload.scm +144 -0
  608. data/share/guile/2.2/scripts/help.scm +188 -0
  609. data/share/guile/2.2/scripts/lint.scm +318 -0
  610. data/share/guile/2.2/scripts/list.scm +91 -0
  611. data/share/guile/2.2/scripts/punify.scm +87 -0
  612. data/share/guile/2.2/scripts/read-rfc822.scm +131 -0
  613. data/share/guile/2.2/scripts/read-scheme-source.scm +282 -0
  614. data/share/guile/2.2/scripts/read-text-outline.scm +253 -0
  615. data/share/guile/2.2/scripts/scan-api.scm +223 -0
  616. data/share/guile/2.2/scripts/snarf-check-and-output-texi.scm +303 -0
  617. data/share/guile/2.2/scripts/snarf-guile-m4-docs.scm +86 -0
  618. data/share/guile/2.2/scripts/summarize-guile-TODO.scm +213 -0
  619. data/share/guile/2.2/scripts/use2dot.scm +110 -0
  620. data/share/guile/2.2/srfi/srfi-1.scm +1061 -0
  621. data/share/guile/2.2/srfi/srfi-10.scm +89 -0
  622. data/share/guile/2.2/srfi/srfi-11.scm +146 -0
  623. data/share/guile/2.2/srfi/srfi-111.scm +37 -0
  624. data/share/guile/2.2/srfi/srfi-13.scm +132 -0
  625. data/share/guile/2.2/srfi/srfi-14.scm +99 -0
  626. data/share/guile/2.2/srfi/srfi-16.scm +51 -0
  627. data/share/guile/2.2/srfi/srfi-17.scm +174 -0
  628. data/share/guile/2.2/srfi/srfi-18.scm +382 -0
  629. data/share/guile/2.2/srfi/srfi-19.scm +1470 -0
  630. data/share/guile/2.2/srfi/srfi-2.scm +31 -0
  631. data/share/guile/2.2/srfi/srfi-26.scm +66 -0
  632. data/share/guile/2.2/srfi/srfi-27.scm +96 -0
  633. data/share/guile/2.2/srfi/srfi-28.scm +34 -0
  634. data/share/guile/2.2/srfi/srfi-31.scm +35 -0
  635. data/share/guile/2.2/srfi/srfi-34.scm +84 -0
  636. data/share/guile/2.2/srfi/srfi-35.scm +351 -0
  637. data/share/guile/2.2/srfi/srfi-37.scm +234 -0
  638. data/share/guile/2.2/srfi/srfi-38.scm +207 -0
  639. data/share/guile/2.2/srfi/srfi-39.scm +55 -0
  640. data/share/guile/2.2/srfi/srfi-4/gnu.scm +80 -0
  641. data/share/guile/2.2/srfi/srfi-4.scm +118 -0
  642. data/share/guile/2.2/srfi/srfi-41.scm +505 -0
  643. data/share/guile/2.2/srfi/srfi-42/ec.scm +1053 -0
  644. data/share/guile/2.2/srfi/srfi-42.scm +66 -0
  645. data/share/guile/2.2/srfi/srfi-43.scm +1077 -0
  646. data/share/guile/2.2/srfi/srfi-45.scm +93 -0
  647. data/share/guile/2.2/srfi/srfi-6.scm +29 -0
  648. data/share/guile/2.2/srfi/srfi-60.scm +73 -0
  649. data/share/guile/2.2/srfi/srfi-64/testing.scm +1040 -0
  650. data/share/guile/2.2/srfi/srfi-64.scm +55 -0
  651. data/share/guile/2.2/srfi/srfi-67/compare.scm +686 -0
  652. data/share/guile/2.2/srfi/srfi-67.scm +88 -0
  653. data/share/guile/2.2/srfi/srfi-69.scm +336 -0
  654. data/share/guile/2.2/srfi/srfi-71.scm +267 -0
  655. data/share/guile/2.2/srfi/srfi-8.scm +31 -0
  656. data/share/guile/2.2/srfi/srfi-88.scm +53 -0
  657. data/share/guile/2.2/srfi/srfi-9/gnu.scm +168 -0
  658. data/share/guile/2.2/srfi/srfi-9.scm +351 -0
  659. data/share/guile/2.2/srfi/srfi-98.scm +44 -0
  660. data/share/guile/2.2/statprof.scm +988 -0
  661. data/share/guile/2.2/sxml/apply-templates.scm +102 -0
  662. data/share/guile/2.2/sxml/fold.scm +250 -0
  663. data/share/guile/2.2/sxml/match.scm +75 -0
  664. data/share/guile/2.2/sxml/simple.scm +408 -0
  665. data/share/guile/2.2/sxml/ssax/input-parse.scm +180 -0
  666. data/share/guile/2.2/sxml/ssax.scm +265 -0
  667. data/share/guile/2.2/sxml/sxml-match.ss +1181 -0
  668. data/share/guile/2.2/sxml/transform.scm +298 -0
  669. data/share/guile/2.2/sxml/upstream/SSAX.scm +3235 -0
  670. data/share/guile/2.2/sxml/upstream/SXML-tree-trans.scm +249 -0
  671. data/share/guile/2.2/sxml/upstream/SXPath-old.scm +1216 -0
  672. data/share/guile/2.2/sxml/upstream/assert.scm +35 -0
  673. data/share/guile/2.2/sxml/upstream/input-parse.scm +326 -0
  674. data/share/guile/2.2/sxml/xpath.scm +493 -0
  675. data/share/guile/2.2/system/base/ck.scm +55 -0
  676. data/share/guile/2.2/system/base/compile.scm +282 -0
  677. data/share/guile/2.2/system/base/lalr.scm +51 -0
  678. data/share/guile/2.2/system/base/lalr.upstream.scm +2096 -0
  679. data/share/guile/2.2/system/base/language.scm +119 -0
  680. data/share/guile/2.2/system/base/message.scm +238 -0
  681. data/share/guile/2.2/system/base/pmatch.scm +68 -0
  682. data/share/guile/2.2/system/base/syntax.scm +299 -0
  683. data/share/guile/2.2/system/base/target.scm +152 -0
  684. data/share/guile/2.2/system/base/types.scm +561 -0
  685. data/share/guile/2.2/system/foreign-object.scm +91 -0
  686. data/share/guile/2.2/system/foreign.scm +200 -0
  687. data/share/guile/2.2/system/repl/command.scm +946 -0
  688. data/share/guile/2.2/system/repl/common.scm +263 -0
  689. data/share/guile/2.2/system/repl/coop-server.scm +200 -0
  690. data/share/guile/2.2/system/repl/debug.scm +210 -0
  691. data/share/guile/2.2/system/repl/describe.scm +347 -0
  692. data/share/guile/2.2/system/repl/error-handling.scm +183 -0
  693. data/share/guile/2.2/system/repl/repl.scm +233 -0
  694. data/share/guile/2.2/system/repl/server.scm +332 -0
  695. data/share/guile/2.2/system/syntax.scm +33 -0
  696. data/share/guile/2.2/system/vm/assembler.scm +2614 -0
  697. data/share/guile/2.2/system/vm/coverage.scm +351 -0
  698. data/share/guile/2.2/system/vm/debug.scm +766 -0
  699. data/share/guile/2.2/system/vm/disassembler.scm +658 -0
  700. data/share/guile/2.2/system/vm/dwarf.scm +1852 -0
  701. data/share/guile/2.2/system/vm/elf.scm +1042 -0
  702. data/share/guile/2.2/system/vm/frame.scm +485 -0
  703. data/share/guile/2.2/system/vm/inspect.scm +188 -0
  704. data/share/guile/2.2/system/vm/linker.scm +732 -0
  705. data/share/guile/2.2/system/vm/loader.scm +27 -0
  706. data/share/guile/2.2/system/vm/program.scm +312 -0
  707. data/share/guile/2.2/system/vm/trace.scm +121 -0
  708. data/share/guile/2.2/system/vm/trap-state.scm +302 -0
  709. data/share/guile/2.2/system/vm/traps.scm +608 -0
  710. data/share/guile/2.2/system/vm/vm.scm +32 -0
  711. data/share/guile/2.2/system/xref.scm +369 -0
  712. data/share/guile/2.2/texinfo/docbook.scm +240 -0
  713. data/share/guile/2.2/texinfo/html.scm +279 -0
  714. data/share/guile/2.2/texinfo/indexing.scm +75 -0
  715. data/share/guile/2.2/texinfo/plain-text.scm +322 -0
  716. data/share/guile/2.2/texinfo/reflection.scm +585 -0
  717. data/share/guile/2.2/texinfo/serialize.scm +300 -0
  718. data/share/guile/2.2/texinfo/string-utils.scm +410 -0
  719. data/share/guile/2.2/texinfo.scm +1263 -0
  720. data/share/guile/2.2/web/client.scm +513 -0
  721. data/share/guile/2.2/web/http.scm +2043 -0
  722. data/share/guile/2.2/web/request.scm +326 -0
  723. data/share/guile/2.2/web/response.scm +379 -0
  724. data/share/guile/2.2/web/server/http.scm +183 -0
  725. data/share/guile/2.2/web/server.scm +397 -0
  726. data/share/guile/2.2/web/uri.scm +552 -0
  727. data/share/lilypond/2.24.1/fontconfig/0bd3dc0958fa2205aaaa8ebb13e2872b-le64.cache-8 +0 -0
  728. data/share/lilypond/2.24.1/fontconfig/188ac73a183f12857f63bb60a4a6d603-le64.cache-8 +0 -0
  729. data/share/lilypond/2.24.1/fontconfig/32b6488e5b8292a2e95c79d947e009e8-le64.cache-8 +0 -0
  730. data/share/lilypond/2.24.1/fontconfig/3830d5c3ddfd5cd38a049b759396e72e-le64.cache-8 +0 -0
  731. data/share/lilypond/2.24.1/fontconfig/3f7329c5293ffd510edef78f73874cfd-le64.cache-8 +0 -0
  732. data/share/lilypond/2.24.1/fontconfig/4c599c202bc5c08e2d34565a40eac3b2-le64.cache-8 +0 -0
  733. data/share/lilypond/2.24.1/fontconfig/57e423e26b20ab21d0f2f29c145174c3-le64.cache-8 +0 -0
  734. data/share/lilypond/2.24.1/fontconfig/7ef2298fde41cc6eeb7af42e48b7d293-le64.cache-8 +0 -0
  735. data/share/lilypond/2.24.1/fontconfig/826f6b6ef79022e2eac8af26bf4b62f2-le64.cache-8 +0 -0
  736. data/share/lilypond/2.24.1/fontconfig/945677eb7aeaf62f1d50efc3fb3ec7d8-le64.cache-8 +0 -0
  737. data/share/lilypond/2.24.1/fontconfig/95530828ff6c81d309f8258d8d02a23e-le64.cache-8 +0 -0
  738. data/share/lilypond/2.24.1/fontconfig/CACHEDIR.TAG +4 -0
  739. data/share/lilypond/2.24.1/fontconfig/bf3b770c553c462765856025a94f1ce6-le64.cache-8 +0 -0
  740. data/share/lilypond/2.24.1/fontconfig/c855463f699352c367813e37f3f70ea7-le64.cache-8 +0 -0
  741. data/share/lilypond/2.24.1/fontconfig/d3e5c4ee2ceb1fc347f91d4cefc53bc0-le64.cache-8 +0 -0
  742. data/share/lilypond/2.24.1/fontconfig/d589a48862398ed80a3d6066f4f56f4c-le64.cache-8 +0 -0
  743. data/share/lilypond/2.24.1/fontconfig/d82eb4fd963d448e2fcb7d7b793b5df3-le64.cache-8 +0 -0
  744. data/share/lilypond/2.24.1/fontconfig/e13b20fdb08344e0e664864cc2ede53d-le64.cache-8 +0 -0
  745. data/share/lilypond/2.24.1/fontconfig/e52a45a1c8c8fe895fc0fc8c4e6999b8-le64.cache-8 +0 -0
  746. data/share/lilypond/2.24.1/fontconfig/f1f2465696798768e9653f19e17ccdc8-le64.cache-8 +0 -0
  747. data/share/lilypond/2.24.1/fonts/00-lilypond-fonts.conf +99 -0
  748. data/share/lilypond/2.24.1/fonts/99-lilypond-fonts.conf +28 -0
  749. data/share/lilypond/2.24.1/fonts/otf/C059-BdIta.otf +0 -0
  750. data/share/lilypond/2.24.1/fonts/otf/C059-Bold.otf +0 -0
  751. data/share/lilypond/2.24.1/fonts/otf/C059-Italic.otf +0 -0
  752. data/share/lilypond/2.24.1/fonts/otf/C059-Roman.otf +0 -0
  753. data/share/lilypond/2.24.1/fonts/otf/NimbusMonoPS-Bold.otf +0 -0
  754. data/share/lilypond/2.24.1/fonts/otf/NimbusMonoPS-BoldItalic.otf +0 -0
  755. data/share/lilypond/2.24.1/fonts/otf/NimbusMonoPS-Italic.otf +0 -0
  756. data/share/lilypond/2.24.1/fonts/otf/NimbusMonoPS-Regular.otf +0 -0
  757. data/share/lilypond/2.24.1/fonts/otf/NimbusSans-Bold.otf +0 -0
  758. data/share/lilypond/2.24.1/fonts/otf/NimbusSans-BoldItalic.otf +0 -0
  759. data/share/lilypond/2.24.1/fonts/otf/NimbusSans-Italic.otf +0 -0
  760. data/share/lilypond/2.24.1/fonts/otf/NimbusSans-Regular.otf +0 -0
  761. data/share/lilypond/2.24.1/fonts/otf/emmentaler-11.otf +0 -0
  762. data/share/lilypond/2.24.1/fonts/otf/emmentaler-13.otf +0 -0
  763. data/share/lilypond/2.24.1/fonts/otf/emmentaler-14.otf +0 -0
  764. data/share/lilypond/2.24.1/fonts/otf/emmentaler-16.otf +0 -0
  765. data/share/lilypond/2.24.1/fonts/otf/emmentaler-18.otf +0 -0
  766. data/share/lilypond/2.24.1/fonts/otf/emmentaler-20.otf +0 -0
  767. data/share/lilypond/2.24.1/fonts/otf/emmentaler-23.otf +0 -0
  768. data/share/lilypond/2.24.1/fonts/otf/emmentaler-26.otf +0 -0
  769. data/share/lilypond/2.24.1/fonts/otf/emmentaler-brace.otf +0 -0
  770. data/share/lilypond/2.24.1/fonts/otf/texgyrecursor-bold.otf +0 -0
  771. data/share/lilypond/2.24.1/fonts/otf/texgyrecursor-bolditalic.otf +0 -0
  772. data/share/lilypond/2.24.1/fonts/otf/texgyrecursor-italic.otf +0 -0
  773. data/share/lilypond/2.24.1/fonts/otf/texgyrecursor-regular.otf +0 -0
  774. data/share/lilypond/2.24.1/fonts/otf/texgyreheros-bold.otf +0 -0
  775. data/share/lilypond/2.24.1/fonts/otf/texgyreheros-bolditalic.otf +0 -0
  776. data/share/lilypond/2.24.1/fonts/otf/texgyreheros-italic.otf +0 -0
  777. data/share/lilypond/2.24.1/fonts/otf/texgyreheros-regular.otf +0 -0
  778. data/share/lilypond/2.24.1/fonts/otf/texgyreschola-bold.otf +0 -0
  779. data/share/lilypond/2.24.1/fonts/otf/texgyreschola-bolditalic.otf +0 -0
  780. data/share/lilypond/2.24.1/fonts/otf/texgyreschola-italic.otf +0 -0
  781. data/share/lilypond/2.24.1/fonts/otf/texgyreschola-regular.otf +0 -0
  782. data/share/lilypond/2.24.1/fonts/source/common-modules-and-initialization.mf +26 -0
  783. data/share/lilypond/2.24.1/fonts/source/debugging-settings.mf +14 -0
  784. data/share/lilypond/2.24.1/fonts/source/declare-autometric-parameters.mf +9 -0
  785. data/share/lilypond/2.24.1/fonts/source/feta-accidentals.mf +58 -0
  786. data/share/lilypond/2.24.1/fonts/source/feta-accordion.mf +575 -0
  787. data/share/lilypond/2.24.1/fonts/source/feta-alphabet-generic.mf +16 -0
  788. data/share/lilypond/2.24.1/fonts/source/feta-alphabet11.mf +6 -0
  789. data/share/lilypond/2.24.1/fonts/source/feta-alphabet13.mf +6 -0
  790. data/share/lilypond/2.24.1/fonts/source/feta-alphabet14.mf +6 -0
  791. data/share/lilypond/2.24.1/fonts/source/feta-alphabet16.mf +6 -0
  792. data/share/lilypond/2.24.1/fonts/source/feta-alphabet18.mf +6 -0
  793. data/share/lilypond/2.24.1/fonts/source/feta-alphabet20.mf +6 -0
  794. data/share/lilypond/2.24.1/fonts/source/feta-alphabet23.mf +6 -0
  795. data/share/lilypond/2.24.1/fonts/source/feta-alphabet26.mf +6 -0
  796. data/share/lilypond/2.24.1/fonts/source/feta-arrow.mf +114 -0
  797. data/share/lilypond/2.24.1/fonts/source/feta-arrowheads.mf +171 -0
  798. data/share/lilypond/2.24.1/fonts/source/feta-autometric.mf +303 -0
  799. data/share/lilypond/2.24.1/fonts/source/feta-braces-a.mf +6 -0
  800. data/share/lilypond/2.24.1/fonts/source/feta-braces-b.mf +6 -0
  801. data/share/lilypond/2.24.1/fonts/source/feta-braces-c.mf +6 -0
  802. data/share/lilypond/2.24.1/fonts/source/feta-braces-d.mf +6 -0
  803. data/share/lilypond/2.24.1/fonts/source/feta-braces-e.mf +6 -0
  804. data/share/lilypond/2.24.1/fonts/source/feta-braces-f.mf +6 -0
  805. data/share/lilypond/2.24.1/fonts/source/feta-braces-g.mf +6 -0
  806. data/share/lilypond/2.24.1/fonts/source/feta-braces-generic.mf +47 -0
  807. data/share/lilypond/2.24.1/fonts/source/feta-braces-h.mf +6 -0
  808. data/share/lilypond/2.24.1/fonts/source/feta-braces-i.mf +6 -0
  809. data/share/lilypond/2.24.1/fonts/source/feta-braces.mf +125 -0
  810. data/share/lilypond/2.24.1/fonts/source/feta-brackettips.mf +100 -0
  811. data/share/lilypond/2.24.1/fonts/source/feta-clefs.mf +963 -0
  812. data/share/lilypond/2.24.1/fonts/source/feta-dots.mf +37 -0
  813. data/share/lilypond/2.24.1/fonts/source/feta-dynamics.mf +891 -0
  814. data/share/lilypond/2.24.1/fonts/source/feta-flags-generic.mf +17 -0
  815. data/share/lilypond/2.24.1/fonts/source/feta-flags.mf +926 -0
  816. data/share/lilypond/2.24.1/fonts/source/feta-flags11.mf +6 -0
  817. data/share/lilypond/2.24.1/fonts/source/feta-flags13.mf +6 -0
  818. data/share/lilypond/2.24.1/fonts/source/feta-flags14.mf +6 -0
  819. data/share/lilypond/2.24.1/fonts/source/feta-flags16.mf +6 -0
  820. data/share/lilypond/2.24.1/fonts/source/feta-flags18.mf +6 -0
  821. data/share/lilypond/2.24.1/fonts/source/feta-flags20.mf +6 -0
  822. data/share/lilypond/2.24.1/fonts/source/feta-flags23.mf +6 -0
  823. data/share/lilypond/2.24.1/fonts/source/feta-flags26.mf +6 -0
  824. data/share/lilypond/2.24.1/fonts/source/feta-flats.mf +668 -0
  825. data/share/lilypond/2.24.1/fonts/source/feta-macros.mf +506 -0
  826. data/share/lilypond/2.24.1/fonts/source/feta-naturals.mf +223 -0
  827. data/share/lilypond/2.24.1/fonts/source/feta-noteheads-generic.mf +17 -0
  828. data/share/lilypond/2.24.1/fonts/source/feta-noteheads.mf +2642 -0
  829. data/share/lilypond/2.24.1/fonts/source/feta-noteheads11.mf +6 -0
  830. data/share/lilypond/2.24.1/fonts/source/feta-noteheads13.mf +6 -0
  831. data/share/lilypond/2.24.1/fonts/source/feta-noteheads14.mf +6 -0
  832. data/share/lilypond/2.24.1/fonts/source/feta-noteheads16.mf +6 -0
  833. data/share/lilypond/2.24.1/fonts/source/feta-noteheads18.mf +6 -0
  834. data/share/lilypond/2.24.1/fonts/source/feta-noteheads20.mf +6 -0
  835. data/share/lilypond/2.24.1/fonts/source/feta-noteheads23.mf +6 -0
  836. data/share/lilypond/2.24.1/fonts/source/feta-noteheads26.mf +6 -0
  837. data/share/lilypond/2.24.1/fonts/source/feta-numbers.mf +1677 -0
  838. data/share/lilypond/2.24.1/fonts/source/feta-other-generic.mf +27 -0
  839. data/share/lilypond/2.24.1/fonts/source/feta-params.mf +323 -0
  840. data/share/lilypond/2.24.1/fonts/source/feta-parenthesis.mf +63 -0
  841. data/share/lilypond/2.24.1/fonts/source/feta-pedals.mf +355 -0
  842. data/share/lilypond/2.24.1/fonts/source/feta-rests.mf +890 -0
  843. data/share/lilypond/2.24.1/fonts/source/feta-scripts.mf +2206 -0
  844. data/share/lilypond/2.24.1/fonts/source/feta-sharps.mf +524 -0
  845. data/share/lilypond/2.24.1/fonts/source/feta-sori-koron.mf +325 -0
  846. data/share/lilypond/2.24.1/fonts/source/feta-ties.mf +72 -0
  847. data/share/lilypond/2.24.1/fonts/source/feta-timesignatures.mf +119 -0
  848. data/share/lilypond/2.24.1/fonts/source/feta-trills.mf +321 -0
  849. data/share/lilypond/2.24.1/fonts/source/feta11.mf +6 -0
  850. data/share/lilypond/2.24.1/fonts/source/feta13.mf +6 -0
  851. data/share/lilypond/2.24.1/fonts/source/feta14.mf +6 -0
  852. data/share/lilypond/2.24.1/fonts/source/feta16.mf +6 -0
  853. data/share/lilypond/2.24.1/fonts/source/feta18.mf +6 -0
  854. data/share/lilypond/2.24.1/fonts/source/feta20.mf +7 -0
  855. data/share/lilypond/2.24.1/fonts/source/feta23.mf +6 -0
  856. data/share/lilypond/2.24.1/fonts/source/feta26.mf +6 -0
  857. data/share/lilypond/2.24.1/fonts/source/parmesan-accidentals.mf +483 -0
  858. data/share/lilypond/2.24.1/fonts/source/parmesan-clefs.mf +1636 -0
  859. data/share/lilypond/2.24.1/fonts/source/parmesan-custodes.mf +503 -0
  860. data/share/lilypond/2.24.1/fonts/source/parmesan-dots.mf +62 -0
  861. data/share/lilypond/2.24.1/fonts/source/parmesan-flags.mf +319 -0
  862. data/share/lilypond/2.24.1/fonts/source/parmesan-macros.mf +225 -0
  863. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads-generic.mf +16 -0
  864. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads.mf +2191 -0
  865. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads11.mf +6 -0
  866. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads13.mf +6 -0
  867. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads14.mf +6 -0
  868. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads16.mf +6 -0
  869. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads18.mf +6 -0
  870. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads20.mf +6 -0
  871. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads23.mf +6 -0
  872. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads26.mf +6 -0
  873. data/share/lilypond/2.24.1/fonts/source/parmesan-other-generic.mf +24 -0
  874. data/share/lilypond/2.24.1/fonts/source/parmesan-rests.mf +428 -0
  875. data/share/lilypond/2.24.1/fonts/source/parmesan-scripts.mf +284 -0
  876. data/share/lilypond/2.24.1/fonts/source/parmesan-timesignatures.mf +402 -0
  877. data/share/lilypond/2.24.1/fonts/source/parmesan11.mf +6 -0
  878. data/share/lilypond/2.24.1/fonts/source/parmesan13.mf +6 -0
  879. data/share/lilypond/2.24.1/fonts/source/parmesan14.mf +6 -0
  880. data/share/lilypond/2.24.1/fonts/source/parmesan16.mf +6 -0
  881. data/share/lilypond/2.24.1/fonts/source/parmesan18.mf +6 -0
  882. data/share/lilypond/2.24.1/fonts/source/parmesan20.mf +6 -0
  883. data/share/lilypond/2.24.1/fonts/source/parmesan23.mf +6 -0
  884. data/share/lilypond/2.24.1/fonts/source/parmesan26.mf +6 -0
  885. data/share/lilypond/2.24.1/fonts/svg/emmentaler-11.svg +2525 -0
  886. data/share/lilypond/2.24.1/fonts/svg/emmentaler-11.woff +0 -0
  887. data/share/lilypond/2.24.1/fonts/svg/emmentaler-13.svg +2530 -0
  888. data/share/lilypond/2.24.1/fonts/svg/emmentaler-13.woff +0 -0
  889. data/share/lilypond/2.24.1/fonts/svg/emmentaler-14.svg +2526 -0
  890. data/share/lilypond/2.24.1/fonts/svg/emmentaler-14.woff +0 -0
  891. data/share/lilypond/2.24.1/fonts/svg/emmentaler-16.svg +2523 -0
  892. data/share/lilypond/2.24.1/fonts/svg/emmentaler-16.woff +0 -0
  893. data/share/lilypond/2.24.1/fonts/svg/emmentaler-18.svg +2519 -0
  894. data/share/lilypond/2.24.1/fonts/svg/emmentaler-18.woff +0 -0
  895. data/share/lilypond/2.24.1/fonts/svg/emmentaler-20.svg +2512 -0
  896. data/share/lilypond/2.24.1/fonts/svg/emmentaler-20.woff +0 -0
  897. data/share/lilypond/2.24.1/fonts/svg/emmentaler-23.svg +2506 -0
  898. data/share/lilypond/2.24.1/fonts/svg/emmentaler-23.woff +0 -0
  899. data/share/lilypond/2.24.1/fonts/svg/emmentaler-26.svg +2510 -0
  900. data/share/lilypond/2.24.1/fonts/svg/emmentaler-26.woff +0 -0
  901. data/share/lilypond/2.24.1/fonts/svg/emmentaler-brace.svg +1757 -0
  902. data/share/lilypond/2.24.1/fonts/svg/emmentaler-brace.woff +0 -0
  903. data/share/lilypond/2.24.1/ly/Welcome_to_LilyPond.ly +45 -0
  904. data/share/lilypond/2.24.1/ly/arabic.ly +185 -0
  905. data/share/lilypond/2.24.1/ly/articulate.ly +1013 -0
  906. data/share/lilypond/2.24.1/ly/bagpipe.ly +368 -0
  907. data/share/lilypond/2.24.1/ly/base-tkit.ly +135 -0
  908. data/share/lilypond/2.24.1/ly/catalan.ly +23 -0
  909. data/share/lilypond/2.24.1/ly/chord-modifiers-init.ly +63 -0
  910. data/share/lilypond/2.24.1/ly/chord-repetition-init.ly +60 -0
  911. data/share/lilypond/2.24.1/ly/context-mods-init.ly +119 -0
  912. data/share/lilypond/2.24.1/ly/declarations-init.ly +167 -0
  913. data/share/lilypond/2.24.1/ly/deutsch.ly +23 -0
  914. data/share/lilypond/2.24.1/ly/drumpitch-init.ly +366 -0
  915. data/share/lilypond/2.24.1/ly/dynamic-scripts-init.ly +54 -0
  916. data/share/lilypond/2.24.1/ly/english.ly +23 -0
  917. data/share/lilypond/2.24.1/ly/engraver-init.ly +1619 -0
  918. data/share/lilypond/2.24.1/ly/espanol.ly +23 -0
  919. data/share/lilypond/2.24.1/ly/event-listener.ly +241 -0
  920. data/share/lilypond/2.24.1/ly/festival.ly +38 -0
  921. data/share/lilypond/2.24.1/ly/generate-documentation.ly +7 -0
  922. data/share/lilypond/2.24.1/ly/grace-init.ly +56 -0
  923. data/share/lilypond/2.24.1/ly/graphviz-init.ly +174 -0
  924. data/share/lilypond/2.24.1/ly/gregorian.ly +268 -0
  925. data/share/lilypond/2.24.1/ly/guile-debugger.ly +55 -0
  926. data/share/lilypond/2.24.1/ly/hel-arabic.ly +307 -0
  927. data/share/lilypond/2.24.1/ly/init.ly +96 -0
  928. data/share/lilypond/2.24.1/ly/italiano.ly +23 -0
  929. data/share/lilypond/2.24.1/ly/lilypond-book-preamble.ly +47 -0
  930. data/share/lilypond/2.24.1/ly/lyrics-tkit.ly +68 -0
  931. data/share/lilypond/2.24.1/ly/makam.ly +166 -0
  932. data/share/lilypond/2.24.1/ly/midi-init.ly +59 -0
  933. data/share/lilypond/2.24.1/ly/music-functions-init.ly +2254 -0
  934. data/share/lilypond/2.24.1/ly/nederlands.ly +23 -0
  935. data/share/lilypond/2.24.1/ly/norsk.ly +23 -0
  936. data/share/lilypond/2.24.1/ly/paper-defaults-init.ly +188 -0
  937. data/share/lilypond/2.24.1/ly/performer-init.ly +398 -0
  938. data/share/lilypond/2.24.1/ly/persian.ly +335 -0
  939. data/share/lilypond/2.24.1/ly/piano-tkit.ly +61 -0
  940. data/share/lilypond/2.24.1/ly/portugues.ly +23 -0
  941. data/share/lilypond/2.24.1/ly/predefined-fretboards-init.ly +78 -0
  942. data/share/lilypond/2.24.1/ly/predefined-guitar-fretboards.ly +506 -0
  943. data/share/lilypond/2.24.1/ly/predefined-guitar-ninth-fretboards.ly +75 -0
  944. data/share/lilypond/2.24.1/ly/predefined-mandolin-fretboards.ly +876 -0
  945. data/share/lilypond/2.24.1/ly/predefined-ukulele-fretboards.ly +1285 -0
  946. data/share/lilypond/2.24.1/ly/property-init.ly +858 -0
  947. data/share/lilypond/2.24.1/ly/satb.ly +214 -0
  948. data/share/lilypond/2.24.1/ly/scale-definitions-init.ly +117 -0
  949. data/share/lilypond/2.24.1/ly/scheme-sandbox.ly +39 -0
  950. data/share/lilypond/2.24.1/ly/script-init.ly +94 -0
  951. data/share/lilypond/2.24.1/ly/spanners-init.ly +146 -0
  952. data/share/lilypond/2.24.1/ly/ssaattbb.ly +335 -0
  953. data/share/lilypond/2.24.1/ly/staff-tkit.ly +182 -0
  954. data/share/lilypond/2.24.1/ly/string-tunings-init.ly +94 -0
  955. data/share/lilypond/2.24.1/ly/suomi.ly +23 -0
  956. data/share/lilypond/2.24.1/ly/svenska.ly +23 -0
  957. data/share/lilypond/2.24.1/ly/swing.ly +362 -0
  958. data/share/lilypond/2.24.1/ly/text-replacements.ly +150 -0
  959. data/share/lilypond/2.24.1/ly/titling-init.ly +150 -0
  960. data/share/lilypond/2.24.1/ly/toc-init.ly +182 -0
  961. data/share/lilypond/2.24.1/ly/turkish-makam.ly +609 -0
  962. data/share/lilypond/2.24.1/ly/vlaams.ly +23 -0
  963. data/share/lilypond/2.24.1/ly/vocal-tkit.ly +103 -0
  964. data/share/lilypond/2.24.1/ly/voice-tkit.ly +34 -0
  965. data/share/lilypond/2.24.1/ps/encodingdefs.ps +2611 -0
  966. data/share/lilypond/2.24.1/ps/lilyponddefs.ps +49 -0
  967. data/share/lilypond/2.24.1/ps/music-drawing-routines.ps +329 -0
  968. data/share/lilypond/2.24.1/python/__pycache__/book_base.cpython-310.pyc +0 -0
  969. data/share/lilypond/2.24.1/python/__pycache__/book_docbook.cpython-310.pyc +0 -0
  970. data/share/lilypond/2.24.1/python/__pycache__/book_html.cpython-310.pyc +0 -0
  971. data/share/lilypond/2.24.1/python/__pycache__/book_latex.cpython-310.pyc +0 -0
  972. data/share/lilypond/2.24.1/python/__pycache__/book_snippets.cpython-310.pyc +0 -0
  973. data/share/lilypond/2.24.1/python/__pycache__/book_texinfo.cpython-310.pyc +0 -0
  974. data/share/lilypond/2.24.1/python/__pycache__/convertrules.cpython-310.pyc +0 -0
  975. data/share/lilypond/2.24.1/python/__pycache__/langdefs.cpython-310.pyc +0 -0
  976. data/share/lilypond/2.24.1/python/__pycache__/lilylib.cpython-310.pyc +0 -0
  977. data/share/lilypond/2.24.1/python/__pycache__/midi.cpython-310.pyc +0 -0
  978. data/share/lilypond/2.24.1/python/__pycache__/musicexp.cpython-310.pyc +0 -0
  979. data/share/lilypond/2.24.1/python/__pycache__/musicxml.cpython-310.pyc +0 -0
  980. data/share/lilypond/2.24.1/python/__pycache__/musicxml2ly_conversion.cpython-310.pyc +0 -0
  981. data/share/lilypond/2.24.1/python/__pycache__/utilities.cpython-310.pyc +0 -0
  982. data/share/lilypond/2.24.1/python/book_base.py +331 -0
  983. data/share/lilypond/2.24.1/python/book_docbook.py +154 -0
  984. data/share/lilypond/2.24.1/python/book_html.py +178 -0
  985. data/share/lilypond/2.24.1/python/book_latex.py +373 -0
  986. data/share/lilypond/2.24.1/python/book_snippets.py +1052 -0
  987. data/share/lilypond/2.24.1/python/book_texinfo.py +437 -0
  988. data/share/lilypond/2.24.1/python/convertrules.py +4764 -0
  989. data/share/lilypond/2.24.1/python/langdefs.py +131 -0
  990. data/share/lilypond/2.24.1/python/lilylib.py +141 -0
  991. data/share/lilypond/2.24.1/python/midi.py +212 -0
  992. data/share/lilypond/2.24.1/python/musicexp.py +2781 -0
  993. data/share/lilypond/2.24.1/python/musicxml.py +1905 -0
  994. data/share/lilypond/2.24.1/python/musicxml2ly_conversion.py +80 -0
  995. data/share/lilypond/2.24.1/python/utilities.py +280 -0
  996. data/share/lilypond/2.24.1/scm/lily/accreg.scm +579 -0
  997. data/share/lilypond/2.24.1/scm/lily/auto-beam.scm +163 -0
  998. data/share/lilypond/2.24.1/scm/lily/autochange.scm +100 -0
  999. data/share/lilypond/2.24.1/scm/lily/backend-library.scm +593 -0
  1000. data/share/lilypond/2.24.1/scm/lily/bar-line.scm +1281 -0
  1001. data/share/lilypond/2.24.1/scm/lily/breath.scm +74 -0
  1002. data/share/lilypond/2.24.1/scm/lily/c++.scm +174 -0
  1003. data/share/lilypond/2.24.1/scm/lily/chord-entry.scm +278 -0
  1004. data/share/lilypond/2.24.1/scm/lily/chord-ignatzek-names.scm +304 -0
  1005. data/share/lilypond/2.24.1/scm/lily/chord-name.scm +217 -0
  1006. data/share/lilypond/2.24.1/scm/lily/clip-region.scm +87 -0
  1007. data/share/lilypond/2.24.1/scm/lily/color.scm +757 -0
  1008. data/share/lilypond/2.24.1/scm/lily/curried-definitions.scm +68 -0
  1009. data/share/lilypond/2.24.1/scm/lily/define-context-properties.scm +939 -0
  1010. data/share/lilypond/2.24.1/scm/lily/define-event-classes.scm +142 -0
  1011. data/share/lilypond/2.24.1/scm/lily/define-grob-interfaces.scm +640 -0
  1012. data/share/lilypond/2.24.1/scm/lily/define-grob-properties.scm +1647 -0
  1013. data/share/lilypond/2.24.1/scm/lily/define-grobs.scm +4027 -0
  1014. data/share/lilypond/2.24.1/scm/lily/define-markup-commands.scm +5737 -0
  1015. data/share/lilypond/2.24.1/scm/lily/define-music-callbacks.scm +257 -0
  1016. data/share/lilypond/2.24.1/scm/lily/define-music-display-methods.scm +1350 -0
  1017. data/share/lilypond/2.24.1/scm/lily/define-music-properties.scm +242 -0
  1018. data/share/lilypond/2.24.1/scm/lily/define-music-types.scm +983 -0
  1019. data/share/lilypond/2.24.1/scm/lily/define-note-names.scm +1421 -0
  1020. data/share/lilypond/2.24.1/scm/lily/define-stencil-commands.scm +71 -0
  1021. data/share/lilypond/2.24.1/scm/lily/define-woodwind-diagrams.scm +1215 -0
  1022. data/share/lilypond/2.24.1/scm/lily/display-lily.scm +315 -0
  1023. data/share/lilypond/2.24.1/scm/lily/display-woodwind-diagrams.scm +1985 -0
  1024. data/share/lilypond/2.24.1/scm/lily/document-backend.scm +307 -0
  1025. data/share/lilypond/2.24.1/scm/lily/document-context-mods.scm +98 -0
  1026. data/share/lilypond/2.24.1/scm/lily/document-functions.scm +169 -0
  1027. data/share/lilypond/2.24.1/scm/lily/document-identifiers.scm +76 -0
  1028. data/share/lilypond/2.24.1/scm/lily/document-markup.scm +158 -0
  1029. data/share/lilypond/2.24.1/scm/lily/document-music.scm +146 -0
  1030. data/share/lilypond/2.24.1/scm/lily/document-outside-staff-priorities.scm +40 -0
  1031. data/share/lilypond/2.24.1/scm/lily/document-paper-sizes.scm +71 -0
  1032. data/share/lilypond/2.24.1/scm/lily/document-translation.scm +318 -0
  1033. data/share/lilypond/2.24.1/scm/lily/document-type-predicates.scm +85 -0
  1034. data/share/lilypond/2.24.1/scm/lily/documentation-generate.scm +259 -0
  1035. data/share/lilypond/2.24.1/scm/lily/documentation-lib.scm +207 -0
  1036. data/share/lilypond/2.24.1/scm/lily/file-cache.scm +28 -0
  1037. data/share/lilypond/2.24.1/scm/lily/flag-styles.scm +249 -0
  1038. data/share/lilypond/2.24.1/scm/lily/font-encodings.scm +1242 -0
  1039. data/share/lilypond/2.24.1/scm/lily/font.scm +303 -0
  1040. data/share/lilypond/2.24.1/scm/lily/framework-cairo.scm +26 -0
  1041. data/share/lilypond/2.24.1/scm/lily/framework-ps.scm +896 -0
  1042. data/share/lilypond/2.24.1/scm/lily/framework-svg.scm +172 -0
  1043. data/share/lilypond/2.24.1/scm/lily/fret-diagrams.scm +1261 -0
  1044. data/share/lilypond/2.24.1/scm/lily/graphviz.scm +78 -0
  1045. data/share/lilypond/2.24.1/scm/lily/guile-debugger.scm +90 -0
  1046. data/share/lilypond/2.24.1/scm/lily/harp-pedals.scm +172 -0
  1047. data/share/lilypond/2.24.1/scm/lily/hyphenate-internal-words.scm +51 -0
  1048. data/share/lilypond/2.24.1/scm/lily/layout-beam.scm +73 -0
  1049. data/share/lilypond/2.24.1/scm/lily/layout-slur.scm +45 -0
  1050. data/share/lilypond/2.24.1/scm/lily/lily-library.scm +1446 -0
  1051. data/share/lilypond/2.24.1/scm/lily/lily-sort.scm +116 -0
  1052. data/share/lilypond/2.24.1/scm/lily/lily.scm +929 -0
  1053. data/share/lilypond/2.24.1/scm/lily/ly-syntax-constructors.scm +374 -0
  1054. data/share/lilypond/2.24.1/scm/lily/markup-macros.scm +493 -0
  1055. data/share/lilypond/2.24.1/scm/lily/markup.scm +126 -0
  1056. data/share/lilypond/2.24.1/scm/lily/midi.scm +258 -0
  1057. data/share/lilypond/2.24.1/scm/lily/modal-transforms.scm +337 -0
  1058. data/share/lilypond/2.24.1/scm/lily/music-functions.scm +2878 -0
  1059. data/share/lilypond/2.24.1/scm/lily/output-lib.scm +3377 -0
  1060. data/share/lilypond/2.24.1/scm/lily/output-ps.scm +335 -0
  1061. data/share/lilypond/2.24.1/scm/lily/output-svg.scm +684 -0
  1062. data/share/lilypond/2.24.1/scm/lily/page.scm +321 -0
  1063. data/share/lilypond/2.24.1/scm/lily/paper-system.scm +271 -0
  1064. data/share/lilypond/2.24.1/scm/lily/paper.scm +376 -0
  1065. data/share/lilypond/2.24.1/scm/lily/parser-clef.scm +205 -0
  1066. data/share/lilypond/2.24.1/scm/lily/parser-ly-from-scheme.scm +170 -0
  1067. data/share/lilypond/2.24.1/scm/lily/part-combiner.scm +998 -0
  1068. data/share/lilypond/2.24.1/scm/lily/predefined-fretboards.scm +54 -0
  1069. data/share/lilypond/2.24.1/scm/lily/ps-to-png.scm +182 -0
  1070. data/share/lilypond/2.24.1/scm/lily/scheme-engravers.scm +1813 -0
  1071. data/share/lilypond/2.24.1/scm/lily/scheme-performers.scm +126 -0
  1072. data/share/lilypond/2.24.1/scm/lily/script.scm +416 -0
  1073. data/share/lilypond/2.24.1/scm/lily/skyline.scm +25 -0
  1074. data/share/lilypond/2.24.1/scm/lily/song-util.scm +191 -0
  1075. data/share/lilypond/2.24.1/scm/lily/song.scm +853 -0
  1076. data/share/lilypond/2.24.1/scm/lily/stencil.scm +998 -0
  1077. data/share/lilypond/2.24.1/scm/lily/tablature.scm +392 -0
  1078. data/share/lilypond/2.24.1/scm/lily/time-signature-settings.scm +473 -0
  1079. data/share/lilypond/2.24.1/scm/lily/time-signature.scm +35 -0
  1080. data/share/lilypond/2.24.1/scm/lily/titling.scm +99 -0
  1081. data/share/lilypond/2.24.1/scm/lily/to-xml.scm +254 -0
  1082. data/share/lilypond/2.24.1/scm/lily/translation-functions.scm +1169 -0
  1083. data/share/lilypond/2.24.1/vim/compiler/lilypond.vim +36 -0
  1084. data/share/lilypond/2.24.1/vim/ftdetect/lilypond.vim +4 -0
  1085. data/share/lilypond/2.24.1/vim/ftplugin/lilypond.vim +91 -0
  1086. data/share/lilypond/2.24.1/vim/indent/lilypond.vim +79 -0
  1087. data/share/lilypond/2.24.1/vim/syntax/lilypond-words +1408 -0
  1088. data/share/lilypond/2.24.1/vim/syntax/lilypond-words.vim +3 -0
  1089. data/share/lilypond/2.24.1/vim/syntax/lilypond.vim +104 -0
  1090. data/share/locale/ca/LC_MESSAGES/lilypond.mo +0 -0
  1091. data/share/locale/cs/LC_MESSAGES/lilypond.mo +0 -0
  1092. data/share/locale/da/LC_MESSAGES/lilypond.mo +0 -0
  1093. data/share/locale/de/LC_MESSAGES/lilypond.mo +0 -0
  1094. data/share/locale/el/LC_MESSAGES/lilypond.mo +0 -0
  1095. data/share/locale/eo/LC_MESSAGES/lilypond.mo +0 -0
  1096. data/share/locale/es/LC_MESSAGES/lilypond.mo +0 -0
  1097. data/share/locale/fi/LC_MESSAGES/lilypond.mo +0 -0
  1098. data/share/locale/fr/LC_MESSAGES/lilypond.mo +0 -0
  1099. data/share/locale/it/LC_MESSAGES/lilypond.mo +0 -0
  1100. data/share/locale/ja/LC_MESSAGES/lilypond.mo +0 -0
  1101. data/share/locale/nl/LC_MESSAGES/lilypond.mo +0 -0
  1102. data/share/locale/ru/LC_MESSAGES/lilypond.mo +0 -0
  1103. data/share/locale/sv/LC_MESSAGES/lilypond.mo +0 -0
  1104. data/share/locale/tr/LC_MESSAGES/lilypond.mo +0 -0
  1105. data/share/locale/uk/LC_MESSAGES/lilypond.mo +0 -0
  1106. data/share/locale/vi/LC_MESSAGES/lilypond.mo +0 -0
  1107. data/share/locale/zh_CN/LC_MESSAGES/lilypond.mo +0 -0
  1108. data/share/locale/zh_TW/LC_MESSAGES/lilypond.mo +0 -0
  1109. metadata +1108 -1
@@ -0,0 +1,1181 @@
1
+ ;; Library: sxml-match
2
+ ;; Author: Jim Bender
3
+ ;; Version: 1.1, version for PLT Scheme
4
+ ;;
5
+ ;; Copyright 2005-9, Jim Bender
6
+ ;; sxml-match is released under the MIT License
7
+ ;;
8
+ (module sxml-match mzscheme
9
+
10
+ (provide sxml-match
11
+ sxml-match-let
12
+ sxml-match-let*)
13
+
14
+ (require (rename (lib "fold.ss" "srfi" "1") fold-right fold-right)
15
+ (rename (lib "filter.ss" "srfi" "1") filter filter))
16
+
17
+ (define (nodeset? x)
18
+ (or (and (pair? x) (not (symbol? (car x)))) (null? x)))
19
+
20
+ (define (xml-element-tag s)
21
+ (if (and (pair? s) (symbol? (car s)))
22
+ (car s)
23
+ (error 'xml-element-tag "expected an xml-element, given" s)))
24
+
25
+ (define (xml-element-attributes s)
26
+ (if (and (pair? s) (symbol? (car s)))
27
+ (fold-right (lambda (a b)
28
+ (if (and (pair? a) (eq? '@ (car a)))
29
+ (if (null? b)
30
+ (filter (lambda (i) (not (and (pair? i) (eq? '@ (car i))))) (cdr a))
31
+ (fold-right (lambda (c d)
32
+ (if (and (pair? c) (eq? '@ (car c)))
33
+ d
34
+ (cons c d)))
35
+ b (cdr a)))
36
+ b))
37
+ '()
38
+ (cdr s))
39
+ (error 'xml-element-attributes "expected an xml-element, given" s)))
40
+
41
+ (define (xml-element-contents s)
42
+ (if (and (pair? s) (symbol? (car s)))
43
+ (filter (lambda (i)
44
+ (not (and (pair? i) (eq? '@ (car i)))))
45
+ (cdr s))
46
+ (error 'xml-element-contents "expected an xml-element, given" s)))
47
+
48
+ (define (match-xml-attribute key l)
49
+ (if (not (pair? l))
50
+ #f
51
+ (if (eq? (car (car l)) key)
52
+ (car l)
53
+ (match-xml-attribute key (cdr l)))))
54
+
55
+ (define (filter-attributes keys lst)
56
+ (if (null? lst)
57
+ '()
58
+ (if (member (caar lst) keys)
59
+ (filter-attributes keys (cdr lst))
60
+ (cons (car lst) (filter-attributes keys (cdr lst))))))
61
+
62
+ (define-syntax compile-clause
63
+ (lambda (stx)
64
+ (letrec
65
+ ([sxml-match-syntax-error
66
+ (lambda (msg exp sub)
67
+ (raise-syntax-error #f msg (with-syntax ([s exp]) (syntax (sxml-match s))) sub))]
68
+ [ellipsis?
69
+ (lambda (stx)
70
+ (and (identifier? stx) (eq? '... (syntax-object->datum stx))))]
71
+ [literal?
72
+ (lambda (stx)
73
+ (let ([x (syntax-object->datum stx)])
74
+ (or (string? x)
75
+ (char? x)
76
+ (number? x)
77
+ (boolean? x))))]
78
+ [keyword?
79
+ (lambda (stx)
80
+ (and (identifier? stx)
81
+ (let ([str (symbol->string (syntax-object->datum stx))])
82
+ (char=? #\: (string-ref str (- (string-length str) 1))))))]
83
+ [extract-cata-fun
84
+ (lambda (cf)
85
+ (syntax-case cf ()
86
+ [#f #f]
87
+ [other cf]))]
88
+ [add-pat-var
89
+ (lambda (pvar pvar-lst)
90
+ (define (check-pvar lst)
91
+ (if (null? lst)
92
+ (void)
93
+ (if (bound-identifier=? (car lst) pvar)
94
+ (sxml-match-syntax-error "duplicate pattern variable not allowed"
95
+ stx
96
+ pvar)
97
+ (check-pvar (cdr lst)))))
98
+ (check-pvar pvar-lst)
99
+ (cons pvar pvar-lst))]
100
+ [add-cata-def
101
+ (lambda (depth cvars cfun ctemp cdefs)
102
+ (cons (list depth cvars cfun ctemp) cdefs))]
103
+ [process-cata-exp
104
+ (lambda (depth cfun ctemp)
105
+ (if (= depth 0)
106
+ (with-syntax ([cf cfun]
107
+ [ct ctemp])
108
+ (syntax (cf ct)))
109
+ (let ([new-ctemp (car (generate-temporaries (list ctemp)))])
110
+ (with-syntax ([ct ctemp]
111
+ [nct new-ctemp]
112
+ [body (process-cata-exp (- depth 1) cfun new-ctemp)])
113
+ (syntax (map (lambda (nct) body) ct))))))]
114
+ [process-cata-defs
115
+ (lambda (cata-defs body)
116
+ (if (null? cata-defs)
117
+ body
118
+ (with-syntax ([(cata-binding ...)
119
+ (map (lambda (def)
120
+ (with-syntax ([bvar (cadr def)]
121
+ [bval (process-cata-exp (car def)
122
+ (caddr def)
123
+ (cadddr def))])
124
+ (syntax (bvar bval))))
125
+ cata-defs)]
126
+ [body-stx body])
127
+ (syntax (let-values (cata-binding ...)
128
+ body-stx)))))]
129
+ [cata-defs->pvar-lst
130
+ (lambda (lst)
131
+ (if (null? lst)
132
+ '()
133
+ (let iter ([items (cadr (car lst))])
134
+ (syntax-case items ()
135
+ [() (cata-defs->pvar-lst (cdr lst))]
136
+ [(fst . rst) (cons (syntax fst) (iter (syntax rst)))]))))]
137
+ [process-output-action
138
+ (lambda (action dotted-vars)
139
+ (define (finite-lst? lst)
140
+ (syntax-case lst ()
141
+ (item
142
+ (identifier? (syntax item))
143
+ #f)
144
+ (()
145
+ #t)
146
+ ((fst dots . rst)
147
+ (ellipsis? (syntax dots))
148
+ #f)
149
+ ((fst . rst)
150
+ (finite-lst? (syntax rst)))))
151
+ (define (expand-lst lst)
152
+ (syntax-case lst ()
153
+ [() (syntax '())]
154
+ [item
155
+ (identifier? (syntax item))
156
+ (syntax item)]
157
+ [(fst dots . rst)
158
+ (ellipsis? (syntax dots))
159
+ (with-syntax ([exp-lft (expand-dotted-item
160
+ (process-output-action (syntax fst)
161
+ dotted-vars))]
162
+ [exp-rgt (expand-lst (syntax rst))])
163
+ (syntax (append exp-lft exp-rgt)))]
164
+ [(fst . rst)
165
+ (with-syntax ([exp-lft (process-output-action (syntax fst)
166
+ dotted-vars)]
167
+ [exp-rgt (expand-lst (syntax rst))])
168
+ (syntax (cons exp-lft exp-rgt)))]))
169
+ (define (member-var? var lst)
170
+ (let iter ([lst lst])
171
+ (if (null? lst)
172
+ #f
173
+ (if (or (bound-identifier=? var (car lst))
174
+ (free-identifier=? var (car lst)))
175
+ #t
176
+ (iter (cdr lst))))))
177
+ (define (dotted-var? var)
178
+ (member-var? var dotted-vars))
179
+ (define (merge-pvars lst1 lst2)
180
+ (if (null? lst1)
181
+ lst2
182
+ (if (member-var? (car lst1) lst2)
183
+ (merge-pvars (cdr lst1) lst2)
184
+ (cons (car lst1) (merge-pvars (cdr lst1) lst2)))))
185
+ (define (select-dotted-vars x)
186
+ (define (walk-quasi-body y)
187
+ (syntax-case y (unquote unquote-splicing)
188
+ [((unquote a) . rst)
189
+ (merge-pvars (select-dotted-vars (syntax a))
190
+ (walk-quasi-body (syntax rst)))]
191
+ [((unquote-splicing a) . rst)
192
+ (merge-pvars (select-dotted-vars (syntax a))
193
+ (walk-quasi-body (syntax rst)))]
194
+ [(fst . rst)
195
+ (merge-pvars (walk-quasi-body (syntax fst))
196
+ (walk-quasi-body (syntax rst)))]
197
+ [other
198
+ '()]))
199
+ (syntax-case x (quote quasiquote)
200
+ [(quote . rst) '()]
201
+ [(quasiquote . rst) (walk-quasi-body (syntax rst))]
202
+ [(fst . rst)
203
+ (merge-pvars (select-dotted-vars (syntax fst))
204
+ (select-dotted-vars (syntax rst)))]
205
+ [item
206
+ (and (identifier? (syntax item))
207
+ (dotted-var? (syntax item)))
208
+ (list (syntax item))]
209
+ [item '()]))
210
+ (define (expand-dotted-item item)
211
+ (let ([dvars (select-dotted-vars item)])
212
+ (syntax-case item ()
213
+ [x
214
+ (identifier? (syntax x))
215
+ (syntax x)]
216
+ [x (with-syntax ([(dv ...) dvars])
217
+ (syntax (map (lambda (dv ...) x) dv ...)))])))
218
+ (define (expand-quasiquote-body x)
219
+ (syntax-case x (unquote unquote-splicing quasiquote)
220
+ [(quasiquote . rst) (process-quasiquote x)]
221
+ [(unquote item)
222
+ (with-syntax ([expanded-item (process-output-action (syntax item)
223
+ dotted-vars)])
224
+ (syntax (unquote expanded-item)))]
225
+ [(unquote-splicing item)
226
+ (with-syntax ([expanded-item (process-output-action (syntax item)
227
+ dotted-vars)])
228
+ (syntax (unquote-splicing expanded-item)))]
229
+ [((unquote item) dots . rst)
230
+ (ellipsis? (syntax dots))
231
+ (with-syntax ([expanded-item (expand-dotted-item
232
+ (process-output-action (syntax item)
233
+ dotted-vars))]
234
+ [expanded-rst (expand-quasiquote-body (syntax rst))])
235
+ (syntax ((unquote-splicing expanded-item) . expanded-rst)))]
236
+ [(item dots . rst)
237
+ (ellipsis? (syntax dots))
238
+ (with-syntax ([expanded-item (expand-dotted-item
239
+ (process-output-action (syntax (quasiquote item))
240
+ dotted-vars))]
241
+ [expanded-rst (expand-quasiquote-body (syntax rst))])
242
+ (syntax ((unquote-splicing expanded-item) . expanded-rst)))]
243
+ [(fst . rst)
244
+ (with-syntax ([expanded-fst (expand-quasiquote-body (syntax fst))]
245
+ [expanded-rst (expand-quasiquote-body (syntax rst))])
246
+ (syntax (expanded-fst . expanded-rst)))]
247
+ [other x]))
248
+ (define (process-quasiquote x)
249
+ (syntax-case x ()
250
+ [(quasiquote term) (with-syntax ([expanded-body (expand-quasiquote-body (syntax term))])
251
+ (syntax (quasiquote expanded-body)))]
252
+ [else (sxml-match-syntax-error "bad quasiquote-form"
253
+ stx
254
+ x)]))
255
+ (syntax-case action (quote quasiquote)
256
+ [(quote . rst) action]
257
+ [(quasiquote . rst) (process-quasiquote action)]
258
+ [(fst . rst) (if (finite-lst? action)
259
+ (with-syntax ([exp-lft (process-output-action (syntax fst) dotted-vars)]
260
+ [exp-rgt (process-output-action (syntax rst) dotted-vars)])
261
+ (syntax (exp-lft . exp-rgt)))
262
+ (with-syntax ([exp-lft (process-output-action (syntax fst)
263
+ dotted-vars)]
264
+ [exp-rgt (expand-lst (syntax rst))])
265
+ (syntax (apply exp-lft exp-rgt))))]
266
+ [item action]))]
267
+ [compile-element-pat
268
+ (lambda (ele exp nextp fail-k pvar-lst depth cata-fun cata-defs dotted-vars)
269
+ (syntax-case ele (@)
270
+ [(tag (@ . attr-items) . items)
271
+ (identifier? (syntax tag))
272
+ (let ([attr-exp (car (generate-temporaries (list exp)))]
273
+ [body-exp (car (generate-temporaries (list exp)))])
274
+ (let-values ([(tests new-pvar-lst new-cata-defs new-dotted-vars)
275
+ (compile-attr-list (syntax attr-items)
276
+ (syntax items)
277
+ attr-exp
278
+ body-exp
279
+ '()
280
+ nextp
281
+ fail-k
282
+ pvar-lst
283
+ depth
284
+ cata-fun
285
+ cata-defs
286
+ dotted-vars)])
287
+ (values (with-syntax ([x exp]
288
+ [ax attr-exp]
289
+ [bx body-exp]
290
+ [body tests]
291
+ [fail-to fail-k])
292
+ (syntax (if (and (pair? x) (eq? 'tag (xml-element-tag x)))
293
+ (let ([ax (xml-element-attributes x)]
294
+ [bx (xml-element-contents x)])
295
+ body)
296
+ (fail-to))))
297
+ new-pvar-lst
298
+ new-cata-defs
299
+ new-dotted-vars)))]
300
+ [(tag . items)
301
+ (identifier? (syntax tag))
302
+ (let ([body-exp (car (generate-temporaries (list exp)))])
303
+ (let-values ([(tests new-pvar-lst new-cata-defs new-dotted-vars)
304
+ (compile-item-list (syntax items)
305
+ body-exp
306
+ nextp
307
+ fail-k
308
+ #t
309
+ pvar-lst
310
+ depth
311
+ cata-fun
312
+ cata-defs
313
+ dotted-vars)])
314
+ (values (with-syntax ([x exp]
315
+ [bx body-exp]
316
+ [body tests]
317
+ [fail-to fail-k])
318
+ (syntax (if (and (pair? x) (eq? 'tag (xml-element-tag x)))
319
+ (let ([bx (xml-element-contents x)])
320
+ body)
321
+ (fail-to))))
322
+ new-pvar-lst
323
+ new-cata-defs
324
+ new-dotted-vars)))]))]
325
+ [compile-end-element
326
+ (lambda (exp nextp fail-k pvar-lst cata-defs dotted-vars)
327
+ (let-values ([(next-tests new-pvar-lst new-cata-defs new-dotted-vars)
328
+ (nextp pvar-lst cata-defs dotted-vars)])
329
+ (values (with-syntax ([x exp]
330
+ [body next-tests]
331
+ [fail-to fail-k])
332
+ (syntax (if (null? x) body (fail-to))))
333
+ new-pvar-lst
334
+ new-cata-defs
335
+ new-dotted-vars)))]
336
+ [compile-attr-list
337
+ (lambda (attr-lst body-lst attr-exp body-exp attr-key-lst nextp fail-k pvar-lst depth cata-fun cata-defs dotted-vars)
338
+ (syntax-case attr-lst (unquote ->)
339
+ [(unquote var)
340
+ (identifier? (syntax var))
341
+ (let-values ([(tests new-pvar-lst new-cata-defs new-dotted-vars)
342
+ (compile-item-list body-lst
343
+ body-exp
344
+ nextp
345
+ fail-k
346
+ #t
347
+ (add-pat-var (syntax var) pvar-lst)
348
+ depth
349
+ cata-fun
350
+ cata-defs
351
+ dotted-vars)])
352
+ (values (with-syntax ([ax attr-exp]
353
+ [matched-attrs attr-key-lst]
354
+ [body tests])
355
+ (syntax (let ([var (filter-attributes 'matched-attrs ax)])
356
+ body)))
357
+ new-pvar-lst
358
+ new-cata-defs
359
+ new-dotted-vars))]
360
+ [((atag [(unquote [cata -> cvar ...]) default]) . rst)
361
+ (identifier? (syntax atag))
362
+ (let ([ctemp (car (generate-temporaries (syntax ([cvar ...]))))])
363
+ (let-values ([(tests new-pvar-lst new-cata-defs new-dotted-vars)
364
+ (compile-attr-list (syntax rst)
365
+ body-lst
366
+ attr-exp
367
+ body-exp
368
+ (cons (syntax atag) attr-key-lst)
369
+ nextp
370
+ fail-k
371
+ (add-pat-var ctemp pvar-lst)
372
+ depth
373
+ cata-fun
374
+ (add-cata-def depth
375
+ (syntax [cvar ...])
376
+ (syntax cata)
377
+ ctemp
378
+ cata-defs)
379
+ dotted-vars)])
380
+ (values (with-syntax ([ax attr-exp]
381
+ [ct ctemp]
382
+ [body tests])
383
+ (syntax (let ([binding (match-xml-attribute 'atag ax)])
384
+ (let ([ct (if binding
385
+ (cadr binding)
386
+ default)])
387
+ body))))
388
+ new-pvar-lst
389
+ new-cata-defs
390
+ new-dotted-vars)))]
391
+ [((atag [(unquote [cvar ...]) default]) . rst)
392
+ (identifier? (syntax atag))
393
+ (let ([ctemp (car (generate-temporaries (syntax ([cvar ...]))))])
394
+ (if (not cata-fun)
395
+ (sxml-match-syntax-error "sxml-match pattern: catamorphism not allowed in this context"
396
+ stx
397
+ (syntax [cvar ...])))
398
+ (let-values ([(tests new-pvar-lst new-cata-defs new-dotted-vars)
399
+ (compile-attr-list (syntax rst)
400
+ body-lst
401
+ attr-exp
402
+ body-exp
403
+ (cons (syntax atag) attr-key-lst)
404
+ nextp
405
+ fail-k
406
+ (add-pat-var ctemp pvar-lst)
407
+ depth
408
+ cata-fun
409
+ (add-cata-def depth
410
+ (syntax [cvar ...])
411
+ cata-fun
412
+ ctemp
413
+ cata-defs)
414
+ dotted-vars)])
415
+ (values (with-syntax ([ax attr-exp]
416
+ [ct ctemp]
417
+ [body tests])
418
+ (syntax (let ([binding (match-xml-attribute 'atag ax)])
419
+ (let ([ct (if binding
420
+ (cadr binding)
421
+ default)])
422
+ body))))
423
+ new-pvar-lst
424
+ new-cata-defs
425
+ new-dotted-vars)))]
426
+ [((atag [(unquote var) default]) . rst)
427
+ (and (identifier? (syntax atag)) (identifier? (syntax var)))
428
+ (let-values ([(tests new-pvar-lst new-cata-defs new-dotted-vars)
429
+ (compile-attr-list (syntax rst)
430
+ body-lst
431
+ attr-exp
432
+ body-exp
433
+ (cons (syntax atag) attr-key-lst)
434
+ nextp
435
+ fail-k
436
+ (add-pat-var (syntax var) pvar-lst)
437
+ depth
438
+ cata-fun
439
+ cata-defs
440
+ dotted-vars)])
441
+ (values (with-syntax ([ax attr-exp]
442
+ [body tests])
443
+ (syntax (let ([binding (match-xml-attribute 'atag ax)])
444
+ (let ([var (if binding
445
+ (cadr binding)
446
+ default)])
447
+ body))))
448
+ new-pvar-lst
449
+ new-cata-defs
450
+ new-dotted-vars))]
451
+ [((atag (unquote [cata -> cvar ...])) . rst)
452
+ (identifier? (syntax atag))
453
+ (let ([ctemp (car (generate-temporaries (syntax ([cvar ...]))))])
454
+ (let-values ([(tests new-pvar-lst new-cata-defs new-dotted-vars)
455
+ (compile-attr-list (syntax rst)
456
+ body-lst
457
+ attr-exp
458
+ body-exp
459
+ (cons (syntax atag) attr-key-lst)
460
+ nextp
461
+ fail-k
462
+ (add-pat-var ctemp pvar-lst)
463
+ depth
464
+ cata-fun
465
+ (add-cata-def depth
466
+ (syntax [cvar ...])
467
+ (syntax cata)
468
+ ctemp
469
+ cata-defs)
470
+ dotted-vars)])
471
+ (values (with-syntax ([ax attr-exp]
472
+ [ct ctemp]
473
+ [body tests]
474
+ [fail-to fail-k])
475
+ (syntax (let ([binding (match-xml-attribute 'atag ax)])
476
+ (if binding
477
+ (let ([ct (cadr binding)])
478
+ body)
479
+ (fail-to)))))
480
+ new-pvar-lst
481
+ new-cata-defs
482
+ new-dotted-vars)))]
483
+ [((atag (unquote [cvar ...])) . rst)
484
+ (identifier? (syntax atag))
485
+ (let ([ctemp (car (generate-temporaries (syntax ([cvar ...]))))])
486
+ (if (not cata-fun)
487
+ (sxml-match-syntax-error "sxml-match pattern: catamorphism not allowed in this context"
488
+ stx
489
+ (syntax [cvar ...])))
490
+ (let-values ([(tests new-pvar-lst new-cata-defs new-dotted-vars)
491
+ (compile-attr-list (syntax rst)
492
+ body-lst
493
+ attr-exp
494
+ body-exp
495
+ (cons (syntax atag) attr-key-lst)
496
+ nextp
497
+ fail-k
498
+ (add-pat-var ctemp pvar-lst)
499
+ depth
500
+ cata-fun
501
+ (add-cata-def depth
502
+ (syntax [cvar ...])
503
+ cata-fun
504
+ ctemp
505
+ cata-defs)
506
+ dotted-vars)])
507
+ (values (with-syntax ([ax attr-exp]
508
+ [ct ctemp]
509
+ [body tests]
510
+ [fail-to fail-k])
511
+ (syntax (let ([binding (match-xml-attribute 'atag ax)])
512
+ (if binding
513
+ (let ([ct (cadr binding)])
514
+ body)
515
+ (fail-to)))))
516
+ new-pvar-lst
517
+ new-cata-defs
518
+ new-dotted-vars)))]
519
+ [((atag (unquote var)) . rst)
520
+ (and (identifier? (syntax atag)) (identifier? (syntax var)))
521
+ (let-values ([(tests new-pvar-lst new-cata-defs new-dotted-vars)
522
+ (compile-attr-list (syntax rst)
523
+ body-lst
524
+ attr-exp
525
+ body-exp
526
+ (cons (syntax atag) attr-key-lst)
527
+ nextp
528
+ fail-k
529
+ (add-pat-var (syntax var) pvar-lst)
530
+ depth
531
+ cata-fun
532
+ cata-defs
533
+ dotted-vars)])
534
+ (values (with-syntax ([ax attr-exp]
535
+ [body tests]
536
+ [fail-to fail-k])
537
+ (syntax (let ([binding (match-xml-attribute 'atag ax)])
538
+ (if binding
539
+ (let ([var (cadr binding)])
540
+ body)
541
+ (fail-to)))))
542
+ new-pvar-lst
543
+ new-cata-defs
544
+ new-dotted-vars))]
545
+ [((atag (i ...)) . rst)
546
+ (identifier? (syntax atag))
547
+ (sxml-match-syntax-error "bad attribute pattern"
548
+ stx
549
+ (syntax (kwd (i ...))))]
550
+ [((atag i) . rst)
551
+ (and (identifier? (syntax atag)) (identifier? (syntax i)))
552
+ (sxml-match-syntax-error "bad attribute pattern"
553
+ stx
554
+ (syntax (kwd i)))]
555
+ [((atag literal) . rst)
556
+ (and (identifier? (syntax atag)) (literal? (syntax literal)))
557
+ (let-values ([(tests new-pvar-lst new-cata-defs new-dotted-vars)
558
+ (compile-attr-list (syntax rst)
559
+ body-lst
560
+ attr-exp
561
+ body-exp
562
+ (cons (syntax atag) attr-key-lst)
563
+ nextp
564
+ fail-k
565
+ pvar-lst
566
+ depth
567
+ cata-fun
568
+ cata-defs
569
+ dotted-vars)])
570
+ (values (with-syntax ([ax attr-exp]
571
+ [body tests]
572
+ [fail-to fail-k])
573
+ (syntax (let ([binding (match-xml-attribute 'atag ax)])
574
+ (if binding
575
+ (if (equal? (cadr binding) literal)
576
+ body
577
+ (fail-to))
578
+ (fail-to)))))
579
+ new-pvar-lst
580
+ new-cata-defs
581
+ new-dotted-vars))]
582
+ [()
583
+ (compile-item-list body-lst
584
+ body-exp
585
+ nextp
586
+ fail-k
587
+ #t
588
+ pvar-lst
589
+ depth
590
+ cata-fun
591
+ cata-defs
592
+ dotted-vars)]))]
593
+ [compile-item-list
594
+ (lambda (lst exp nextp fail-k ellipsis-allowed? pvar-lst depth cata-fun cata-defs dotted-vars)
595
+ (syntax-case lst (unquote ->)
596
+ [() (compile-end-element exp nextp fail-k pvar-lst cata-defs dotted-vars)]
597
+ [(unquote var)
598
+ (identifier? (syntax var))
599
+ (if (not ellipsis-allowed?)
600
+ (sxml-match-syntax-error "improper list pattern not allowed in this context"
601
+ stx
602
+ (syntax dots))
603
+ (let-values ([(next-tests new-pvar-lst new-cata-defs new-dotted-vars)
604
+ (nextp (add-pat-var (syntax var) pvar-lst) cata-defs dotted-vars)])
605
+ (values (with-syntax ([x exp]
606
+ [body next-tests])
607
+ (syntax (let ([var x]) body)))
608
+ new-pvar-lst
609
+ new-cata-defs
610
+ new-dotted-vars)))]
611
+ [(unquote [cata -> cvar ...])
612
+ (if (not ellipsis-allowed?)
613
+ (sxml-match-syntax-error "improper list pattern not allowed in this context"
614
+ stx
615
+ (syntax dots))
616
+ (let ([ctemp (car (generate-temporaries (syntax ([cvar ...]))))])
617
+ (let-values ([(next-tests new-pvar-lst new-cata-defs new-dotted-vars)
618
+ (nextp (add-pat-var ctemp pvar-lst)
619
+ (add-cata-def depth
620
+ (syntax [cvar ...])
621
+ (syntax cata)
622
+ ctemp
623
+ cata-defs)
624
+ dotted-vars)])
625
+ (values (with-syntax ([ct ctemp]
626
+ [x exp]
627
+ [body next-tests])
628
+ (syntax (let ([ct x]) body)))
629
+ new-pvar-lst
630
+ new-cata-defs
631
+ new-dotted-vars))))]
632
+ [(unquote [cvar ...])
633
+ (let ([ctemp (car (generate-temporaries (syntax ([cvar ...]))))])
634
+ (if (not cata-fun)
635
+ (sxml-match-syntax-error "sxml-match pattern: catamorphism not allowed in this context"
636
+ stx
637
+ (syntax [cvar ...])))
638
+ (let-values ([(next-tests new-pvar-lst new-cata-defs new-dotted-vars)
639
+ (nextp (add-pat-var ctemp pvar-lst)
640
+ (add-cata-def depth
641
+ (syntax [cvar ...])
642
+ cata-fun
643
+ ctemp
644
+ cata-defs)
645
+ dotted-vars)])
646
+ (values (with-syntax ([ct ctemp]
647
+ [x exp]
648
+ [body next-tests])
649
+ (syntax (let ([ct x]) body)))
650
+ new-pvar-lst
651
+ new-cata-defs
652
+ new-dotted-vars)))]
653
+ [(item dots . rst)
654
+ (ellipsis? (syntax dots))
655
+ (if (not ellipsis-allowed?)
656
+ (sxml-match-syntax-error "ellipses not allowed in this context"
657
+ stx
658
+ (syntax dots))
659
+ (compile-dotted-pattern-list (syntax item)
660
+ (syntax rst)
661
+ exp
662
+ nextp
663
+ fail-k
664
+ pvar-lst
665
+ depth
666
+ cata-fun
667
+ cata-defs
668
+ dotted-vars))]
669
+ [(item . rst)
670
+ (compile-item (syntax item)
671
+ exp
672
+ (lambda (new-exp new-pvar-lst new-cata-defs new-dotted-vars)
673
+ (compile-item-list (syntax rst)
674
+ new-exp
675
+ nextp
676
+ fail-k
677
+ ellipsis-allowed?
678
+ new-pvar-lst
679
+ depth
680
+ cata-fun
681
+ new-cata-defs
682
+ new-dotted-vars))
683
+ fail-k
684
+ pvar-lst
685
+ depth
686
+ cata-fun
687
+ cata-defs
688
+ dotted-vars)]))]
689
+ [compile-dotted-pattern-list
690
+ (lambda (item
691
+ tail
692
+ exp
693
+ nextp
694
+ fail-k
695
+ pvar-lst
696
+ depth
697
+ cata-fun
698
+ cata-defs
699
+ dotted-vars)
700
+ (let-values ([(tail-tests tail-pvar-lst tail-cata-defs tail-dotted-vars)
701
+ (compile-item-list tail
702
+ (syntax lst)
703
+ (lambda (new-pvar-lst new-cata-defs new-dotted-vars)
704
+ (values (with-syntax ([(npv ...) new-pvar-lst])
705
+ (syntax (values #t npv ...)))
706
+ new-pvar-lst
707
+ new-cata-defs
708
+ new-dotted-vars))
709
+ (syntax fail)
710
+ #f
711
+ '()
712
+ depth
713
+ '()
714
+ '()
715
+ dotted-vars)]
716
+ [(item-tests item-pvar-lst item-cata-defs item-dotted-vars)
717
+ (compile-item item
718
+ (syntax lst)
719
+ (lambda (new-exp new-pvar-lst new-cata-defs new-dotted-vars)
720
+ (values (with-syntax ([(npv ...) new-pvar-lst])
721
+ (syntax (values #t (cdr lst) npv ...)))
722
+ new-pvar-lst
723
+ new-cata-defs
724
+ new-dotted-vars))
725
+ (syntax fail)
726
+ '()
727
+ (+ 1 depth)
728
+ cata-fun
729
+ '()
730
+ dotted-vars)])
731
+ ; more here: check for duplicate pat-vars, cata-defs
732
+ (let-values ([(final-tests final-pvar-lst final-cata-defs final-dotted-vars)
733
+ (nextp (append tail-pvar-lst item-pvar-lst pvar-lst)
734
+ (append tail-cata-defs item-cata-defs cata-defs)
735
+ (append item-pvar-lst
736
+ (cata-defs->pvar-lst item-cata-defs)
737
+ tail-dotted-vars
738
+ dotted-vars))])
739
+ (let ([temp-item-pvar-lst (generate-temporaries item-pvar-lst)])
740
+ (values
741
+ (with-syntax
742
+ ([x exp]
743
+ [fail-to fail-k]
744
+ [tail-body tail-tests]
745
+ [item-body item-tests]
746
+ [final-body final-tests]
747
+ [(ipv ...) item-pvar-lst]
748
+ [(gpv ...) temp-item-pvar-lst]
749
+ [(tpv ...) tail-pvar-lst]
750
+ [(item-void ...) (map (lambda (i) (syntax (void))) item-pvar-lst)]
751
+ [(tail-void ...) (map (lambda (i) (syntax (void))) tail-pvar-lst)]
752
+ [(item-null ...) (map (lambda (i) (syntax '())) item-pvar-lst)]
753
+ [(item-cons ...) (map (lambda (a b)
754
+ (with-syntax ([xa a]
755
+ [xb b])
756
+ (syntax (cons xa xb))))
757
+ item-pvar-lst
758
+ temp-item-pvar-lst)])
759
+ (syntax (letrec ([match-tail
760
+ (lambda (lst fail)
761
+ tail-body)]
762
+ [match-item
763
+ (lambda (lst)
764
+ (let ([fail (lambda ()
765
+ (values #f
766
+ lst
767
+ item-void ...))])
768
+ item-body))]
769
+ [match-dotted
770
+ (lambda (x)
771
+ (let-values ([(tail-res tpv ...)
772
+ (match-tail x
773
+ (lambda ()
774
+ (values #f
775
+ tail-void ...)))])
776
+ (if tail-res
777
+ (values item-null ...
778
+ tpv ...)
779
+ (let-values ([(res new-x ipv ...) (match-item x)])
780
+ (if res
781
+ (let-values ([(gpv ... tpv ...)
782
+ (match-dotted new-x)])
783
+ (values item-cons ... tpv ...))
784
+ (let-values ([(last-tail-res tpv ...)
785
+ (match-tail x fail-to)])
786
+ (values item-null ... tpv ...)))))))])
787
+ (let-values ([(ipv ... tpv ...)
788
+ (match-dotted x)])
789
+ final-body))))
790
+ final-pvar-lst
791
+ final-cata-defs
792
+ final-dotted-vars)))))]
793
+ [compile-item
794
+ (lambda (item exp nextp fail-k pvar-lst depth cata-fun cata-defs dotted-vars)
795
+ (syntax-case item (unquote ->)
796
+ ; normal pattern var
797
+ [(unquote var)
798
+ (identifier? (syntax var))
799
+ (let ([new-exp (car (generate-temporaries (list exp)))])
800
+ (let-values ([(next-tests new-pvar-lst new-cata-defs new-dotted-vars)
801
+ (nextp new-exp (add-pat-var (syntax var) pvar-lst) cata-defs dotted-vars)])
802
+ (values (with-syntax ([x exp]
803
+ [nx new-exp]
804
+ [body next-tests]
805
+ [fail-to fail-k])
806
+ (syntax (if (pair? x)
807
+ (let ([nx (cdr x)]
808
+ [var (car x)])
809
+ body)
810
+ (fail-to))))
811
+ new-pvar-lst
812
+ new-cata-defs
813
+ new-dotted-vars)))]
814
+ ; named catamorphism
815
+ [(unquote [cata -> cvar ...])
816
+ (let ([new-exp (car (generate-temporaries (list exp)))]
817
+ [ctemp (car (generate-temporaries (syntax ([cvar ...]))))])
818
+ (let-values ([(next-tests new-pvar-lst new-cata-defs new-dotted-vars)
819
+ (nextp new-exp
820
+ (add-pat-var ctemp pvar-lst)
821
+ (add-cata-def depth
822
+ (syntax [cvar ...])
823
+ (syntax cata)
824
+ ctemp
825
+ cata-defs)
826
+ dotted-vars)])
827
+ (values (with-syntax ([x exp]
828
+ [nx new-exp]
829
+ [ct ctemp]
830
+ [body next-tests]
831
+ [fail-to fail-k])
832
+ (syntax (if (pair? x)
833
+ (let ([nx (cdr x)]
834
+ [ct (car x)])
835
+ body)
836
+ (fail-to))))
837
+ new-pvar-lst
838
+ new-cata-defs
839
+ new-dotted-vars)))]
840
+ ; basic catamorphism
841
+ [(unquote [cvar ...])
842
+ (let ([new-exp (car (generate-temporaries (list exp)))]
843
+ [ctemp (car (generate-temporaries (syntax ([cvar ...]))))])
844
+ (if (not cata-fun)
845
+ (sxml-match-syntax-error "sxml-match pattern: catamorphism not allowed in this context"
846
+ stx
847
+ (syntax [cvar ...])))
848
+ (let-values ([(next-tests new-pvar-lst new-cata-defs new-dotted-vars)
849
+ (nextp new-exp
850
+ (add-pat-var ctemp pvar-lst)
851
+ (add-cata-def depth
852
+ (syntax [cvar ...])
853
+ cata-fun
854
+ ctemp
855
+ cata-defs)
856
+ dotted-vars)])
857
+ (values (with-syntax ([x exp]
858
+ [nx new-exp]
859
+ [ct ctemp]
860
+ [body next-tests]
861
+ [fail-to fail-k])
862
+ (syntax (if (pair? x)
863
+ (let ([nx (cdr x)]
864
+ [ct (car x)])
865
+ body)
866
+ (fail-to))))
867
+ new-pvar-lst
868
+ new-cata-defs
869
+ new-dotted-vars)))]
870
+ [(tag item ...)
871
+ (identifier? (syntax tag))
872
+ (let ([new-exp (car (generate-temporaries (list exp)))])
873
+ (let-values ([(after-tests after-pvar-lst after-cata-defs after-dotted-vars)
874
+ (compile-element-pat (syntax (tag item ...))
875
+ (with-syntax ([x exp])
876
+ (syntax (car x)))
877
+ (lambda (more-pvar-lst more-cata-defs more-dotted-vars)
878
+ (let-values ([(next-tests new-pvar-lst
879
+ new-cata-defs
880
+ new-dotted-vars)
881
+ (nextp new-exp
882
+ more-pvar-lst
883
+ more-cata-defs
884
+ more-dotted-vars)])
885
+ (values (with-syntax ([x exp]
886
+ [nx new-exp]
887
+ [body next-tests])
888
+ (syntax (let ([nx (cdr x)])
889
+ body)))
890
+ new-pvar-lst
891
+ new-cata-defs
892
+ new-dotted-vars)))
893
+ fail-k
894
+ pvar-lst
895
+ depth
896
+ cata-fun
897
+ cata-defs
898
+ dotted-vars)])
899
+ ; test that we are not at the end of an item-list, BEFORE
900
+ ; entering tests for the element pattern (against the 'car' of the item-list)
901
+ (values (with-syntax ([x exp]
902
+ [body after-tests]
903
+ [fail-to fail-k])
904
+ (syntax (if (pair? x)
905
+ body
906
+ (fail-to))))
907
+ after-pvar-lst
908
+ after-cata-defs
909
+ after-dotted-vars)))]
910
+ [(i ...)
911
+ (sxml-match-syntax-error "bad pattern syntax (not an element pattern)"
912
+ stx
913
+ (syntax (i ...)))]
914
+ [i
915
+ (identifier? (syntax i))
916
+ (sxml-match-syntax-error "bad pattern syntax (symbol not allowed in this context)"
917
+ stx
918
+ (syntax i))]
919
+ [literal
920
+ (literal? (syntax literal))
921
+ (let ([new-exp (car (generate-temporaries (list exp)))])
922
+ (let-values ([(next-tests new-pvar-lst new-cata-defs new-dotted-vars)
923
+ (nextp new-exp pvar-lst cata-defs dotted-vars)])
924
+ (values (with-syntax ([x exp]
925
+ [nx new-exp]
926
+ [body next-tests]
927
+ [fail-to fail-k])
928
+ (syntax (if (and (pair? x) (equal? literal (car x)))
929
+ (let ([nx (cdr x)])
930
+ body)
931
+ (fail-to))))
932
+ new-pvar-lst
933
+ new-cata-defs
934
+ new-dotted-vars)))]))])
935
+ (let ([fail-k (syntax failure)])
936
+ (syntax-case stx (unquote guard ->)
937
+ [(compile-clause ((unquote var) (guard gexp ...) action0 action ...)
938
+ exp
939
+ cata-fun
940
+ fail-exp)
941
+ (identifier? (syntax var))
942
+ (syntax (let ([var exp])
943
+ (if (and gexp ...)
944
+ (begin action0 action ...)
945
+ (fail-exp))))]
946
+ [(compile-clause ((unquote [cata -> cvar ...]) (guard gexp ...) action0 action ...)
947
+ exp
948
+ cata-fun
949
+ fail-exp)
950
+ (syntax (if (and gexp ...)
951
+ (let-values ([(cvar ...) (cata exp)])
952
+ (begin action0 action ...))
953
+ (fail-exp)))]
954
+ [(compile-clause ((unquote [cvar ...]) (guard gexp ...) action0 action ...)
955
+ exp
956
+ cata-fun
957
+ fail-exp)
958
+ (if (not (extract-cata-fun (syntax cata-fun)))
959
+ (sxml-match-syntax-error "sxml-match pattern: catamorphism not allowed in this context"
960
+ stx
961
+ (syntax [cvar ...]))
962
+ (syntax (if (and gexp ...)
963
+ (let-values ([(cvar ...) (cata-fun exp)])
964
+ (begin action0 action ...))
965
+ (fail-exp))))]
966
+ [(compile-clause ((unquote var) action0 action ...) exp cata-fun fail-exp)
967
+ (identifier? (syntax var))
968
+ (syntax (let ([var exp])
969
+ action0 action ...))]
970
+ [(compile-clause ((unquote [cata -> cvar ...]) action0 action ...) exp cata-fun fail-exp)
971
+ (syntax (let-values ([(cvar ...) (cata exp)])
972
+ action0 action ...))]
973
+ [(compile-clause ((unquote [cvar ...]) action0 action ...) exp cata-fun fail-exp)
974
+ (if (not (extract-cata-fun (syntax cata-fun)))
975
+ (sxml-match-syntax-error "sxml-match pattern: catamorphism not allowed in this context"
976
+ stx
977
+ (syntax [cvar ...]))
978
+ (syntax (let-values ([(cvar ...) (cata-fun exp)])
979
+ action0 action ...)))]
980
+ [(compile-clause ((lst . rst) (guard gexp ...) action0 action ...) exp cata-fun fail-exp)
981
+ (and (identifier? (syntax lst)) (eq? 'list (syntax-object->datum (syntax lst))))
982
+ (let-values ([(result pvar-lst cata-defs dotted-vars)
983
+ (compile-item-list (syntax rst)
984
+ (syntax exp)
985
+ (lambda (new-pvar-lst new-cata-defs new-dotted-vars)
986
+ (values
987
+ (with-syntax
988
+ ([exp-body (process-cata-defs new-cata-defs
989
+ (process-output-action
990
+ (syntax (begin action0
991
+ action ...))
992
+ new-dotted-vars))]
993
+ [fail-to fail-k])
994
+ (syntax (if (and gexp ...) exp-body (fail-to))))
995
+ new-pvar-lst
996
+ new-cata-defs
997
+ new-dotted-vars))
998
+ fail-k
999
+ #t
1000
+ '()
1001
+ 0
1002
+ (extract-cata-fun (syntax cata-fun))
1003
+ '()
1004
+ '())])
1005
+ (with-syntax ([fail-to fail-k]
1006
+ [body result])
1007
+ (syntax (let ([fail-to fail-exp])
1008
+ (if (nodeset? exp)
1009
+ body
1010
+ (fail-to))))))]
1011
+ [(compile-clause ((lst . rst) action0 action ...) exp cata-fun fail-exp)
1012
+ (and (identifier? (syntax lst)) (eq? 'list (syntax-object->datum (syntax lst))))
1013
+ (let-values ([(result pvar-lst cata-defs dotted-vars)
1014
+ (compile-item-list (syntax rst)
1015
+ (syntax exp)
1016
+ (lambda (new-pvar-lst new-cata-defs new-dotted-vars)
1017
+ (values (process-cata-defs new-cata-defs
1018
+ (process-output-action
1019
+ (syntax (begin action0
1020
+ action ...))
1021
+ new-dotted-vars))
1022
+ new-pvar-lst
1023
+ new-cata-defs
1024
+ new-dotted-vars))
1025
+ fail-k
1026
+ #t
1027
+ '()
1028
+ 0
1029
+ (extract-cata-fun (syntax cata-fun))
1030
+ '()
1031
+ '())])
1032
+ (with-syntax ([body result]
1033
+ [fail-to fail-k])
1034
+ (syntax (let ([fail-to fail-exp])
1035
+ (if (nodeset? exp)
1036
+ body
1037
+ (fail-to))))))]
1038
+ [(compile-clause ((fst . rst) (guard gexp ...) action0 action ...) exp cata-fun fail-exp)
1039
+ (identifier? (syntax fst))
1040
+ (let-values ([(result pvar-lst cata-defs dotted-vars)
1041
+ (compile-element-pat (syntax (fst . rst))
1042
+ (syntax exp)
1043
+ (lambda (new-pvar-lst new-cata-defs new-dotted-vars)
1044
+ (values
1045
+ (with-syntax
1046
+ ([body (process-cata-defs new-cata-defs
1047
+ (process-output-action
1048
+ (syntax (begin action0
1049
+ action ...))
1050
+ new-dotted-vars))]
1051
+ [fail-to fail-k])
1052
+ (syntax (if (and gexp ...) body (fail-to))))
1053
+ new-pvar-lst
1054
+ new-cata-defs
1055
+ new-dotted-vars))
1056
+ fail-k
1057
+ '()
1058
+ 0
1059
+ (extract-cata-fun (syntax cata-fun))
1060
+ '()
1061
+ '())])
1062
+ (with-syntax ([fail-to fail-k]
1063
+ [body result])
1064
+ (syntax (let ([fail-to fail-exp])
1065
+ body))))]
1066
+ [(compile-clause ((fst . rst) action0 action ...) exp cata-fun fail-exp)
1067
+ (identifier? (syntax fst))
1068
+ (let-values ([(result pvar-lst cata-defs dotted-vars)
1069
+ (compile-element-pat (syntax (fst . rst))
1070
+ (syntax exp)
1071
+ (lambda (new-pvar-lst new-cata-defs new-dotted-vars)
1072
+ (values (process-cata-defs new-cata-defs
1073
+ (process-output-action
1074
+ (syntax (begin action0
1075
+ action ...))
1076
+ new-dotted-vars))
1077
+ new-pvar-lst
1078
+ new-cata-defs
1079
+ new-dotted-vars))
1080
+ fail-k
1081
+ '()
1082
+ 0
1083
+ (extract-cata-fun (syntax cata-fun))
1084
+ '()
1085
+ '())])
1086
+ (with-syntax ([fail-to fail-k]
1087
+ [body result])
1088
+ (syntax (let ([fail-to fail-exp])
1089
+ body))))]
1090
+ [(compile-clause ((i ...) (guard gexp ...) action0 action ...) exp cata-fun fail-exp)
1091
+ (sxml-match-syntax-error "bad pattern syntax (not an element pattern)"
1092
+ stx
1093
+ (syntax (i ...)))]
1094
+ [(compile-clause ((i ...) action0 action ...) exp cata-fun fail-exp)
1095
+ (sxml-match-syntax-error "bad pattern syntax (not an element pattern)"
1096
+ stx
1097
+ (syntax (i ...)))]
1098
+ [(compile-clause (pat (guard gexp ...) action0 action ...) exp cata-fun fail-exp)
1099
+ (identifier? (syntax pat))
1100
+ (sxml-match-syntax-error "bad pattern syntax (symbol not allowed in this context)"
1101
+ stx
1102
+ (syntax pat))]
1103
+ [(compile-clause (pat action0 action ...) exp cata-fun fail-exp)
1104
+ (identifier? (syntax pat))
1105
+ (sxml-match-syntax-error "bad pattern syntax (symbol not allowed in this context)"
1106
+ stx
1107
+ (syntax pat))]
1108
+ [(compile-clause (literal (guard gexp ...) action0 action ...) exp cata-fun fail-exp)
1109
+ (literal? (syntax literal))
1110
+ (syntax (if (and (equal? literal exp) (and gexp ...))
1111
+ (begin action0 action ...)
1112
+ (fail-exp)))]
1113
+ [(compile-clause (literal action0 action ...) exp cata-fun fail-exp)
1114
+ (literal? (syntax literal))
1115
+ (syntax (if (equal? literal exp)
1116
+ (begin action0 action ...)
1117
+ (fail-exp)))])))))
1118
+
1119
+ (define-syntax sxml-match1
1120
+ (syntax-rules ()
1121
+ [(sxml-match1 exp cata-fun clause)
1122
+ (compile-clause clause exp cata-fun
1123
+ (lambda () (error 'sxml-match "no matching clause found")))]
1124
+ [(sxml-match1 exp cata-fun clause0 clause ...)
1125
+ (let/ec escape
1126
+ (compile-clause clause0 exp cata-fun
1127
+ (lambda () (call-with-values
1128
+ (lambda () (sxml-match1 exp cata-fun
1129
+ clause ...))
1130
+ escape))))]))
1131
+
1132
+ (define-syntax sxml-match
1133
+ (syntax-rules ()
1134
+ ((sxml-match val clause0 clause ...)
1135
+ (letrec ([cfun (lambda (exp)
1136
+ (sxml-match1 exp cfun clause0 clause ...))])
1137
+ (cfun val)))))
1138
+
1139
+ (define-syntax sxml-match-let1
1140
+ (syntax-rules ()
1141
+ [(sxml-match-let1 syntag synform () body0 body ...)
1142
+ (let () body0 body ...)]
1143
+ [(sxml-match-let1 syntag synform ([pat exp]) body0 body ...)
1144
+ (compile-clause (pat (let () body0 body ...))
1145
+ exp
1146
+ #f
1147
+ (lambda () (error 'syntag "could not match pattern ~s" 'pat)))]
1148
+ [(sxml-match-let1 syntag synform ([pat0 exp0] [pat exp] ...) body0 body ...)
1149
+ (compile-clause (pat0 (sxml-match-let1 syntag synform ([pat exp] ...) body0 body ...))
1150
+ exp0
1151
+ #f
1152
+ (lambda () (error 'syntag "could not match pattern ~s" 'pat0)))]))
1153
+
1154
+ (define-syntax sxml-match-let-help
1155
+ (lambda (stx)
1156
+ (syntax-case stx ()
1157
+ [(sxml-match-let-help syntag synform ([pat exp] ...) body0 body ...)
1158
+ (with-syntax ([(temp-name ...) (generate-temporaries (syntax (exp ...)))])
1159
+ (syntax (let ([temp-name exp] ...)
1160
+ (sxml-match-let1 syntag synform ([pat temp-name] ...) body0 body ...))))])))
1161
+
1162
+ (define-syntax sxml-match-let
1163
+ (lambda (stx)
1164
+ (syntax-case stx ()
1165
+ [(sxml-match-let ([pat exp] ...) body0 body ...)
1166
+ (with-syntax ([synform stx])
1167
+ (syntax (sxml-match-let-help sxml-match-let synform ([pat exp] ...) body0 body ...)))])))
1168
+
1169
+ (define-syntax sxml-match-let*
1170
+ (lambda (stx)
1171
+ (syntax-case stx ()
1172
+ [(sxml-match-let* () body0 body ...)
1173
+ (syntax (let () body0 body ...))]
1174
+ [(sxml-match-let* ([pat0 exp0] [pat exp] ...) body0 body ...)
1175
+ (with-syntax ([synform stx])
1176
+ (syntax (sxml-match-let-help sxml-match-let* synform ([pat0 exp0])
1177
+ (sxml-match-let* ([pat exp] ...)
1178
+ body0 body ...))))])))
1179
+
1180
+ )
1181
+