basedpl 0.1.75__tar.gz → 0.1.78__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 (527) hide show
  1. {basedpl-0.1.75 → basedpl-0.1.78}/.github/workflows/ci.yml +3 -5
  2. basedpl-0.1.78/.github/workflows/speed.yml +40 -0
  3. {basedpl-0.1.75 → basedpl-0.1.78}/.github/workflows/test.yml +7 -2
  4. basedpl-0.1.78/.node-version +1 -0
  5. {basedpl-0.1.75 → basedpl-0.1.78}/CONTRIBUTING.md +1 -1
  6. {basedpl-0.1.75 → basedpl-0.1.78}/Cargo.lock +398 -36
  7. {basedpl-0.1.75 → basedpl-0.1.78}/Cargo.toml +13 -3
  8. {basedpl-0.1.75 → basedpl-0.1.78}/DEV.md +103 -38
  9. {basedpl-0.1.75 → basedpl-0.1.78}/PKG-INFO +7 -3
  10. {basedpl-0.1.75 → basedpl-0.1.78}/README.md +3 -0
  11. {basedpl-0.1.75/python/basedpl → basedpl-0.1.78/editors/jetbrains/BPL.tmbundle/Syntaxes}/bpl.tmLanguage.json +2 -2
  12. {basedpl-0.1.75/python/basedpl → basedpl-0.1.78/editors/jetbrains/BPL.tmbundle/Syntaxes}/hpl.tmLanguage.json +2 -2
  13. {basedpl-0.1.75 → basedpl-0.1.78}/editors/jetbrains/BPL.xml +10 -0
  14. {basedpl-0.1.75 → basedpl-0.1.78}/editors/jetbrains/README.md +1 -1
  15. {basedpl-0.1.75 → basedpl-0.1.78}/editors/macos/BasedPL-de.txt +1 -0
  16. {basedpl-0.1.75 → basedpl-0.1.78}/editors/macos/BasedPL-es.txt +1 -0
  17. {basedpl-0.1.75 → basedpl-0.1.78}/editors/macos/BasedPL-fr.txt +1 -0
  18. {basedpl-0.1.75 → basedpl-0.1.78}/editors/macos/BasedPL-uk.txt +1 -0
  19. {basedpl-0.1.75 → basedpl-0.1.78}/editors/macos/BasedPL-us.txt +1 -0
  20. {basedpl-0.1.75 → basedpl-0.1.78}/editors/vim/syntax/bpl.vim +2 -2
  21. {basedpl-0.1.75 → basedpl-0.1.78}/editors/windows/README.md +1 -1
  22. {basedpl-0.1.75 → basedpl-0.1.78}/editors/windows/build.ps1 +1 -1
  23. {basedpl-0.1.75 → basedpl-0.1.78}/editors/windows/layout.h +2 -1
  24. {basedpl-0.1.75 → basedpl-0.1.78}/lib/array.bpl +53 -53
  25. {basedpl-0.1.75 → basedpl-0.1.78}/lib/dyalog.bpl +201 -201
  26. {basedpl-0.1.75 → basedpl-0.1.78}/lib/graph.bpl +47 -47
  27. {basedpl-0.1.75 → basedpl-0.1.78}/lib/numeric.bpl +54 -54
  28. {basedpl-0.1.75 → basedpl-0.1.78}/lib/power.bpl +6 -6
  29. {basedpl-0.1.75 → basedpl-0.1.78}/lib/regex.bpl +1 -1
  30. {basedpl-0.1.75 → basedpl-0.1.78}/lib/string.bpl +38 -38
  31. {basedpl-0.1.75 → basedpl-0.1.78}/lib/tree.bpl +21 -21
  32. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/.gitignore +3 -0
  33. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/arrays.ipynb +3 -3
  34. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/assignment.ipynb +13 -5
  35. basedpl-0.1.78/nbs/autodiff.qmd +216 -0
  36. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/bpl.xml +2 -2
  37. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/comparison.qmd +20 -20
  38. basedpl-0.1.78/nbs/composition.qmd +154 -0
  39. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/data.ipynb +45 -11
  40. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/dfns.ipynb +26 -0
  41. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/evaluation.qmd +14 -15
  42. basedpl-0.1.78/nbs/fonts/BQN386B.woff2 +0 -0
  43. basedpl-0.1.78/nbs/fonts/README.md +16 -0
  44. basedpl-0.1.78/nbs/fonts/SAX2B.woff2 +0 -0
  45. basedpl-0.1.78/nbs/fonts.css +7 -0
  46. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/gallery/attractor.bpl +1 -1
  47. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/gallery/boids.bpl +5 -5
  48. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/gallery/dragon.bpl +1 -1
  49. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/gallery/mandelbrot.bpl +4 -4
  50. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/gallery/mandelbrot32.bpl +4 -4
  51. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/gallery/orbits.bpl +1 -1
  52. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/gallery/phyllotaxis.bpl +2 -2
  53. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/gallery/reaction.bpl +3 -3
  54. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/getting-started.ipynb +1 -1
  55. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/at.qmd +7 -7
  56. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/circle-backslash.qmd +2 -2
  57. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/circle-divide.qmd +4 -4
  58. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/circle-slash.qmd +1 -1
  59. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/circle-stile.qmd +2 -2
  60. basedpl-0.1.78/nbs/glyphs/colon.qmd +52 -0
  61. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/comma.qmd +1 -1
  62. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/diamond-underbar.qmd +2 -2
  63. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/domino.qmd +1 -1
  64. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/dot.qmd +1 -1
  65. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/down-arrow.qmd +1 -1
  66. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/down-tack.qmd +1 -1
  67. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/downstile.qmd +1 -1
  68. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/equal-underbar.qmd +3 -3
  69. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/exclamation.qmd +1 -1
  70. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/hash.qmd +1 -1
  71. basedpl-0.1.78/nbs/glyphs/inverted-question.qmd +24 -0
  72. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/iota-underbar.qmd +1 -1
  73. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/jot-diaeresis.qmd +5 -5
  74. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/left-arrow.qmd +2 -2
  75. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/left-shoe-underbar.qmd +1 -1
  76. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/left-shoe.qmd +1 -1
  77. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/left-tail-arrow.qmd +2 -2
  78. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/parentheses.qmd +2 -2
  79. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/partial.qmd +8 -7
  80. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/plus.qmd +1 -1
  81. basedpl-0.1.78/nbs/glyphs/quad-colon.qmd +109 -0
  82. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/quad-diamond.qmd +4 -3
  83. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/quad-jot.qmd +1 -1
  84. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/radical.qmd +1 -1
  85. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/rho.qmd +1 -1
  86. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/right-left-arrows.qmd +9 -9
  87. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/right-shoe.qmd +1 -1
  88. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/slash.qmd +4 -3
  89. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/squad.qmd +9 -8
  90. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/star-diaeresis.qmd +11 -11
  91. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/star.qmd +1 -1
  92. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/stile-tilde.qmd +1 -1
  93. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/superscript-b.qmd +2 -2
  94. basedpl-0.1.78/nbs/glyphs/tricolon.qmd +12 -0
  95. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/up-arrow.qmd +1 -1
  96. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/up-down-arrow.qmd +3 -2
  97. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/upstile.qmd +1 -1
  98. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/wedge.qmd +2 -0
  99. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs.qmd +1 -0
  100. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/hpl.xml +2 -2
  101. basedpl-0.1.78/nbs/index-notation.qmd +100 -0
  102. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/index.ipynb +3 -0
  103. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/indexing.ipynb +5 -5
  104. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/introspection.ipynb +2 -2
  105. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/keyboard.qmd +3 -3
  106. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/keyed.ipynb +29 -10
  107. basedpl-0.1.78/nbs/llms.txt +111 -0
  108. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/magics.ipynb +1 -1
  109. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/mathish.qmd +1 -1
  110. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/notebooks.ipynb +3 -3
  111. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/numbers.qmd +56 -16
  112. basedpl-0.1.78/nbs/performance.qmd +101 -0
  113. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/playground/bpl.js +2 -2
  114. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/plot.ipynb +2 -2
  115. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/principles.ipynb +80 -5
  116. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/python.ipynb +35 -3
  117. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/repl.qmd +1 -1
  118. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/sidebar.yml +4 -0
  119. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/strings.ipynb +1 -1
  120. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/study/01_basics.ipynb +15 -15
  121. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/study/02_functions.ipynb +1 -1
  122. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/study/03_operators.ipynb +16 -16
  123. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/study/04_nested-arrays.ipynb +1 -1
  124. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/study/05_searching-indexing.ipynb +409 -163
  125. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/study/06_rearranging-arrays.ipynb +15 -9
  126. basedpl-0.1.78/nbs/style.qmd +27 -0
  127. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/syntax.qmd +20 -4
  128. basedpl-0.1.78/nbs/system/csv.qmd +25 -0
  129. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/decompose.qmd +4 -4
  130. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/detach.qmd +8 -0
  131. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/edge.qmd +4 -3
  132. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/explain.qmd +30 -22
  133. basedpl-0.1.78/nbs/system/index.qmd +46 -0
  134. basedpl-0.1.78/nbs/system/json.qmd +17 -0
  135. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/prefs.qmd +23 -11
  136. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/rand.qmd +2 -2
  137. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/vfi.qmd +1 -1
  138. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/terms.qmd +3 -1
  139. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/web.ipynb +3 -1
  140. {basedpl-0.1.75 → basedpl-0.1.78}/py/Cargo.toml +4 -0
  141. {basedpl-0.1.75 → basedpl-0.1.78}/py/src/lib.rs +33 -36
  142. {basedpl-0.1.75 → basedpl-0.1.78}/pyproject.toml +4 -3
  143. {basedpl-0.1.75 → basedpl-0.1.78}/python/basedpl/__init__.py +5 -0
  144. basedpl-0.1.78/python/basedpl/assets/__init__.py +11 -0
  145. basedpl-0.1.78/python/basedpl/assets/fonts/BQN386B.ttf +0 -0
  146. basedpl-0.1.78/python/basedpl/assets/fonts/LICENSE-BQN386 +24 -0
  147. {basedpl-0.1.75/nbs → basedpl-0.1.78/python/basedpl/assets}/fonts/SAX2B.ttf +0 -0
  148. {basedpl-0.1.75/editors → basedpl-0.1.78/python/basedpl/assets}/macos/BasedPL-de.bundle/Contents/Resources/BasedPL-de.keylayout +1 -1
  149. {basedpl-0.1.75/editors → basedpl-0.1.78/python/basedpl/assets}/macos/BasedPL-es.bundle/Contents/Resources/BasedPL-es.keylayout +1 -1
  150. {basedpl-0.1.75/editors → basedpl-0.1.78/python/basedpl/assets}/macos/BasedPL-fr.bundle/Contents/Resources/BasedPL-fr.keylayout +1 -1
  151. {basedpl-0.1.75/editors → basedpl-0.1.78/python/basedpl/assets}/macos/BasedPL-uk.bundle/Contents/Resources/BasedPL-uk.keylayout +1 -1
  152. {basedpl-0.1.75/editors → basedpl-0.1.78/python/basedpl/assets}/macos/BasedPL-us.bundle/Contents/Resources/BasedPL-us.keylayout +1 -1
  153. {basedpl-0.1.75/editors/jetbrains/BPL.tmbundle/Syntaxes → basedpl-0.1.78/python/basedpl}/bpl.tmLanguage.json +2 -2
  154. {basedpl-0.1.75 → basedpl-0.1.78}/python/basedpl/bpltests.py +371 -82
  155. {basedpl-0.1.75 → basedpl-0.1.78}/python/basedpl/editors.py +29 -1
  156. {basedpl-0.1.75 → basedpl-0.1.78}/python/basedpl/font.py +37 -12
  157. basedpl-0.1.78/python/basedpl/fonts.css +7 -0
  158. {basedpl-0.1.75/nbs/playground → basedpl-0.1.78/python/basedpl}/hpl.tmLanguage.json +2 -2
  159. basedpl-0.1.78/python/basedpl/install.py +38 -0
  160. {basedpl-0.1.75 → basedpl-0.1.78}/python/basedpl/keyboards.py +5 -4
  161. {basedpl-0.1.75 → basedpl-0.1.78}/python/basedpl/layout.json +1 -0
  162. basedpl-0.1.78/python/basedpl/lb.js +269 -0
  163. {basedpl-0.1.75 → basedpl-0.1.78}/python/basedpl/notebooks.py +1 -1
  164. {basedpl-0.1.75 → basedpl-0.1.78}/python/basedpl/syntax.py +23 -1
  165. {basedpl-0.1.75 → basedpl-0.1.78}/python/basedpl/worker.py +49 -13
  166. {basedpl-0.1.75 → basedpl-0.1.78}/src/agreement.rs +8 -10
  167. {basedpl-0.1.75 → basedpl-0.1.78}/src/array/storage.rs +63 -97
  168. {basedpl-0.1.75 → basedpl-0.1.78}/src/array/text.rs +14 -9
  169. {basedpl-0.1.75 → basedpl-0.1.78}/src/array.rs +176 -89
  170. {basedpl-0.1.75 → basedpl-0.1.78}/src/batch.rs +91 -89
  171. {basedpl-0.1.75 → basedpl-0.1.78}/src/csv.rs +21 -32
  172. {basedpl-0.1.75 → basedpl-0.1.78}/src/data.rs +74 -8
  173. {basedpl-0.1.75 → basedpl-0.1.78}/src/date.rs +2 -2
  174. {basedpl-0.1.75 → basedpl-0.1.78}/src/derivative.rs +109 -60
  175. {basedpl-0.1.75 → basedpl-0.1.78}/src/display.rs +8 -11
  176. {basedpl-0.1.75 → basedpl-0.1.78}/src/distribution.rs +4 -4
  177. {basedpl-0.1.75 → basedpl-0.1.78}/src/element.rs +50 -2
  178. {basedpl-0.1.75 → basedpl-0.1.78}/src/eval/assign.rs +22 -58
  179. {basedpl-0.1.75 → basedpl-0.1.78}/src/eval/binder.rs +12 -10
  180. {basedpl-0.1.75 → basedpl-0.1.78}/src/eval/bindings.rs +32 -2
  181. {basedpl-0.1.75 → basedpl-0.1.78}/src/eval/dissect.rs +16 -16
  182. {basedpl-0.1.75 → basedpl-0.1.78}/src/eval/idioms.rs +11 -10
  183. {basedpl-0.1.75 → basedpl-0.1.78}/src/eval/operators.rs +176 -106
  184. {basedpl-0.1.75 → basedpl-0.1.78}/src/eval/session.rs +67 -25
  185. {basedpl-0.1.75 → basedpl-0.1.78}/src/eval/tree.rs +13 -12
  186. {basedpl-0.1.75 → basedpl-0.1.78}/src/eval.rs +208 -117
  187. {basedpl-0.1.75 → basedpl-0.1.78}/src/explain.rs +63 -28
  188. {basedpl-0.1.75 → basedpl-0.1.78}/src/files.rs +1 -1
  189. basedpl-0.1.78/src/fusion.rs +712 -0
  190. basedpl-0.1.78/src/jit.rs +776 -0
  191. {basedpl-0.1.75 → basedpl-0.1.78}/src/json.rs +25 -10
  192. {basedpl-0.1.75 → basedpl-0.1.78}/src/keyed.rs +54 -11
  193. {basedpl-0.1.75 → basedpl-0.1.78}/src/lib.rs +5 -0
  194. {basedpl-0.1.75 → basedpl-0.1.78}/src/linear.rs +168 -124
  195. {basedpl-0.1.75 → basedpl-0.1.78}/src/number.rs +94 -58
  196. {basedpl-0.1.75 → basedpl-0.1.78}/src/number_theory.rs +9 -9
  197. {basedpl-0.1.75 → basedpl-0.1.78}/src/pervasive.rs +329 -283
  198. basedpl-0.1.78/src/plan.rs +456 -0
  199. {basedpl-0.1.75 → basedpl-0.1.78}/src/polynomial.rs +4 -4
  200. {basedpl-0.1.75 → basedpl-0.1.78}/src/primitive/indexing.rs +100 -61
  201. {basedpl-0.1.75 → basedpl-0.1.78}/src/primitive/numeric.rs +48 -24
  202. {basedpl-0.1.75 → basedpl-0.1.78}/src/primitive/search.rs +57 -35
  203. {basedpl-0.1.75 → basedpl-0.1.78}/src/primitive/structural.rs +78 -61
  204. {basedpl-0.1.75 → basedpl-0.1.78}/src/primitive.rs +208 -115
  205. basedpl-0.1.78/src/program/blocks.rs +1237 -0
  206. basedpl-0.1.78/src/program/contraction.rs +157 -0
  207. basedpl-0.1.78/src/program/layout.rs +215 -0
  208. basedpl-0.1.78/src/program/run.rs +117 -0
  209. basedpl-0.1.78/src/program/trace.rs +391 -0
  210. basedpl-0.1.78/src/program/verify.rs +77 -0
  211. basedpl-0.1.78/src/program.rs +660 -0
  212. {basedpl-0.1.75 → basedpl-0.1.78}/src/reference.rs +87 -39
  213. {basedpl-0.1.75 → basedpl-0.1.78}/src/search.rs +12 -11
  214. {basedpl-0.1.75 → basedpl-0.1.78}/src/selection.rs +22 -42
  215. {basedpl-0.1.75 → basedpl-0.1.78}/src/settings.rs +36 -3
  216. {basedpl-0.1.75 → basedpl-0.1.78}/src/symbols.rs +2 -2
  217. {basedpl-0.1.75 → basedpl-0.1.78}/src/syntax.rs +107 -37
  218. {basedpl-0.1.75 → basedpl-0.1.78}/src/system.rs +38 -20
  219. {basedpl-0.1.75 → basedpl-0.1.78}/src/timing.rs +59 -22
  220. {basedpl-0.1.75 → basedpl-0.1.78}/src/transform.rs +143 -72
  221. {basedpl-0.1.75 → basedpl-0.1.78}/tests/core.rs +9 -0
  222. {basedpl-0.1.75 → basedpl-0.1.78}/tests/derivatives.rs +1 -1
  223. {basedpl-0.1.75 → basedpl-0.1.78}/tests/explain.rs +40 -24
  224. basedpl-0.1.78/tests/instructions.txt +36 -0
  225. basedpl-0.1.78/tests/jit.rs +281 -0
  226. {basedpl-0.1.75 → basedpl-0.1.78}/tests/reference/README.md +10 -10
  227. {basedpl-0.1.75 → basedpl-0.1.78}/tests/reference/aplcart.bpl +249 -249
  228. {basedpl-0.1.75 → basedpl-0.1.78}/tests/reference/april.bpl +23 -23
  229. {basedpl-0.1.75 → basedpl-0.1.78}/tests/reference/bqn.bpl +2 -2
  230. {basedpl-0.1.75 → basedpl-0.1.78}/tests/reference/core.bpl +717 -182
  231. {basedpl-0.1.75 → basedpl-0.1.78}/tests/reference/distributions.bpl +7 -7
  232. {basedpl-0.1.75 → basedpl-0.1.78}/tests/reference/dyalog.bpl +4 -4
  233. {basedpl-0.1.75 → basedpl-0.1.78}/tests/reference/ngn.bpl +7 -7
  234. basedpl-0.1.78/tests/reference/static-int32.bpl +26 -0
  235. basedpl-0.1.78/tests/reference/static.bpl +247 -0
  236. {basedpl-0.1.75 → basedpl-0.1.78}/tests/reference.rs +16 -5
  237. {basedpl-0.1.75 → basedpl-0.1.78}/tests/settings.rs +2 -1
  238. {basedpl-0.1.75 → basedpl-0.1.78}/tests/speed/README.md +1 -1
  239. {basedpl-0.1.75 → basedpl-0.1.78}/tests/speed/arrays.bpl +143 -20
  240. {basedpl-0.1.75 → basedpl-0.1.78}/tests/speed/calls.bpl +1 -1
  241. {basedpl-0.1.75 → basedpl-0.1.78}/tests/speed/images.bpl +14 -9
  242. {basedpl-0.1.75 → basedpl-0.1.78}/tests/speed/maps.bpl +50 -50
  243. basedpl-0.1.78/tests/speed/models.bpl +216 -0
  244. {basedpl-0.1.75 → basedpl-0.1.78}/tests/speed/structure.bpl +58 -31
  245. basedpl-0.1.78/tests/speed/tables.bpl +41 -0
  246. {basedpl-0.1.75 → basedpl-0.1.78}/tests/test_api.py +11 -6
  247. {basedpl-0.1.75 → basedpl-0.1.78}/tests/test_basic.py +8 -1
  248. basedpl-0.1.78/tests/test_install.py +19 -0
  249. {basedpl-0.1.75 → basedpl-0.1.78}/tests/test_kernel.py +17 -0
  250. {basedpl-0.1.75 → basedpl-0.1.78}/tests/test_worker.py +6 -1
  251. {basedpl-0.1.75 → basedpl-0.1.78}/tests/wasm-pkg.mjs +2 -2
  252. {basedpl-0.1.75 → basedpl-0.1.78}/tests/wasm-speed.mjs +3 -3
  253. {basedpl-0.1.75 → basedpl-0.1.78}/tests/wasm.mjs +6 -4
  254. basedpl-0.1.78/wheel/data/share/jupyter/kernels/bpl/kernel.json +11 -0
  255. basedpl-0.1.75/.github/workflows/speed.yml +0 -35
  256. basedpl-0.1.75/editors/jetbrains/BPL.tmbundle/Syntaxes/hpl.tmLanguage.json +0 -61
  257. basedpl-0.1.75/nbs/fonts/README.md +0 -14
  258. basedpl-0.1.75/nbs/fonts/SAX2B.woff2 +0 -0
  259. basedpl-0.1.75/nbs/fonts.css +0 -5
  260. basedpl-0.1.75/nbs/glyphs/colon.qmd +0 -37
  261. basedpl-0.1.75/nbs/glyphs/inverted-question.qmd +0 -24
  262. basedpl-0.1.75/nbs/glyphs/quad-colon.qmd +0 -85
  263. basedpl-0.1.75/nbs/llms.txt +0 -108
  264. basedpl-0.1.75/nbs/style.qmd +0 -17
  265. basedpl-0.1.75/nbs/system/csv.qmd +0 -9
  266. basedpl-0.1.75/nbs/system/index.qmd +0 -35
  267. basedpl-0.1.75/nbs/system/json.qmd +0 -9
  268. basedpl-0.1.75/python/basedpl/fonts.css +0 -5
  269. basedpl-0.1.75/python/basedpl/lb.js +0 -236
  270. basedpl-0.1.75/scripts/install-macos.sh +0 -24
  271. basedpl-0.1.75/scripts/prep.py +0 -7
  272. basedpl-0.1.75/src/fusion/blocks.rs +0 -181
  273. basedpl-0.1.75/src/fusion.rs +0 -884
  274. basedpl-0.1.75/tests/instructions.txt +0 -32
  275. basedpl-0.1.75/tests/reference/static-int32.bpl +0 -15
  276. basedpl-0.1.75/tests/reference/static.bpl +0 -23
  277. basedpl-0.1.75/tests/speed/models.bpl +0 -173
  278. basedpl-0.1.75/tests/speed/tables.bpl +0 -41
  279. basedpl-0.1.75/wheel/data/share/jupyter/kernels/bpl/kernel.json +0 -6
  280. {basedpl-0.1.75 → basedpl-0.1.78}/.cargo/config.toml +0 -0
  281. {basedpl-0.1.75 → basedpl-0.1.78}/.gitattributes +0 -0
  282. {basedpl-0.1.75 → basedpl-0.1.78}/.github/workflows/docs.yml +0 -0
  283. {basedpl-0.1.75 → basedpl-0.1.78}/.gitignore +0 -0
  284. {basedpl-0.1.75 → basedpl-0.1.78}/LICENSE +0 -0
  285. {basedpl-0.1.75 → basedpl-0.1.78}/_config.yml +0 -0
  286. {basedpl-0.1.75 → basedpl-0.1.78}/_layouts/default.html +0 -0
  287. {basedpl-0.1.75 → basedpl-0.1.78}/build.rs +0 -0
  288. {basedpl-0.1.75 → basedpl-0.1.78}/editors/jetbrains/BPL.tmbundle/info.plist +0 -0
  289. {basedpl-0.1.75 → basedpl-0.1.78}/editors/vim/ftdetect/bpl.vim +0 -0
  290. {basedpl-0.1.75 → basedpl-0.1.78}/editors/windows/install.ps1 +0 -0
  291. {basedpl-0.1.75 → basedpl-0.1.78}/editors/windows/keyboard.c +0 -0
  292. {basedpl-0.1.75 → basedpl-0.1.78}/editors/windows/keyboard.def +0 -0
  293. {basedpl-0.1.75 → basedpl-0.1.78}/editors/windows/keyboard.rc +0 -0
  294. {basedpl-0.1.75 → basedpl-0.1.78}/index_files/figure-commonmark/cell-17-output-1.svg +0 -0
  295. {basedpl-0.1.75 → basedpl-0.1.78}/index_files/figure-commonmark/cell-18-output-1.svg +0 -0
  296. {basedpl-0.1.75 → basedpl-0.1.78}/index_files/figure-html/cell-17-output-1.svg +0 -0
  297. {basedpl-0.1.75 → basedpl-0.1.78}/index_files/figure-html/cell-18-output-1.svg +0 -0
  298. {basedpl-0.1.75 → basedpl-0.1.78}/lib/LICENSE-april +0 -0
  299. {basedpl-0.1.75 → basedpl-0.1.78}/lib/README.md +0 -0
  300. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/_quarto.yml +0 -0
  301. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/bqn.xml +0 -0
  302. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/bracket-types.ipynb +0 -0
  303. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/cli.qmd +0 -0
  304. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/distributions.ipynb +0 -0
  305. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/driver.js +0 -0
  306. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/dyalog.ipynb +0 -0
  307. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/dyalog.xml +0 -0
  308. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/gallery/flow.bpl +0 -0
  309. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/gallery/prefs.bpl +0 -0
  310. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/gallery.qmd +0 -0
  311. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/_metadata.yml +0 -0
  312. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/alpha-underbar.qmd +0 -0
  313. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/alpha.qmd +0 -0
  314. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/backslash-bar.qmd +0 -0
  315. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/backslash.qmd +0 -0
  316. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/braces.qmd +0 -0
  317. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/brackets.qmd +0 -0
  318. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/bullet.qmd +0 -0
  319. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/circle-bar.qmd +0 -0
  320. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/circle-diaeresis.qmd +0 -0
  321. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/circle-star.qmd +0 -0
  322. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/circle-times.qmd +0 -0
  323. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/circle.qmd +0 -0
  324. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/comma-bar.qmd +0 -0
  325. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/del-diaeresis.qmd +0 -0
  326. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/del-stile.qmd +0 -0
  327. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/del.qmd +0 -0
  328. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/delta-stile.qmd +0 -0
  329. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/diaeresis.qmd +0 -0
  330. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/diamond.qmd +0 -0
  331. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/down-shoe.qmd +0 -0
  332. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/epsilon-underbar.qmd +0 -0
  333. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/epsilon.qmd +0 -0
  334. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/equal-underbar-slash.qmd +0 -0
  335. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/equals.qmd +0 -0
  336. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/error-guard.qmd +0 -0
  337. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/greater-than-or-equal.qmd +0 -0
  338. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/greater-than.qmd +0 -0
  339. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/hydrant.qmd +0 -0
  340. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/infinity.qmd +0 -0
  341. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/iota.qmd +0 -0
  342. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/jot.qmd +0 -0
  343. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/lamp.qmd +0 -0
  344. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/left-tack.qmd +0 -0
  345. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/less-than-or-equal.qmd +0 -0
  346. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/less-than.qmd +0 -0
  347. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/minus.qmd +0 -0
  348. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/not-equals.qmd +0 -0
  349. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/obelus.qmd +0 -0
  350. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/omega-underbar.qmd +0 -0
  351. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/omega.qmd +0 -0
  352. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/overbar.qmd +0 -0
  353. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/pi.qmd +0 -0
  354. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/quad-equal.qmd +0 -0
  355. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/quad.qmd +0 -0
  356. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/question.qmd +0 -0
  357. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/quote.qmd +0 -0
  358. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/right-arrow-from-bar.qmd +0 -0
  359. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/right-tack.qmd +0 -0
  360. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/right-tail-arrow.qmd +0 -0
  361. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/slash-bar.qmd +0 -0
  362. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/stile.qmd +0 -0
  363. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/thorn.qmd +0 -0
  364. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/tilde-diaeresis.qmd +0 -0
  365. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/tilde.qmd +0 -0
  366. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/times.qmd +0 -0
  367. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/up-shoe.qmd +0 -0
  368. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/up-tack.qmd +0 -0
  369. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/vee-bar.qmd +0 -0
  370. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/vee.qmd +0 -0
  371. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/wedge-bar.qmd +0 -0
  372. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs/zilde.qmd +0 -0
  373. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/glyphs-study.qmd +0 -0
  374. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/hanzi-notation-zh.ipynb +0 -0
  375. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/hanzi-notation.ipynb +0 -0
  376. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/modules.qmd +0 -0
  377. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/nbdev.yml +0 -0
  378. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/overview.ipynb +0 -0
  379. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/papers/aplwiki-arrays.md +0 -0
  380. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/papers/brickman-depth-1-scalars.md +0 -0
  381. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/papers/mercer-based-system.md +0 -0
  382. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/playground/gallery.js +0 -0
  383. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/playground/monaco-worker.js +0 -0
  384. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/playground/page.js +0 -0
  385. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/playground/worker.js +0 -0
  386. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/playground.qmd +0 -0
  387. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/processes.qmd +0 -0
  388. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/puppy.jpg +0 -0
  389. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/regex.ipynb +0 -0
  390. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/scripts.ipynb +0 -0
  391. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/study/07_numerical-tools.ipynb +0 -0
  392. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/styles.css +0 -0
  393. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/_metadata.yml +0 -0
  394. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/c.qmd +0 -0
  395. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/canvas.qmd +0 -0
  396. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/constants.qmd +0 -0
  397. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/copy.qmd +0 -0
  398. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/date.qmd +0 -0
  399. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/deflate.qmd +0 -0
  400. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/delay.qmd +0 -0
  401. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/distribution.qmd +0 -0
  402. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/element.qmd +0 -0
  403. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/ex.qmd +0 -0
  404. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/fetch.qmd +0 -0
  405. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/float.qmd +0 -0
  406. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/hash.qmd +0 -0
  407. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/host.qmd +0 -0
  408. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/image.qmd +0 -0
  409. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/js.qmd +0 -0
  410. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/literal.qmd +0 -0
  411. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/load.qmd +0 -0
  412. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/memory.qmd +0 -0
  413. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/metadata.qmd +0 -0
  414. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/mime.qmd +0 -0
  415. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/mkdir.qmd +0 -0
  416. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/nc.qmd +0 -0
  417. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/nget.qmd +0 -0
  418. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/nl.qmd +0 -0
  419. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/normalize.qmd +0 -0
  420. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/nput.qmd +0 -0
  421. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/path.qmd +0 -0
  422. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/plot.qmd +0 -0
  423. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/r.qmd +0 -0
  424. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/readdir.qmd +0 -0
  425. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/remove.qmd +0 -0
  426. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/rename.qmd +0 -0
  427. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/signal.qmd +0 -0
  428. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/src.qmd +0 -0
  429. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/storage.qmd +0 -0
  430. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/svg.qmd +0 -0
  431. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/time.qmd +0 -0
  432. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/ucs.qmd +0 -0
  433. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/uuid.qmd +0 -0
  434. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system/xml.qmd +0 -0
  435. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/system-functions.qmd +0 -0
  436. {basedpl-0.1.75 → basedpl-0.1.78}/nbs/xml.ipynb +0 -0
  437. {basedpl-0.1.75 → basedpl-0.1.78}/package-lock.json +0 -0
  438. {basedpl-0.1.75 → basedpl-0.1.78}/package.json +0 -0
  439. {basedpl-0.1.75 → basedpl-0.1.78}/provenance/README.md +0 -0
  440. {basedpl-0.1.75 → basedpl-0.1.78}/provenance/aplcart.jsonl +0 -0
  441. {basedpl-0.1.75 → basedpl-0.1.78}/provenance/april.jsonl +0 -0
  442. {basedpl-0.1.75 → basedpl-0.1.78}/provenance/bqn.jsonl +0 -0
  443. {basedpl-0.1.75 → basedpl-0.1.78}/provenance/core.jsonl +0 -0
  444. {basedpl-0.1.75 → basedpl-0.1.78}/provenance/dyalog.jsonl +0 -0
  445. {basedpl-0.1.75 → basedpl-0.1.78}/provenance/ngn.jsonl +0 -0
  446. {basedpl-0.1.75 → basedpl-0.1.78}/py/build.rs +0 -0
  447. {basedpl-0.1.75 → basedpl-0.1.78}/python/basedpl/_modidx.py +0 -0
  448. {basedpl-0.1.75/nbs → basedpl-0.1.78/python/basedpl/assets}/fonts/LICENSE-SAX2 +0 -0
  449. {basedpl-0.1.75/editors → basedpl-0.1.78/python/basedpl/assets}/macos/BasedPL-de.bundle/Contents/Info.plist +0 -0
  450. {basedpl-0.1.75/editors → basedpl-0.1.78/python/basedpl/assets}/macos/BasedPL-de.bundle/Contents/Resources/BasedPL-de.icns +0 -0
  451. {basedpl-0.1.75/editors → basedpl-0.1.78/python/basedpl/assets}/macos/BasedPL-de.bundle/Contents/Resources/en.lproj/InfoPlist.strings +0 -0
  452. {basedpl-0.1.75/editors → basedpl-0.1.78/python/basedpl/assets}/macos/BasedPL-de.bundle/Contents/version.plist +0 -0
  453. {basedpl-0.1.75/editors → basedpl-0.1.78/python/basedpl/assets}/macos/BasedPL-es.bundle/Contents/Info.plist +0 -0
  454. {basedpl-0.1.75/editors → basedpl-0.1.78/python/basedpl/assets}/macos/BasedPL-es.bundle/Contents/Resources/BasedPL-es.icns +0 -0
  455. {basedpl-0.1.75/editors → basedpl-0.1.78/python/basedpl/assets}/macos/BasedPL-es.bundle/Contents/Resources/en.lproj/InfoPlist.strings +0 -0
  456. {basedpl-0.1.75/editors → basedpl-0.1.78/python/basedpl/assets}/macos/BasedPL-es.bundle/Contents/version.plist +0 -0
  457. {basedpl-0.1.75/editors → basedpl-0.1.78/python/basedpl/assets}/macos/BasedPL-fr.bundle/Contents/Info.plist +0 -0
  458. {basedpl-0.1.75/editors → basedpl-0.1.78/python/basedpl/assets}/macos/BasedPL-fr.bundle/Contents/Resources/BasedPL-fr.icns +0 -0
  459. {basedpl-0.1.75/editors → basedpl-0.1.78/python/basedpl/assets}/macos/BasedPL-fr.bundle/Contents/Resources/en.lproj/InfoPlist.strings +0 -0
  460. {basedpl-0.1.75/editors → basedpl-0.1.78/python/basedpl/assets}/macos/BasedPL-fr.bundle/Contents/version.plist +0 -0
  461. {basedpl-0.1.75/editors → basedpl-0.1.78/python/basedpl/assets}/macos/BasedPL-uk.bundle/Contents/Info.plist +0 -0
  462. {basedpl-0.1.75/editors → basedpl-0.1.78/python/basedpl/assets}/macos/BasedPL-uk.bundle/Contents/Resources/BasedPL-uk.icns +0 -0
  463. {basedpl-0.1.75/editors → basedpl-0.1.78/python/basedpl/assets}/macos/BasedPL-uk.bundle/Contents/Resources/en.lproj/InfoPlist.strings +0 -0
  464. {basedpl-0.1.75/editors → basedpl-0.1.78/python/basedpl/assets}/macos/BasedPL-uk.bundle/Contents/version.plist +0 -0
  465. {basedpl-0.1.75/editors → basedpl-0.1.78/python/basedpl/assets}/macos/BasedPL-us.bundle/Contents/Info.plist +0 -0
  466. {basedpl-0.1.75/editors → basedpl-0.1.78/python/basedpl/assets}/macos/BasedPL-us.bundle/Contents/Resources/BasedPL-us.icns +0 -0
  467. {basedpl-0.1.75/editors → basedpl-0.1.78/python/basedpl/assets}/macos/BasedPL-us.bundle/Contents/Resources/en.lproj/InfoPlist.strings +0 -0
  468. {basedpl-0.1.75/editors → basedpl-0.1.78/python/basedpl/assets}/macos/BasedPL-us.bundle/Contents/version.plist +0 -0
  469. {basedpl-0.1.75 → basedpl-0.1.78}/python/basedpl/dyalog.py +0 -0
  470. {basedpl-0.1.75 → basedpl-0.1.78}/python/basedpl/functions.py +0 -0
  471. {basedpl-0.1.75 → basedpl-0.1.78}/python/basedpl/input.js +0 -0
  472. {basedpl-0.1.75 → basedpl-0.1.78}/python/basedpl/ipython.py +0 -0
  473. {basedpl-0.1.75 → basedpl-0.1.78}/python/basedpl/keyboards.json +0 -0
  474. {basedpl-0.1.75 → basedpl-0.1.78}/python/basedpl/notebook_runner.py +0 -0
  475. {basedpl-0.1.75 → basedpl-0.1.78}/python/basedpl/printing.py +0 -0
  476. {basedpl-0.1.75 → basedpl-0.1.78}/python/basedpl/reference.py +0 -0
  477. {basedpl-0.1.75 → basedpl-0.1.78}/python/basedpl/windows_keyboard.py +0 -0
  478. {basedpl-0.1.75 → basedpl-0.1.78}/rustfmt.toml +0 -0
  479. {basedpl-0.1.75 → basedpl-0.1.78}/src/canvas.js +0 -0
  480. {basedpl-0.1.75 → basedpl-0.1.78}/src/canvas.rs +0 -0
  481. {basedpl-0.1.75 → basedpl-0.1.78}/src/error.rs +0 -0
  482. {basedpl-0.1.75 → basedpl-0.1.78}/src/execution.rs +0 -0
  483. {basedpl-0.1.75 → basedpl-0.1.78}/src/host.rs +0 -0
  484. {basedpl-0.1.75 → basedpl-0.1.78}/src/host_web.rs +0 -0
  485. {basedpl-0.1.75 → basedpl-0.1.78}/src/image/codecs.rs +0 -0
  486. {basedpl-0.1.75 → basedpl-0.1.78}/src/image/imageio.rs +0 -0
  487. {basedpl-0.1.75 → basedpl-0.1.78}/src/image.rs +0 -0
  488. {basedpl-0.1.75 → basedpl-0.1.78}/src/inspection.rs +0 -0
  489. {basedpl-0.1.75 → basedpl-0.1.78}/src/js.rs +0 -0
  490. {basedpl-0.1.75 → basedpl-0.1.78}/src/name.rs +0 -0
  491. {basedpl-0.1.75 → basedpl-0.1.78}/src/optimize.rs +0 -0
  492. {basedpl-0.1.75 → basedpl-0.1.78}/src/plot.rs +0 -0
  493. {basedpl-0.1.75 → basedpl-0.1.78}/src/protocol.rs +0 -0
  494. {basedpl-0.1.75 → basedpl-0.1.78}/src/regex.rs +0 -0
  495. {basedpl-0.1.75 → basedpl-0.1.78}/src/xml.rs +0 -0
  496. {basedpl-0.1.75 → basedpl-0.1.78}/tests/common/mod.rs +0 -0
  497. {basedpl-0.1.75 → basedpl-0.1.78}/tests/conftest.py +0 -0
  498. {basedpl-0.1.75 → basedpl-0.1.78}/tests/highlighting.mjs +0 -0
  499. {basedpl-0.1.75 → basedpl-0.1.78}/tests/input.mjs +0 -0
  500. {basedpl-0.1.75 → basedpl-0.1.78}/tests/reference/LICENSE-aplcart +0 -0
  501. {basedpl-0.1.75 → basedpl-0.1.78}/tests/reference/LICENSE-april +0 -0
  502. {basedpl-0.1.75 → basedpl-0.1.78}/tests/reference/LICENSE-bqn +0 -0
  503. {basedpl-0.1.75 → basedpl-0.1.78}/tests/reference/LICENSE-bqncrate +0 -0
  504. {basedpl-0.1.75 → basedpl-0.1.78}/tests/reference/LICENSE-dyalog +0 -0
  505. {basedpl-0.1.75 → basedpl-0.1.78}/tests/reference/LICENSE-ngn +0 -0
  506. {basedpl-0.1.75 → basedpl-0.1.78}/tests/reference/graphics.bpl +0 -0
  507. {basedpl-0.1.75 → basedpl-0.1.78}/tests/reference/lib.bpl +0 -0
  508. {basedpl-0.1.75 → basedpl-0.1.78}/tests/reference/regex.bpl +0 -0
  509. {basedpl-0.1.75 → basedpl-0.1.78}/tests/reference/support/april.bpl +0 -0
  510. {basedpl-0.1.75 → basedpl-0.1.78}/tests/reference/support/avl.bpl +0 -0
  511. {basedpl-0.1.75 → basedpl-0.1.78}/tests/reference/support/redblack.bpl +0 -0
  512. {basedpl-0.1.75 → basedpl-0.1.78}/tests/reference/support/sbst.bpl +0 -0
  513. {basedpl-0.1.75 → basedpl-0.1.78}/tests/reference/support/splay.bpl +0 -0
  514. {basedpl-0.1.75 → basedpl-0.1.78}/tests/scaling.rs +0 -0
  515. {basedpl-0.1.75 → basedpl-0.1.78}/tests/speed.rs +0 -0
  516. {basedpl-0.1.75 → basedpl-0.1.78}/tests/test_bpltests.py +0 -0
  517. {basedpl-0.1.75 → basedpl-0.1.78}/tests/test_glyphs.py +0 -0
  518. {basedpl-0.1.75 → basedpl-0.1.78}/tests/test_graphics.py +0 -0
  519. {basedpl-0.1.75 → basedpl-0.1.78}/tests/test_instructions.py +0 -0
  520. {basedpl-0.1.75 → basedpl-0.1.78}/tests/test_ipython.py +0 -0
  521. {basedpl-0.1.75 → basedpl-0.1.78}/tests/test_keylayout.py +0 -0
  522. {basedpl-0.1.75 → basedpl-0.1.78}/tests/test_notebooks.py +0 -0
  523. {basedpl-0.1.75 → basedpl-0.1.78}/tests/test_reference.py +0 -0
  524. {basedpl-0.1.75 → basedpl-0.1.78}/tests/test_repl.py +0 -0
  525. {basedpl-0.1.75 → basedpl-0.1.78}/tests/test_windows_keyboard.py +0 -0
  526. {basedpl-0.1.75 → basedpl-0.1.78}/tests/units.rs +0 -0
  527. {basedpl-0.1.75 → basedpl-0.1.78}/tests/windows_keyboard.c +0 -0
@@ -18,7 +18,7 @@ jobs:
18
18
  runs-on: ${{ matrix.os }}
19
19
  env:
20
20
  # The Python-free `bpl` goes in the wheel, through `cargo stage`, and in the GitHub release.
21
- STAGE_BPL: cargo stage --profile dist && mkdir -p bin && cp wheel/scripts/bpl bin/${{ matrix.binary }}
21
+ STAGE_BPL: cargo stage --profile dist --no-default-features && mkdir -p bin && cp wheel/scripts/bpl bin/${{ matrix.binary }}
22
22
  steps:
23
23
  - uses: actions/checkout@v7
24
24
  - uses: dtolnay/rust-toolchain@stable
@@ -27,17 +27,15 @@ jobs:
27
27
  with:
28
28
  python-version: '3.12'
29
29
  - if: runner.os != 'Linux'
30
- run: pip install 'fastws-cli>=0.0.25' && ${{ env.STAGE_BPL }}
30
+ run: pip install 'fastws-cli>=0.0.29' && ${{ env.STAGE_BPL }}
31
31
  - uses: PyO3/maturin-action@v1
32
32
  with:
33
33
  args: --profile dist --no-default-features --compression-level 9 --out dist -i python3.11 -i python3.12 -i python3.13
34
34
  manylinux: auto
35
35
  # This runs inside the manylinux container, whose old glibc lets the binary run on older Linux distributions.
36
- before-script-linux: export PATH="/opt/python/cp311-cp311/bin:$PATH" && python3.11 -m pip install 'fastws-cli>=0.0.25' && ${{ env.STAGE_BPL }}
37
- # The release build's own costs, for comparison with CI's. `basedpl.bpltests.logged_costs` reads this log. Timing never fails the release.
36
+ before-script-linux: export PATH="/opt/python/cp311-cp311/bin:$PATH" && python3.11 -m pip install 'fastws-cli>=0.0.29' && ${{ env.STAGE_BPL }}
38
37
  - name: Time the release build
39
38
  continue-on-error: true
40
- timeout-minutes: 20
41
39
  run: bin/${{ matrix.binary }} --costs tests/speed
42
40
  - uses: actions/upload-artifact@v7
43
41
  with:
@@ -0,0 +1,40 @@
1
+ name: Speed
2
+
3
+ on: workflow_dispatch
4
+
5
+ permissions:
6
+ contents: read
7
+
8
+ jobs:
9
+ native:
10
+ runs-on: ubicloud-standard-4-ubuntu-2604
11
+ steps:
12
+ - uses: actions/checkout@v7
13
+ - uses: dtolnay/rust-toolchain@stable
14
+ - uses: actions/setup-python@v7
15
+ with:
16
+ python-version: '3.12'
17
+ # This job times the `bpl` that releases ship, which `cargo stage --profile dist --no-default-features` builds, as the `Release` workflow does. `bpl --costs` prints every case's cost and budget for `basedpl.bpltests.logged_costs`. A case over its budget doesn't fail it. The job builds without a cache. The `Test` workflow's caches hold only test-profile builds.
18
+ - run: pip install 'fastws-cli>=0.0.29' && cargo stage --profile dist --no-default-features
19
+ - run: wheel/scripts/bpl --costs tests/speed
20
+ # `bpl-tests thread_scaling` times a large product, a 512×512 SVD and Hermitian eigendecomposition, a stack of QR decompositions and a large elementwise function on one thread and on as many threads as the runner has physical cores, up to 4. It fails when a case reaches less than half its expected gain. Speed budgets are single-thread measurements, so this is the check of multithreaded speed. It comes last, so that a failure here still leaves every cost logged. `lscpu` shows whether the VM reports which vCPUs share a physical core, which is how `thread_scaling` counts cores on Linux.
21
+ - run: lscpu
22
+ - run: pip install -e . && bpl-tests thread_scaling --bpl wheel/scripts/bpl
23
+
24
+ wasm:
25
+ runs-on: ubicloud-standard-4-ubuntu-2604
26
+ steps:
27
+ - uses: actions/checkout@v7
28
+ - uses: dtolnay/rust-toolchain@stable
29
+ with:
30
+ targets: wasm32-unknown-unknown
31
+ # These wasm costs come from the V8 of the Node that `.node-version` pins, as in the `Test` workflow's `wasm` job.
32
+ - uses: actions/setup-node@v7
33
+ with:
34
+ node-version-file: .node-version
35
+ - run: cargo generate-lockfile
36
+ - uses: Swatinem/rust-cache@v2
37
+ with:
38
+ shared-key: wasm
39
+ - run: cargo wasm --strip
40
+ - run: BASEDPL_COSTS=1 node --no-liftoff tests/wasm-speed.mjs
@@ -9,9 +9,10 @@ permissions:
9
9
  contents: read
10
10
 
11
11
  # In each job, every test step after the first runs even when an earlier step fails, to report every test's result in one run.
12
+ # A build step that runs past 10 minutes has stalled. These builds normally take about 3.
12
13
  jobs:
13
14
  test:
14
- runs-on: ubicloud-standard-4
15
+ runs-on: ubicloud-standard-4-ubuntu-2604
15
16
  steps:
16
17
  - uses: actions/checkout@v7
17
18
  # `tests/highlighting.mjs` reads the TextMate grammar through `shiki`, which `package.json` pins.
@@ -41,12 +42,16 @@ jobs:
41
42
  if: ${{ !cancelled() }}
42
43
 
43
44
  wasm:
44
- runs-on: ubicloud-standard-4
45
+ runs-on: ubicloud-standard-4-ubuntu-2604
45
46
  steps:
46
47
  - uses: actions/checkout@v7
47
48
  - uses: dtolnay/rust-toolchain@stable
48
49
  with:
49
50
  targets: wasm32-unknown-unknown
51
+ # V8's frame sizes decide the recursion test's margin. Each Node major keeps one V8 version. `.node-version` pins the major that both wasm jobs use.
52
+ - uses: actions/setup-node@v7
53
+ with:
54
+ node-version-file: .node-version
50
55
  - run: cargo generate-lockfile
51
56
  # The `Speed` workflow's `wasm` job restores this cache, by its `shared-key`.
52
57
  - uses: Swatinem/rust-cache@v2
@@ -0,0 +1 @@
1
+ 26
@@ -27,7 +27,7 @@ ship-rs-build
27
27
 
28
28
  After Rust changes, run `cargo test` for the Rust tests, then `cargo develop` to install what `cargo test` built: the extension, and the native `bpl` command in your environment. Both use one compilation of each crate. `cargo develop` comes from `fastws-cli`, one of the development tools. Run `pip install -e '.[dev]'` again only when the package metadata changes. Use `cargo fastfmt`, not `cargo fmt`.
29
29
 
30
- Before a release, run `python scripts/prep.py` from the repository root. It writes the syntax highlighters' glyph lists and the macOS keyboard layout bundle. It then runs nbdev's `prepare` to export, test and clean the notebooks and render this README.
30
+ Before a release, run `bpl-tests prerelease` from the repository root. Among its steps, it writes the syntax highlighters' glyph lists and the macOS keyboard layout bundle, saves the notebooks' outputs, and runs nbdev's `prepare` to export, test and clean the notebooks and render the README. DEV.md's "Release" section lists every step.
31
31
 
32
32
  ## Did you find a bug?
33
33