basedpl 0.1.70__tar.gz → 0.1.71__tar.gz

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 (476) hide show
  1. {basedpl-0.1.70 → basedpl-0.1.71}/.cargo/config.toml +2 -2
  2. {basedpl-0.1.70 → basedpl-0.1.71}/Cargo.lock +9 -9
  3. {basedpl-0.1.70 → basedpl-0.1.71}/Cargo.toml +1 -1
  4. {basedpl-0.1.70 → basedpl-0.1.71}/DEV.md +1 -1
  5. {basedpl-0.1.70 → basedpl-0.1.71}/PKG-INFO +1 -1
  6. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/downstile.qmd +2 -2
  7. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/upstile.qmd +2 -2
  8. {basedpl-0.1.70 → basedpl-0.1.71}/src/eval/bindings.rs +2 -2
  9. {basedpl-0.1.70 → basedpl-0.1.71}/src/eval/session.rs +3 -4
  10. {basedpl-0.1.70 → basedpl-0.1.71}/src/number.rs +1 -1
  11. {basedpl-0.1.70 → basedpl-0.1.71}/tests/reference/core.bpl +5 -5
  12. {basedpl-0.1.70 → basedpl-0.1.71}/tests/speed.txt +191 -252
  13. {basedpl-0.1.70 → basedpl-0.1.71}/.gitattributes +0 -0
  14. {basedpl-0.1.70 → basedpl-0.1.71}/.github/workflows/ci.yml +0 -0
  15. {basedpl-0.1.70 → basedpl-0.1.71}/.github/workflows/docs.yml +0 -0
  16. {basedpl-0.1.70 → basedpl-0.1.71}/.github/workflows/speed.yml +0 -0
  17. {basedpl-0.1.70 → basedpl-0.1.71}/.github/workflows/test.yml +0 -0
  18. {basedpl-0.1.70 → basedpl-0.1.71}/.gitignore +0 -0
  19. {basedpl-0.1.70 → basedpl-0.1.71}/CONTRIBUTING.md +0 -0
  20. {basedpl-0.1.70 → basedpl-0.1.71}/LICENSE +0 -0
  21. {basedpl-0.1.70 → basedpl-0.1.71}/README.md +0 -0
  22. {basedpl-0.1.70 → basedpl-0.1.71}/_config.yml +0 -0
  23. {basedpl-0.1.70 → basedpl-0.1.71}/_layouts/default.html +0 -0
  24. {basedpl-0.1.70 → basedpl-0.1.71}/build.rs +0 -0
  25. {basedpl-0.1.70 → basedpl-0.1.71}/editors/jetbrains/BPL.tmbundle/Syntaxes/bpl.tmLanguage.json +0 -0
  26. {basedpl-0.1.70 → basedpl-0.1.71}/editors/jetbrains/BPL.tmbundle/Syntaxes/hpl.tmLanguage.json +0 -0
  27. {basedpl-0.1.70 → basedpl-0.1.71}/editors/jetbrains/BPL.tmbundle/info.plist +0 -0
  28. {basedpl-0.1.70 → basedpl-0.1.71}/editors/jetbrains/BPL.xml +0 -0
  29. {basedpl-0.1.70 → basedpl-0.1.71}/editors/jetbrains/README.md +0 -0
  30. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-de.bundle/Contents/Info.plist +0 -0
  31. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-de.bundle/Contents/Resources/BasedPL-de.icns +0 -0
  32. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-de.bundle/Contents/Resources/BasedPL-de.keylayout +0 -0
  33. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-de.bundle/Contents/Resources/en.lproj/InfoPlist.strings +0 -0
  34. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-de.bundle/Contents/version.plist +0 -0
  35. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-de.txt +0 -0
  36. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-es.bundle/Contents/Info.plist +0 -0
  37. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-es.bundle/Contents/Resources/BasedPL-es.icns +0 -0
  38. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-es.bundle/Contents/Resources/BasedPL-es.keylayout +0 -0
  39. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-es.bundle/Contents/Resources/en.lproj/InfoPlist.strings +0 -0
  40. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-es.bundle/Contents/version.plist +0 -0
  41. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-es.txt +0 -0
  42. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-fr.bundle/Contents/Info.plist +0 -0
  43. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-fr.bundle/Contents/Resources/BasedPL-fr.icns +0 -0
  44. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-fr.bundle/Contents/Resources/BasedPL-fr.keylayout +0 -0
  45. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-fr.bundle/Contents/Resources/en.lproj/InfoPlist.strings +0 -0
  46. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-fr.bundle/Contents/version.plist +0 -0
  47. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-fr.txt +0 -0
  48. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-uk.bundle/Contents/Info.plist +0 -0
  49. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-uk.bundle/Contents/Resources/BasedPL-uk.icns +0 -0
  50. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-uk.bundle/Contents/Resources/BasedPL-uk.keylayout +0 -0
  51. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-uk.bundle/Contents/Resources/en.lproj/InfoPlist.strings +0 -0
  52. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-uk.bundle/Contents/version.plist +0 -0
  53. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-uk.txt +0 -0
  54. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-us.bundle/Contents/Info.plist +0 -0
  55. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-us.bundle/Contents/Resources/BasedPL-us.icns +0 -0
  56. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-us.bundle/Contents/Resources/BasedPL-us.keylayout +0 -0
  57. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-us.bundle/Contents/Resources/en.lproj/InfoPlist.strings +0 -0
  58. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-us.bundle/Contents/version.plist +0 -0
  59. {basedpl-0.1.70 → basedpl-0.1.71}/editors/macos/BasedPL-us.txt +0 -0
  60. {basedpl-0.1.70 → basedpl-0.1.71}/editors/vim/ftdetect/bpl.vim +0 -0
  61. {basedpl-0.1.70 → basedpl-0.1.71}/editors/vim/syntax/bpl.vim +0 -0
  62. {basedpl-0.1.70 → basedpl-0.1.71}/editors/windows/README.md +0 -0
  63. {basedpl-0.1.70 → basedpl-0.1.71}/editors/windows/build.ps1 +0 -0
  64. {basedpl-0.1.70 → basedpl-0.1.71}/editors/windows/install.ps1 +0 -0
  65. {basedpl-0.1.70 → basedpl-0.1.71}/editors/windows/keyboard.c +0 -0
  66. {basedpl-0.1.70 → basedpl-0.1.71}/editors/windows/keyboard.def +0 -0
  67. {basedpl-0.1.70 → basedpl-0.1.71}/editors/windows/keyboard.rc +0 -0
  68. {basedpl-0.1.70 → basedpl-0.1.71}/editors/windows/layout.h +0 -0
  69. {basedpl-0.1.70 → basedpl-0.1.71}/index_files/figure-commonmark/cell-17-output-1.svg +0 -0
  70. {basedpl-0.1.70 → basedpl-0.1.71}/index_files/figure-commonmark/cell-18-output-1.svg +0 -0
  71. {basedpl-0.1.70 → basedpl-0.1.71}/index_files/figure-html/cell-17-output-1.svg +0 -0
  72. {basedpl-0.1.70 → basedpl-0.1.71}/index_files/figure-html/cell-18-output-1.svg +0 -0
  73. {basedpl-0.1.70 → basedpl-0.1.71}/lib/LICENSE-april +0 -0
  74. {basedpl-0.1.70 → basedpl-0.1.71}/lib/README.md +0 -0
  75. {basedpl-0.1.70 → basedpl-0.1.71}/lib/array.bpl +0 -0
  76. {basedpl-0.1.70 → basedpl-0.1.71}/lib/dyalog.bpl +0 -0
  77. {basedpl-0.1.70 → basedpl-0.1.71}/lib/graph.bpl +0 -0
  78. {basedpl-0.1.70 → basedpl-0.1.71}/lib/numeric.bpl +0 -0
  79. {basedpl-0.1.70 → basedpl-0.1.71}/lib/power.bpl +0 -0
  80. {basedpl-0.1.70 → basedpl-0.1.71}/lib/regex.bpl +0 -0
  81. {basedpl-0.1.70 → basedpl-0.1.71}/lib/string.bpl +0 -0
  82. {basedpl-0.1.70 → basedpl-0.1.71}/lib/tree.bpl +0 -0
  83. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/.gitignore +0 -0
  84. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/_quarto.yml +0 -0
  85. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/arrays.ipynb +0 -0
  86. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/assignment.ipynb +0 -0
  87. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/bpl.xml +0 -0
  88. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/bqn.xml +0 -0
  89. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/bracket-types.ipynb +0 -0
  90. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/cli.qmd +0 -0
  91. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/comparison.qmd +0 -0
  92. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/data.ipynb +0 -0
  93. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/dfns.ipynb +0 -0
  94. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/distributions.ipynb +0 -0
  95. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/driver.js +0 -0
  96. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/dyalog.ipynb +0 -0
  97. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/dyalog.xml +0 -0
  98. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/evaluation.qmd +0 -0
  99. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/fonts/LICENSE-SAX2 +0 -0
  100. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/fonts/README.md +0 -0
  101. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/fonts/SAX2B.ttf +0 -0
  102. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/fonts/SAX2B.woff2 +0 -0
  103. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/fonts.css +0 -0
  104. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/gallery/attractor.bpl +0 -0
  105. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/gallery/boids.bpl +0 -0
  106. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/gallery/dragon.bpl +0 -0
  107. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/gallery/flow.bpl +0 -0
  108. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/gallery/mandelbrot.bpl +0 -0
  109. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/gallery/mandelbrot32.bpl +0 -0
  110. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/gallery/orbits.bpl +0 -0
  111. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/gallery/phyllotaxis.bpl +0 -0
  112. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/gallery/prefs.bpl +0 -0
  113. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/gallery/reaction.bpl +0 -0
  114. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/gallery.qmd +0 -0
  115. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/getting-started.ipynb +0 -0
  116. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/_metadata.yml +0 -0
  117. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/alpha-underbar.qmd +0 -0
  118. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/alpha.qmd +0 -0
  119. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/at.qmd +0 -0
  120. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/backslash-bar.qmd +0 -0
  121. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/backslash.qmd +0 -0
  122. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/braces.qmd +0 -0
  123. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/brackets.qmd +0 -0
  124. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/bullet.qmd +0 -0
  125. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/circle-backslash.qmd +0 -0
  126. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/circle-bar.qmd +0 -0
  127. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/circle-diaeresis.qmd +0 -0
  128. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/circle-divide.qmd +0 -0
  129. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/circle-slash.qmd +0 -0
  130. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/circle-star.qmd +0 -0
  131. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/circle-stile.qmd +0 -0
  132. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/circle-times.qmd +0 -0
  133. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/circle.qmd +0 -0
  134. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/colon.qmd +0 -0
  135. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/comma-bar.qmd +0 -0
  136. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/comma.qmd +0 -0
  137. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/del-diaeresis.qmd +0 -0
  138. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/del-stile.qmd +0 -0
  139. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/del.qmd +0 -0
  140. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/delta-stile.qmd +0 -0
  141. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/diaeresis.qmd +0 -0
  142. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/diamond-underbar.qmd +0 -0
  143. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/diamond.qmd +0 -0
  144. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/domino.qmd +0 -0
  145. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/dot.qmd +0 -0
  146. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/down-arrow.qmd +0 -0
  147. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/down-shoe.qmd +0 -0
  148. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/down-tack.qmd +0 -0
  149. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/epsilon-underbar.qmd +0 -0
  150. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/epsilon.qmd +0 -0
  151. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/equal-underbar-slash.qmd +0 -0
  152. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/equal-underbar.qmd +0 -0
  153. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/equals.qmd +0 -0
  154. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/error-guard.qmd +0 -0
  155. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/exclamation.qmd +0 -0
  156. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/greater-than-or-equal.qmd +0 -0
  157. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/greater-than.qmd +0 -0
  158. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/hash.qmd +0 -0
  159. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/hydrant.qmd +0 -0
  160. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/infinity.qmd +0 -0
  161. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/inverted-question.qmd +0 -0
  162. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/iota-underbar.qmd +0 -0
  163. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/iota.qmd +0 -0
  164. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/jot-diaeresis.qmd +0 -0
  165. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/jot.qmd +0 -0
  166. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/lamp.qmd +0 -0
  167. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/left-arrow.qmd +0 -0
  168. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/left-shoe-underbar.qmd +0 -0
  169. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/left-shoe.qmd +0 -0
  170. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/left-tack.qmd +0 -0
  171. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/left-tail-arrow.qmd +0 -0
  172. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/less-than-or-equal.qmd +0 -0
  173. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/less-than.qmd +0 -0
  174. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/minus.qmd +0 -0
  175. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/not-equals.qmd +0 -0
  176. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/obelus.qmd +0 -0
  177. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/omega-underbar.qmd +0 -0
  178. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/omega.qmd +0 -0
  179. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/overbar.qmd +0 -0
  180. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/parentheses.qmd +0 -0
  181. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/partial.qmd +0 -0
  182. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/pi.qmd +0 -0
  183. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/plus.qmd +0 -0
  184. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/quad-colon.qmd +0 -0
  185. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/quad-diamond.qmd +0 -0
  186. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/quad-equal.qmd +0 -0
  187. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/quad-jot.qmd +0 -0
  188. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/quad.qmd +0 -0
  189. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/question.qmd +0 -0
  190. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/quote.qmd +0 -0
  191. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/radical.qmd +0 -0
  192. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/rho.qmd +0 -0
  193. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/right-arrow-from-bar.qmd +0 -0
  194. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/right-left-arrows.qmd +0 -0
  195. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/right-shoe.qmd +0 -0
  196. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/right-tack.qmd +0 -0
  197. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/right-tail-arrow.qmd +0 -0
  198. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/slash-bar.qmd +0 -0
  199. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/slash.qmd +0 -0
  200. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/squad.qmd +0 -0
  201. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/star-diaeresis.qmd +0 -0
  202. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/star.qmd +0 -0
  203. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/stile-tilde.qmd +0 -0
  204. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/stile.qmd +0 -0
  205. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/superscript-b.qmd +0 -0
  206. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/thorn.qmd +0 -0
  207. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/tilde-diaeresis.qmd +0 -0
  208. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/tilde.qmd +0 -0
  209. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/times.qmd +0 -0
  210. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/up-arrow.qmd +0 -0
  211. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/up-down-arrow.qmd +0 -0
  212. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/up-shoe.qmd +0 -0
  213. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/up-tack.qmd +0 -0
  214. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/vee-bar.qmd +0 -0
  215. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/vee.qmd +0 -0
  216. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/wedge-bar.qmd +0 -0
  217. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/wedge.qmd +0 -0
  218. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs/zilde.qmd +0 -0
  219. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs-study.qmd +0 -0
  220. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/glyphs.qmd +0 -0
  221. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/hanzi-notation-zh.ipynb +0 -0
  222. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/hanzi-notation.ipynb +0 -0
  223. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/hpl.xml +0 -0
  224. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/index.ipynb +0 -0
  225. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/indexing.ipynb +0 -0
  226. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/introspection.ipynb +0 -0
  227. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/keyboard.qmd +0 -0
  228. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/keyed.ipynb +0 -0
  229. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/llms.txt +0 -0
  230. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/magics.ipynb +0 -0
  231. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/modules.qmd +0 -0
  232. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/nbdev.yml +0 -0
  233. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/notebooks.ipynb +0 -0
  234. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/numbers.qmd +0 -0
  235. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/overview.ipynb +0 -0
  236. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/papers/aplwiki-arrays.md +0 -0
  237. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/papers/brickman-depth-1-scalars.md +0 -0
  238. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/papers/mercer-based-system.md +0 -0
  239. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/playground/bpl.js +0 -0
  240. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/playground/gallery.js +0 -0
  241. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/playground/hpl.tmLanguage.json +0 -0
  242. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/playground/monaco-worker.js +0 -0
  243. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/playground/page.js +0 -0
  244. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/playground/worker.js +0 -0
  245. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/playground.qmd +0 -0
  246. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/plot.ipynb +0 -0
  247. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/principles.ipynb +0 -0
  248. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/processes.qmd +0 -0
  249. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/puppy.jpg +0 -0
  250. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/python.ipynb +0 -0
  251. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/regex.ipynb +0 -0
  252. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/repl.qmd +0 -0
  253. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/scripts.ipynb +0 -0
  254. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/sidebar.yml +0 -0
  255. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/strings.ipynb +0 -0
  256. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/study/01_basics.ipynb +0 -0
  257. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/study/02_functions.ipynb +0 -0
  258. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/study/03_operators.ipynb +0 -0
  259. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/study/04_nested-arrays.ipynb +0 -0
  260. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/study/05_searching-indexing.ipynb +0 -0
  261. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/study/06_rearranging-arrays.ipynb +0 -0
  262. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/study/07_numerical-tools.ipynb +0 -0
  263. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/style.qmd +0 -0
  264. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/styles.css +0 -0
  265. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/syntax.qmd +0 -0
  266. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/_metadata.yml +0 -0
  267. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/c.qmd +0 -0
  268. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/canvas.qmd +0 -0
  269. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/constants.qmd +0 -0
  270. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/copy.qmd +0 -0
  271. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/csv.qmd +0 -0
  272. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/date.qmd +0 -0
  273. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/decompose.qmd +0 -0
  274. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/deflate.qmd +0 -0
  275. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/delay.qmd +0 -0
  276. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/detach.qmd +0 -0
  277. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/distribution.qmd +0 -0
  278. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/edge.qmd +0 -0
  279. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/element.qmd +0 -0
  280. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/ex.qmd +0 -0
  281. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/explain.qmd +0 -0
  282. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/fetch.qmd +0 -0
  283. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/float.qmd +0 -0
  284. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/hash.qmd +0 -0
  285. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/host.qmd +0 -0
  286. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/image.qmd +0 -0
  287. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/index.qmd +0 -0
  288. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/js.qmd +0 -0
  289. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/json.qmd +0 -0
  290. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/literal.qmd +0 -0
  291. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/load.qmd +0 -0
  292. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/memory.qmd +0 -0
  293. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/metadata.qmd +0 -0
  294. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/mime.qmd +0 -0
  295. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/mkdir.qmd +0 -0
  296. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/nc.qmd +0 -0
  297. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/nget.qmd +0 -0
  298. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/nl.qmd +0 -0
  299. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/normalize.qmd +0 -0
  300. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/nput.qmd +0 -0
  301. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/path.qmd +0 -0
  302. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/plot.qmd +0 -0
  303. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/prefs.qmd +0 -0
  304. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/r.qmd +0 -0
  305. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/rand.qmd +0 -0
  306. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/readdir.qmd +0 -0
  307. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/remove.qmd +0 -0
  308. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/rename.qmd +0 -0
  309. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/signal.qmd +0 -0
  310. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/src.qmd +0 -0
  311. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/storage.qmd +0 -0
  312. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/svg.qmd +0 -0
  313. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/time.qmd +0 -0
  314. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/ucs.qmd +0 -0
  315. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/uuid.qmd +0 -0
  316. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/vfi.qmd +0 -0
  317. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system/xml.qmd +0 -0
  318. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/system-functions.qmd +0 -0
  319. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/terms.qmd +0 -0
  320. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/web.ipynb +0 -0
  321. {basedpl-0.1.70 → basedpl-0.1.71}/nbs/xml.ipynb +0 -0
  322. {basedpl-0.1.70 → basedpl-0.1.71}/package-lock.json +0 -0
  323. {basedpl-0.1.70 → basedpl-0.1.71}/package.json +0 -0
  324. {basedpl-0.1.70 → basedpl-0.1.71}/provenance/README.md +0 -0
  325. {basedpl-0.1.70 → basedpl-0.1.71}/provenance/aplcart.jsonl +0 -0
  326. {basedpl-0.1.70 → basedpl-0.1.71}/provenance/april.jsonl +0 -0
  327. {basedpl-0.1.70 → basedpl-0.1.71}/provenance/bqn.jsonl +0 -0
  328. {basedpl-0.1.70 → basedpl-0.1.71}/provenance/core.jsonl +0 -0
  329. {basedpl-0.1.70 → basedpl-0.1.71}/provenance/dyalog.jsonl +0 -0
  330. {basedpl-0.1.70 → basedpl-0.1.71}/provenance/ngn.jsonl +0 -0
  331. {basedpl-0.1.70 → basedpl-0.1.71}/py/Cargo.toml +0 -0
  332. {basedpl-0.1.70 → basedpl-0.1.71}/py/build.rs +0 -0
  333. {basedpl-0.1.70 → basedpl-0.1.71}/py/src/lib.rs +0 -0
  334. {basedpl-0.1.70 → basedpl-0.1.71}/pyproject.toml +0 -0
  335. {basedpl-0.1.70 → basedpl-0.1.71}/python/basedpl/__init__.py +0 -0
  336. {basedpl-0.1.70 → basedpl-0.1.71}/python/basedpl/_modidx.py +0 -0
  337. {basedpl-0.1.70 → basedpl-0.1.71}/python/basedpl/bpl.tmLanguage.json +0 -0
  338. {basedpl-0.1.70 → basedpl-0.1.71}/python/basedpl/bpltests.py +0 -0
  339. {basedpl-0.1.70 → basedpl-0.1.71}/python/basedpl/dyalog.py +0 -0
  340. {basedpl-0.1.70 → basedpl-0.1.71}/python/basedpl/editors.py +0 -0
  341. {basedpl-0.1.70 → basedpl-0.1.71}/python/basedpl/font.py +0 -0
  342. {basedpl-0.1.70 → basedpl-0.1.71}/python/basedpl/fonts.css +0 -0
  343. {basedpl-0.1.70 → basedpl-0.1.71}/python/basedpl/functions.py +0 -0
  344. {basedpl-0.1.70 → basedpl-0.1.71}/python/basedpl/hpl.tmLanguage.json +0 -0
  345. {basedpl-0.1.70 → basedpl-0.1.71}/python/basedpl/input.js +0 -0
  346. {basedpl-0.1.70 → basedpl-0.1.71}/python/basedpl/ipython.py +0 -0
  347. {basedpl-0.1.70 → basedpl-0.1.71}/python/basedpl/keyboards.json +0 -0
  348. {basedpl-0.1.70 → basedpl-0.1.71}/python/basedpl/keyboards.py +0 -0
  349. {basedpl-0.1.70 → basedpl-0.1.71}/python/basedpl/layout.json +0 -0
  350. {basedpl-0.1.70 → basedpl-0.1.71}/python/basedpl/lb.js +0 -0
  351. {basedpl-0.1.70 → basedpl-0.1.71}/python/basedpl/notebook_runner.py +0 -0
  352. {basedpl-0.1.70 → basedpl-0.1.71}/python/basedpl/notebooks.py +0 -0
  353. {basedpl-0.1.70 → basedpl-0.1.71}/python/basedpl/printing.py +0 -0
  354. {basedpl-0.1.70 → basedpl-0.1.71}/python/basedpl/reference.py +0 -0
  355. {basedpl-0.1.70 → basedpl-0.1.71}/python/basedpl/syntax.py +0 -0
  356. {basedpl-0.1.70 → basedpl-0.1.71}/python/basedpl/windows_keyboard.py +0 -0
  357. {basedpl-0.1.70 → basedpl-0.1.71}/python/basedpl/worker.py +0 -0
  358. {basedpl-0.1.70 → basedpl-0.1.71}/rustfmt.toml +0 -0
  359. {basedpl-0.1.70 → basedpl-0.1.71}/scripts/install-macos.sh +0 -0
  360. {basedpl-0.1.70 → basedpl-0.1.71}/scripts/prep.py +0 -0
  361. {basedpl-0.1.70 → basedpl-0.1.71}/src/agreement.rs +0 -0
  362. {basedpl-0.1.70 → basedpl-0.1.71}/src/array/storage.rs +0 -0
  363. {basedpl-0.1.70 → basedpl-0.1.71}/src/array/text.rs +0 -0
  364. {basedpl-0.1.70 → basedpl-0.1.71}/src/array.rs +0 -0
  365. {basedpl-0.1.70 → basedpl-0.1.71}/src/batch.rs +0 -0
  366. {basedpl-0.1.70 → basedpl-0.1.71}/src/canvas.js +0 -0
  367. {basedpl-0.1.70 → basedpl-0.1.71}/src/canvas.rs +0 -0
  368. {basedpl-0.1.70 → basedpl-0.1.71}/src/csv.rs +0 -0
  369. {basedpl-0.1.70 → basedpl-0.1.71}/src/data.rs +0 -0
  370. {basedpl-0.1.70 → basedpl-0.1.71}/src/date.rs +0 -0
  371. {basedpl-0.1.70 → basedpl-0.1.71}/src/derivative.rs +0 -0
  372. {basedpl-0.1.70 → basedpl-0.1.71}/src/display.rs +0 -0
  373. {basedpl-0.1.70 → basedpl-0.1.71}/src/distribution.rs +0 -0
  374. {basedpl-0.1.70 → basedpl-0.1.71}/src/element.rs +0 -0
  375. {basedpl-0.1.70 → basedpl-0.1.71}/src/error.rs +0 -0
  376. {basedpl-0.1.70 → basedpl-0.1.71}/src/eval/assign.rs +0 -0
  377. {basedpl-0.1.70 → basedpl-0.1.71}/src/eval/binder.rs +0 -0
  378. {basedpl-0.1.70 → basedpl-0.1.71}/src/eval/dissect.rs +0 -0
  379. {basedpl-0.1.70 → basedpl-0.1.71}/src/eval/idioms.rs +0 -0
  380. {basedpl-0.1.70 → basedpl-0.1.71}/src/eval/operators.rs +0 -0
  381. {basedpl-0.1.70 → basedpl-0.1.71}/src/eval/tree.rs +0 -0
  382. {basedpl-0.1.70 → basedpl-0.1.71}/src/eval.rs +0 -0
  383. {basedpl-0.1.70 → basedpl-0.1.71}/src/execution.rs +0 -0
  384. {basedpl-0.1.70 → basedpl-0.1.71}/src/explain.rs +0 -0
  385. {basedpl-0.1.70 → basedpl-0.1.71}/src/files.rs +0 -0
  386. {basedpl-0.1.70 → basedpl-0.1.71}/src/fusion/blocks.rs +0 -0
  387. {basedpl-0.1.70 → basedpl-0.1.71}/src/fusion.rs +0 -0
  388. {basedpl-0.1.70 → basedpl-0.1.71}/src/host.rs +0 -0
  389. {basedpl-0.1.70 → basedpl-0.1.71}/src/host_web.rs +0 -0
  390. {basedpl-0.1.70 → basedpl-0.1.71}/src/image/codecs.rs +0 -0
  391. {basedpl-0.1.70 → basedpl-0.1.71}/src/image/imageio.rs +0 -0
  392. {basedpl-0.1.70 → basedpl-0.1.71}/src/image.rs +0 -0
  393. {basedpl-0.1.70 → basedpl-0.1.71}/src/inspection.rs +0 -0
  394. {basedpl-0.1.70 → basedpl-0.1.71}/src/js.rs +0 -0
  395. {basedpl-0.1.70 → basedpl-0.1.71}/src/json.rs +0 -0
  396. {basedpl-0.1.70 → basedpl-0.1.71}/src/keyed.rs +0 -0
  397. {basedpl-0.1.70 → basedpl-0.1.71}/src/lib.rs +0 -0
  398. {basedpl-0.1.70 → basedpl-0.1.71}/src/linear.rs +0 -0
  399. {basedpl-0.1.70 → basedpl-0.1.71}/src/name.rs +0 -0
  400. {basedpl-0.1.70 → basedpl-0.1.71}/src/number_theory.rs +0 -0
  401. {basedpl-0.1.70 → basedpl-0.1.71}/src/optimize.rs +0 -0
  402. {basedpl-0.1.70 → basedpl-0.1.71}/src/pervasive.rs +0 -0
  403. {basedpl-0.1.70 → basedpl-0.1.71}/src/plot.rs +0 -0
  404. {basedpl-0.1.70 → basedpl-0.1.71}/src/polynomial.rs +0 -0
  405. {basedpl-0.1.70 → basedpl-0.1.71}/src/primitive/indexing.rs +0 -0
  406. {basedpl-0.1.70 → basedpl-0.1.71}/src/primitive/numeric.rs +0 -0
  407. {basedpl-0.1.70 → basedpl-0.1.71}/src/primitive/search.rs +0 -0
  408. {basedpl-0.1.70 → basedpl-0.1.71}/src/primitive/structural.rs +0 -0
  409. {basedpl-0.1.70 → basedpl-0.1.71}/src/primitive.rs +0 -0
  410. {basedpl-0.1.70 → basedpl-0.1.71}/src/protocol.rs +0 -0
  411. {basedpl-0.1.70 → basedpl-0.1.71}/src/reference.rs +0 -0
  412. {basedpl-0.1.70 → basedpl-0.1.71}/src/regex.rs +0 -0
  413. {basedpl-0.1.70 → basedpl-0.1.71}/src/search.rs +0 -0
  414. {basedpl-0.1.70 → basedpl-0.1.71}/src/selection.rs +0 -0
  415. {basedpl-0.1.70 → basedpl-0.1.71}/src/settings.rs +0 -0
  416. {basedpl-0.1.70 → basedpl-0.1.71}/src/symbols.rs +0 -0
  417. {basedpl-0.1.70 → basedpl-0.1.71}/src/syntax.rs +0 -0
  418. {basedpl-0.1.70 → basedpl-0.1.71}/src/system.rs +0 -0
  419. {basedpl-0.1.70 → basedpl-0.1.71}/src/timing.rs +0 -0
  420. {basedpl-0.1.70 → basedpl-0.1.71}/src/transform.rs +0 -0
  421. {basedpl-0.1.70 → basedpl-0.1.71}/src/xml.rs +0 -0
  422. {basedpl-0.1.70 → basedpl-0.1.71}/tests/common/mod.rs +0 -0
  423. {basedpl-0.1.70 → basedpl-0.1.71}/tests/conftest.py +0 -0
  424. {basedpl-0.1.70 → basedpl-0.1.71}/tests/core.rs +0 -0
  425. {basedpl-0.1.70 → basedpl-0.1.71}/tests/derivatives.rs +0 -0
  426. {basedpl-0.1.70 → basedpl-0.1.71}/tests/explain.rs +0 -0
  427. {basedpl-0.1.70 → basedpl-0.1.71}/tests/highlighting.mjs +0 -0
  428. {basedpl-0.1.70 → basedpl-0.1.71}/tests/input.mjs +0 -0
  429. {basedpl-0.1.70 → basedpl-0.1.71}/tests/instructions.txt +0 -0
  430. {basedpl-0.1.70 → basedpl-0.1.71}/tests/reference/LICENSE-aplcart +0 -0
  431. {basedpl-0.1.70 → basedpl-0.1.71}/tests/reference/LICENSE-april +0 -0
  432. {basedpl-0.1.70 → basedpl-0.1.71}/tests/reference/LICENSE-bqn +0 -0
  433. {basedpl-0.1.70 → basedpl-0.1.71}/tests/reference/LICENSE-bqncrate +0 -0
  434. {basedpl-0.1.70 → basedpl-0.1.71}/tests/reference/LICENSE-dyalog +0 -0
  435. {basedpl-0.1.70 → basedpl-0.1.71}/tests/reference/LICENSE-ngn +0 -0
  436. {basedpl-0.1.70 → basedpl-0.1.71}/tests/reference/README.md +0 -0
  437. {basedpl-0.1.70 → basedpl-0.1.71}/tests/reference/aplcart.bpl +0 -0
  438. {basedpl-0.1.70 → basedpl-0.1.71}/tests/reference/april.bpl +0 -0
  439. {basedpl-0.1.70 → basedpl-0.1.71}/tests/reference/bqn.bpl +0 -0
  440. {basedpl-0.1.70 → basedpl-0.1.71}/tests/reference/distributions.bpl +0 -0
  441. {basedpl-0.1.70 → basedpl-0.1.71}/tests/reference/dyalog.bpl +0 -0
  442. {basedpl-0.1.70 → basedpl-0.1.71}/tests/reference/graphics.bpl +0 -0
  443. {basedpl-0.1.70 → basedpl-0.1.71}/tests/reference/lib.bpl +0 -0
  444. {basedpl-0.1.70 → basedpl-0.1.71}/tests/reference/ngn.bpl +0 -0
  445. {basedpl-0.1.70 → basedpl-0.1.71}/tests/reference/regex.bpl +0 -0
  446. {basedpl-0.1.70 → basedpl-0.1.71}/tests/reference/static-int32.bpl +0 -0
  447. {basedpl-0.1.70 → basedpl-0.1.71}/tests/reference/static.bpl +0 -0
  448. {basedpl-0.1.70 → basedpl-0.1.71}/tests/reference/support/april.bpl +0 -0
  449. {basedpl-0.1.70 → basedpl-0.1.71}/tests/reference/support/avl.bpl +0 -0
  450. {basedpl-0.1.70 → basedpl-0.1.71}/tests/reference/support/redblack.bpl +0 -0
  451. {basedpl-0.1.70 → basedpl-0.1.71}/tests/reference/support/sbst.bpl +0 -0
  452. {basedpl-0.1.70 → basedpl-0.1.71}/tests/reference/support/splay.bpl +0 -0
  453. {basedpl-0.1.70 → basedpl-0.1.71}/tests/reference.rs +0 -0
  454. {basedpl-0.1.70 → basedpl-0.1.71}/tests/scaling.rs +0 -0
  455. {basedpl-0.1.70 → basedpl-0.1.71}/tests/settings.rs +0 -0
  456. {basedpl-0.1.70 → basedpl-0.1.71}/tests/speed.rs +0 -0
  457. {basedpl-0.1.70 → basedpl-0.1.71}/tests/test_api.py +0 -0
  458. {basedpl-0.1.70 → basedpl-0.1.71}/tests/test_basic.py +0 -0
  459. {basedpl-0.1.70 → basedpl-0.1.71}/tests/test_bpltests.py +0 -0
  460. {basedpl-0.1.70 → basedpl-0.1.71}/tests/test_glyphs.py +0 -0
  461. {basedpl-0.1.70 → basedpl-0.1.71}/tests/test_graphics.py +0 -0
  462. {basedpl-0.1.70 → basedpl-0.1.71}/tests/test_instructions.py +0 -0
  463. {basedpl-0.1.70 → basedpl-0.1.71}/tests/test_ipython.py +0 -0
  464. {basedpl-0.1.70 → basedpl-0.1.71}/tests/test_kernel.py +0 -0
  465. {basedpl-0.1.70 → basedpl-0.1.71}/tests/test_keylayout.py +0 -0
  466. {basedpl-0.1.70 → basedpl-0.1.71}/tests/test_notebooks.py +0 -0
  467. {basedpl-0.1.70 → basedpl-0.1.71}/tests/test_reference.py +0 -0
  468. {basedpl-0.1.70 → basedpl-0.1.71}/tests/test_repl.py +0 -0
  469. {basedpl-0.1.70 → basedpl-0.1.71}/tests/test_windows_keyboard.py +0 -0
  470. {basedpl-0.1.70 → basedpl-0.1.71}/tests/test_worker.py +0 -0
  471. {basedpl-0.1.70 → basedpl-0.1.71}/tests/units.rs +0 -0
  472. {basedpl-0.1.70 → basedpl-0.1.71}/tests/wasm-pkg.mjs +0 -0
  473. {basedpl-0.1.70 → basedpl-0.1.71}/tests/wasm-speed.mjs +0 -0
  474. {basedpl-0.1.70 → basedpl-0.1.71}/tests/wasm.mjs +0 -0
  475. {basedpl-0.1.70 → basedpl-0.1.71}/tests/windows_keyboard.c +0 -0
  476. {basedpl-0.1.70 → basedpl-0.1.71}/wheel/data/share/jupyter/kernels/bpl/kernel.json +0 -0
@@ -12,9 +12,9 @@ MACOSX_DEPLOYMENT_TARGET = "15.0"
12
12
  [target.'cfg(target_arch = "x86_64")']
13
13
  rustflags = ["-C", "target-cpu=x86-64-v3", "-C", "passes=loop-vectorize,slp-vectorizer"]
14
14
 
15
- # The browser build uses wasm's 128-bit SIMD, which current browsers all support. V8 unrolls loops itself, so LLVM's runtime unrolling is off: under thin LTO it unrolled the vectorized f64 sum's loop twice, which CI's x86 V8 ran about 1.4 times slower.
15
+ # The browser build uses wasm's 128-bit SIMD, which current browsers all support.
16
16
  [target.wasm32-unknown-unknown]
17
- rustflags = ["-C", "target-feature=+simd128", "-C", "passes=loop-vectorize,slp-vectorizer", "-C", "llvm-args=-unroll-runtime=false"]
17
+ rustflags = ["-C", "target-feature=+simd128", "-C", "passes=loop-vectorize,slp-vectorizer"]
18
18
 
19
19
  [alias]
20
20
  # Builds the npm package into `wasm/pkg/`. `xtask` builds optimised, because its wasm-bindgen pass runs on every call.
@@ -93,7 +93,7 @@ checksum = "ac07cdecf99051d9a5238b80f35af32cdeba5b336e55d957b318b50137e18da5"
93
93
 
94
94
  [[package]]
95
95
  name = "basedpl"
96
- version = "0.1.70"
96
+ version = "0.1.71"
97
97
  dependencies = [
98
98
  "base64 0.23.1",
99
99
  "bytemuck",
@@ -137,7 +137,7 @@ dependencies = [
137
137
 
138
138
  [[package]]
139
139
  name = "basedpl-cli"
140
- version = "0.1.70"
140
+ version = "0.1.71"
141
141
  dependencies = [
142
142
  "async-trait",
143
143
  "basedpl",
@@ -150,7 +150,7 @@ dependencies = [
150
150
 
151
151
  [[package]]
152
152
  name = "basedpl-py"
153
- version = "0.1.70"
153
+ version = "0.1.71"
154
154
  dependencies = [
155
155
  "basedpl",
156
156
  "num-bigint",
@@ -165,7 +165,7 @@ dependencies = [
165
165
 
166
166
  [[package]]
167
167
  name = "basedpl-wasm"
168
- version = "0.1.70"
168
+ version = "0.1.71"
169
169
  dependencies = [
170
170
  "basedpl",
171
171
  "js-sys",
@@ -1413,9 +1413,9 @@ dependencies = [
1413
1413
 
1414
1414
  [[package]]
1415
1415
  name = "rustymath"
1416
- version = "0.1.44"
1416
+ version = "0.1.45"
1417
1417
  source = "registry+https://github.com/rust-lang/crates.io-index"
1418
- checksum = "d09b5c088d1b74acc71f0157a144ce1bf8d59884227af80280c531d84d5c0483"
1418
+ checksum = "539dbd536cc6c64e9080a2c0bc346b6cf2f5308f0e29f814bfefd244bce87d07"
1419
1419
  dependencies = [
1420
1420
  "foldhash",
1421
1421
  "half",
@@ -1434,9 +1434,9 @@ dependencies = [
1434
1434
 
1435
1435
  [[package]]
1436
1436
  name = "rustymath-buffer"
1437
- version = "0.1.44"
1437
+ version = "0.1.45"
1438
1438
  source = "registry+https://github.com/rust-lang/crates.io-index"
1439
- checksum = "5c258719e72a8bce7203cdb2d33cfcd989d2b919a176fb78af2c4c9db09ec0fd"
1439
+ checksum = "1b3f549d927a69037ffe1ec3d11a318d89bbb115ac26c071d19150207e62a811"
1440
1440
  dependencies = [
1441
1441
  "pyo3",
1442
1442
  "rustymath",
@@ -2086,7 +2086,7 @@ checksum = "3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc"
2086
2086
 
2087
2087
  [[package]]
2088
2088
  name = "xtask"
2089
- version = "0.1.70"
2089
+ version = "0.1.71"
2090
2090
  dependencies = [
2091
2091
  "anyhow",
2092
2092
  "rustymath",
@@ -5,7 +5,7 @@ members = ["py"]
5
5
  join_comments = true
6
6
 
7
7
  [workspace.package]
8
- version = "0.1.70"
8
+ version = "0.1.71"
9
9
  edition = "2024"
10
10
  rust-version = "1.98"
11
11
  license = "Apache-2.0"
@@ -184,7 +184,7 @@ Bare numbers, empty literals and NaN use the parsed float width. Top-level `eval
184
184
 
185
185
  Float operations compute at the wider operand width. Exact operands round to the width an operation computes at. f16 operations run on f32 copies. `Numeric::halving` decides when: for a call with an f16 operand, or any call while the default width is 16 bits. `pervasive::halves` applies it to whole operations and `Number::halves` to scalar arithmetic and comparisons. `fusion::defer` declines those calls. Exact inputs convert once, to f32, and float outputs round back to f16. The scalar `Number` path rounds each f16 step. Complex parts have f32/f64 widths; f16 becoming complex uses f32 parts. Scalar Complex32 arithmetic computes at Complex64 and rounds, while kernels can compute at f32. These paths need not agree in their last bits.
186
186
 
187
- Floats use IEEE NaN, infinity and signed zero. Comparison treats NaN as unequal; match/search treat it as one value, and grade puts it last. Exact arithmetic involving division by zero can produce those float values. Floor/ceiling retain an exact operand beside infinity and give NaN beside NaN. Monadic floor/ceiling/sign turn whole finite results into exact integers, including big integers; nonfinite results remain floats. Use `Number::float(value, width)` and explicit-width array construction outside `number.rs` instead of implicit f64 conversion.
187
+ Floats use IEEE NaN, infinity and signed zero. Comparison treats NaN as unequal; match/search treat it as one value, and grade puts it last. Exact arithmetic involving division by zero can produce those float values. Floor/ceiling retain an exact operand beside infinity, and beside NaN give the right argument, as a float. Their folds, scans and products start at the identity and put each item on the left, so a NaN item changes no running result. Monadic floor/ceiling/sign turn whole finite results into exact integers, including big integers; nonfinite results remain floats. Use `Number::float(value, width)` and explicit-width array construction outside `number.rs` instead of implicit f64 conversion.
188
188
 
189
189
  Under `•prefs ["kinds":"static"]`, a result's kind follows from its arguments' kinds alone, as `meta/kinds.md` describes. `Numeric` carries `kinds` and `int`. `pervasive::map` chooses a dyadic call's kind through `joined`, which applies rustymath's `DType::common` after `Numeric::kind`. Atoms promote as arrays do. Python's API makes its scalar arguments weak through `Value::weakened`. The loops keep the failed results that `keeps` names: floats' NaNs, and the wrapped integers of objects that report `WRAPS`. The kernel tables choose float `⌊ ⌈ ×` and wrapping negation from `run.numeric()`. `Stored::build_at` keeps complex results complex. `Primitive::number` gives every pervasive result on numbers, as well as each step of the fold of numbers, and `statically` adjusts it. `Number::parse` keeps complex literals and checks integer literals against the `int` width.
190
190
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: basedpl
3
- Version: 0.1.70
3
+ Version: 0.1.71
4
4
  Classifier: Programming Language :: Rust
5
5
  Classifier: Programming Language :: Python :: Implementation :: CPython
6
6
  Requires-Dist: fastcore
@@ -15,12 +15,12 @@ Complex floor uses APL's Gaussian-integer rule.
15
15
  ⌊1.5j0.5 ⍝ 1j1
16
16
  ```
17
17
 
18
- `X⌊Y` takes the real minimum, and for characters the one with the lower code point. A number is less than any character, as [`⍋`](delta-stile.qmd) orders them. Pervasive. A NaN beside any number gives NaN, in either order and on every machine. A reduction or scan gives NaN from its first NaN on. To leave NaNs out, remove them first, as in `⌊/(v=v)#v`. Empty reduction identity: `∞`.
18
+ `X⌊Y` takes the real minimum, and for characters the one with the lower code point. A number is less than any character, as [`⍋`](delta-stile.qmd) orders them. Pervasive. Beside NaN it gives `Y`: `$n⌊3` is `3`, and `3⌊$n` is `$n`. A reduction or scan starts at `∞` and puts each item on the left, so it leaves NaN items out: `⌊/$n 1` is `1`, and `⌊/$n $n` is `∞`. A NaN seed stays NaN. Empty reduction identity: `∞`.
19
19
 
20
20
  ```bpl
21
21
  3⌊1 5 ⍝ 1 3
22
22
  3⌊1 $n 5 ⍝ 1 $n 3
23
- ⌊\1 $n 3 ⍝ 1 $n $n
23
+ ⌊\1 $n 3 ⍝ 1 1 1
24
24
  "abc"⌊"bab" ⍝ "aab"
25
25
  3⌊'a' ⍝ 3
26
26
  ```
@@ -9,12 +9,12 @@ Function. Keys: `Alt-s`. Hanzi: `上`. Ranks: `0` monadic, `0 0` dyadic
9
9
  ⌈3r2 ⍝ 2ₓ
10
10
  ```
11
11
 
12
- `X⌈Y` takes the real maximum, and for characters the one with the higher code point. A character is greater than any number, as [`⍋`](delta-stile.qmd) orders them. Pervasive. A NaN beside any number gives NaN, in either order and on every machine. A reduction or scan gives NaN from its first NaN on. To leave NaNs out, remove them first, as in `⌈/(v=v)#v`. Empty reduction identity: `¯∞`.
12
+ `X⌈Y` takes the real maximum, and for characters the one with the higher code point. A character is greater than any number, as [`⍋`](delta-stile.qmd) orders them. Pervasive. Beside NaN it gives `Y`: `$n⌈3` is `3`, and `3⌈$n` is `$n`. A reduction or scan starts at `¯∞` and puts each item on the left, so it leaves NaN items out: `⌈/$n 1` is `1`, and `⌈/$n $n` is `¯∞`. A NaN seed stays NaN. Empty reduction identity: `¯∞`.
13
13
 
14
14
  ```bpl
15
15
  3⌈1 5 ⍝ 3 5
16
16
  3⌈1 $n 5 ⍝ 3 $n 5
17
- ⌈\1 $n 3 ⍝ 1 $n $n
17
+ ⌈\1 $n 3 ⍝ 1 1 3
18
18
  "abc"⌈"bab" ⍝ "bbc"
19
19
  3⌈'a' ⍝ 'a'
20
20
  ```
@@ -357,12 +357,12 @@ impl Bindings {
357
357
 
358
358
  /// Pushes `frame` and makes it current. Its first slots hold `implicit`, the bindings of the six names that a call binds itself, in slot order (`Name::implicit`), and its locals' slots are empty. Fails at the depth limit, before pushing.
359
359
  #[inline]
360
- pub(super) fn enter(&self, mut frame: Frame, implicit: [Option<Binding>; IMPLICIT], span: &Span) -> Result<(), Error> {
360
+ pub(super) fn enter(&self, mut frame: Frame, mut implicit: [Option<Binding>; IMPLICIT], span: &Span) -> Result<(), Error> {
361
361
  let mut stack = self.stack.borrow_mut();
362
362
  if stack.frames.len() == MAX_FRAME_DEPTH { return Err(Error::new(Kind::Limit, format!("lexical frame depth exceeds {MAX_FRAME_DEPTH}")).at(span)); }
363
363
  frame.base = stack.slots.len();
364
- stack.slots.extend(implicit);
365
364
  stack.slots.resize_with(frame.slots().end, || None);
365
+ stack.slots[frame.base..frame.base + IMPLICIT].swap_with_slice(&mut implicit);
366
366
  self.current.set(Some(stack.frames.len()));
367
367
  stack.frames.push(frame);
368
368
  Ok(())
@@ -617,11 +617,10 @@ impl Session {
617
617
 
618
618
  // Inlined into `dispatch`, this would add its locals to the stack frame of every BPL call, limiting recursion in the browser.
619
619
  #[inline(never)]
620
- pub(super) fn call_defined(&self, function: &Function, left: Option<&Value>, right: &Value) -> Result<Bound, Error> {
621
- let return_span = function.definition().expect("call_defined calls a dfn").span.clone();
620
+ pub(super) fn call_defined(&self, first: &Function, left: Option<&Value>, right: &Value) -> Result<Bound, Error> {
622
621
  let caller = self.bindings.current();
623
622
  let base = self.bindings.depth();
624
- let (mut function, mut left, mut right) = (function.clone(), left.cloned(), right.clone());
623
+ let (mut function, mut left, mut right) = (first.clone(), left.cloned(), right.clone());
625
624
  let mut tail_span = None;
626
625
  let mut unshy = false;
627
626
  let mut result = loop {
@@ -653,7 +652,7 @@ impl Session {
653
652
  };
654
653
  if let (Err(error), Some(span)) = (&mut result, tail_span) { error.calls.push(span); }
655
654
  if let Ok(bound) = &mut result { if unshy { bound.shy = false; } }
656
- self.leave(base, caller, result, &return_span)
655
+ self.leave(base, caller, result, &first.definition().expect("call_defined calls a dfn").span)
657
656
  }
658
657
 
659
658
  /// Drops the frames from `base` on, makes `caller` current and gives back `result`. A result that refers to a dropped frame is an error.
@@ -883,7 +883,7 @@ impl Number {
883
883
 
884
884
  fn minimum(&self, right: &Self, maximum: bool) -> Result<Self, &'static str> {
885
885
  if let (Integer(x), Integer(y)) = (&self.0, &right.0) { return Ok(Self(Integer(if maximum { *x.max(y) } else { *x.min(y) }))); }
886
- // NaN beside any number gives NaN, at the width the two compute at. An exact number stays exact beside an infinity, and beside another exact number.
886
+ // Beside NaN it gives `right` at the width the two compute at, as `rustymath::reduce::maximum` gives its `y`. An exact number stays exact beside an infinity, and beside another exact number.
887
887
  let nan = self.is_nan() || right.is_nan();
888
888
  if !nan && ((self.is_exact() && right.is_exact()) || self.is_infinite() || right.is_infinite()) {
889
889
  return Ok((if maximum == self.order(right)?.is_lt() { right } else { self }).clone());
@@ -4759,13 +4759,13 @@ $t $t $t $t $t $t $t
4759
4759
  $t $t $t $t
4760
4760
  $t $t $t $t $t
4761
4761
 
4762
- ⍝ — Under dynamic kinds, ⌊ and ⌈ keep an exact number exact beside an infinity, and give NaN beside NaN. On a large array they don't fuse beside an exact number or a comparison, because a fused graph reads them as floats
4762
+ ⍝ — Under dynamic kinds, ⌊ and ⌈ keep an exact number exact beside an infinity, and give their right argument beside NaN, as a float. On a large array they don't fuse beside an exact number or a comparison, because a fused graph reads them as floats
4763
4763
  x←¿1000000⍴0 ⋄ x.[[0 1 2 3]]←[∞ ¯∞ $n 0] ⋄ [4↑x⌊0ₓ ⋄ 4↑x⌈0ₓ ⋄ 4↑x⌊x>0 ⋄ 4↑x⌈$t]
4764
- [0ₓ ¯∞ $n 0⋄∞ 0ₓ $n 0⋄1ₓ ¯∞ $n 0⋄∞ 1ₓ $n 1]
4764
+ [0ₓ ¯∞ 0 0⋄∞ 0ₓ 0 0⋄1ₓ ¯∞ 0 0⋄∞ 1ₓ 1 1]
4765
4765
 
4766
- ⍝ max-min-nan — A NaN beside any number gives NaN in ⌈ and ⌊, by every route: dyadic in either order, folds and scans short and long, columns, Key, seeded folds, windows, rows, products, exact and mixed numbers, and a long fold split into pieces
4767
- nans←{+/,~⍵=⍵} ⋄ r←⌈\(⍳10),$n,⍳53 ⋄ m←64 64⍴0.5+⍳4096 ⋄ m.[3 5]←$n ⋄ q←1000 4⍴0.5+⍳4000 ⋄ q.[7 2]←$n ⋄ p←100 20⍴0.5+⍳2000 ⋄ p.[3 4]←$n ⋄ w←0.5+⍳200 ⋄ w.[100]←$n ⋄ s←0.5+⍳1000000 ⋄ s.[900000]←$n ⋄ s.[900001]←1e9 ⋄ [$n⌈3;3⌈$n;$n⌊3;3⌊$n;⌈/1 $n 3;⌊/1 $n 3;⌈/$n,⍳15;⌈/(⍳15),$n;⌈/$n $n;⌈\$n 1 2;⌊\1 $n 3;nans ⌈\$n,⍳63;10↑r;nans r;⌈⌿[1 $n⋄3 4];nans ⌈⌿m;0 1 0 1 (⌈/⊢)⌸ 1 $n 3 4;0⌈/$n 1 2;0⌈/$n,⍳20;⌈/3↕1 $n 3 4 5;nans ⌈/50↕w;⌈/⍤1 [1 $n 3⋄4 5 6];nans ⌈/⍤1 q;nans ⌈/⍤1 p;nans ⌈/⍤1 m;[1 $n⋄3 4]⌈.+2 2⍴0;nans m⌈.+m;nans m⌊.+m;1ₓ⌈$n;$n⌊1ₓ;⌈/1ₓ $n 2.5;⌈/s;⌊/s]
4768
- [$n $n $n $n $n $n $n $n $n [$n $n $n] [1 $n $n] 64ₓ [0 1 2 3 4 5 6 7 8 9] 54ₓ [3 $n] 1ₓ [3 $n] $n $n [$n $n 5] 50ₓ [$n 6] 1ₓ 1ₓ 1ₓ [$n $n⋄4 4] 127ₓ 127ₓ $n $n $n $n $n]
4766
+ ⍝ max-min-nan — ⌈ and ⌊ give their right argument beside NaN, and every fold, scan and product starts at ¯∞ or ∞ with each item on the left, so a NaN item changes no running result and a NaN seed stays: dyadic in either order, folds and scans short and long, columns, Key, seeded folds, windows, rows, products, exact and mixed numbers, and a long fold split into pieces
4767
+ nans←{+/,~⍵=⍵} ⋄ r←⌈\(⍳10),$n,⍳53 ⋄ m←64 64⍴0.5+⍳4096 ⋄ m.[3 5]←$n ⋄ q←1000 4⍴0.5+⍳4000 ⋄ q.[7 2]←$n ⋄ p←100 20⍴0.5+⍳2000 ⋄ p.[3 4]←$n ⋄ w←0.5+⍳200 ⋄ w.[100]←$n ⋄ s←0.5+⍳1000000 ⋄ s.[900000]←$n ⋄ s.[900001]←1e9 ⋄ [$n⌈3;3⌈$n;$n⌊3;3⌊$n;⌈/1 $n 3;⌊/1 $n 3;⌈/$n,⍳15;⌈/(⍳15),$n;⌈/$n $n;⌈\$n 1 2;⌊\1 $n 3;nans ⌈\$n,⍳63;10↑r;nans r;⌈⌿[1 $n⋄3 4];nans ⌈⌿m;0 1 0 1 (⌈/⊢)⌸ 1 $n 3 4;0⌈/$n 1 2;0⌈/$n,⍳20;⌈/3↕1 $n 3 4 5;nans ⌈/50↕w;⌈/⍤1 [1 $n 3⋄4 5 6];nans ⌈/⍤1 q;nans ⌈/⍤1 p;nans ⌈/⍤1 m;[1 $n⋄3 4]⌈.+2 2⍴0;nans m⌈.+m;nans m⌊.+m;1ₓ⌈$n;$n⌊1ₓ;⌈/1ₓ $n 2.5;⌈/s;⌊/s;$n⌈/⍳40;nans $n⌈\⍳300]
4768
+ [3 $n 3 $n 3 1 14 14 ¯∞ [¯∞ 1 2] [1 1 1] 0ₓ [0 1 2 3 4 5 6 7 8 9] 0ₓ [3 4] 0ₓ [3 4] 2 19 [3 4 5] 0ₓ [3 6] 0ₓ 0ₓ 0ₓ [1 1⋄4 4] 0ₓ 0ₓ $n 1 2.5 1000000000 0.5 $n 300ₓ]
4769
4769
 
4770
4770
  ⍝ — With •prefs ["fusion":$t], a call that computes a pending argument reports its glyph and position
4771
4771
  x←1.5+¿1000000⍴0 ⋄ •prefs ["fusion":$t] ⋄ r←⍴⍋x ⋄ •prefs ["fusion":$f] ⋄ r