basedpl 0.1.6__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 (195) hide show
  1. basedpl-0.1.6/.cargo/config.toml +2 -0
  2. basedpl-0.1.6/.github/workflows/ci.yml +71 -0
  3. basedpl-0.1.6/.gitignore +17 -0
  4. basedpl-0.1.6/Cargo.lock +1740 -0
  5. basedpl-0.1.6/Cargo.toml +64 -0
  6. basedpl-0.1.6/DEV.md +122 -0
  7. basedpl-0.1.6/LICENSE +202 -0
  8. basedpl-0.1.6/PKG-INFO +70 -0
  9. basedpl-0.1.6/README.md +48 -0
  10. basedpl-0.1.6/_config.yml +1 -0
  11. basedpl-0.1.6/_layouts/default.html +52 -0
  12. basedpl-0.1.6/docs/cli.md +47 -0
  13. basedpl-0.1.6/docs/getting-started.md +62 -0
  14. basedpl-0.1.6/docs/glyphs/agenda.md +12 -0
  15. basedpl-0.1.6/docs/glyphs/alpha-underbar.md +10 -0
  16. basedpl-0.1.6/docs/glyphs/alpha.md +14 -0
  17. basedpl-0.1.6/docs/glyphs/alphabet.md +8 -0
  18. basedpl-0.1.6/docs/glyphs/and.md +18 -0
  19. basedpl-0.1.6/docs/glyphs/assign.md +24 -0
  20. basedpl-0.1.6/docs/glyphs/at.md +28 -0
  21. basedpl-0.1.6/docs/glyphs/backslash-bar.md +21 -0
  22. basedpl-0.1.6/docs/glyphs/backslash.md +33 -0
  23. basedpl-0.1.6/docs/glyphs/behind.md +13 -0
  24. basedpl-0.1.6/docs/glyphs/braces.md +23 -0
  25. basedpl-0.1.6/docs/glyphs/brackets.md +43 -0
  26. basedpl-0.1.6/docs/glyphs/case.md +16 -0
  27. basedpl-0.1.6/docs/glyphs/ceiling.md +14 -0
  28. basedpl-0.1.6/docs/glyphs/circle.md +34 -0
  29. basedpl-0.1.6/docs/glyphs/colon.md +10 -0
  30. basedpl-0.1.6/docs/glyphs/comma.md +20 -0
  31. basedpl-0.1.6/docs/glyphs/comment.md +14 -0
  32. basedpl-0.1.6/docs/glyphs/commute.md +19 -0
  33. basedpl-0.1.6/docs/glyphs/compose.md +22 -0
  34. basedpl-0.1.6/docs/glyphs/decode.md +22 -0
  35. basedpl-0.1.6/docs/glyphs/derivative.md +20 -0
  36. basedpl-0.1.6/docs/glyphs/diamond.md +14 -0
  37. basedpl-0.1.6/docs/glyphs/digits.md +8 -0
  38. basedpl-0.1.6/docs/glyphs/divide.md +16 -0
  39. basedpl-0.1.6/docs/glyphs/domino.md +18 -0
  40. basedpl-0.1.6/docs/glyphs/dot.md +10 -0
  41. basedpl-0.1.6/docs/glyphs/drop.md +29 -0
  42. basedpl-0.1.6/docs/glyphs/each.md +21 -0
  43. basedpl-0.1.6/docs/glyphs/enclose.md +23 -0
  44. basedpl-0.1.6/docs/glyphs/encode.md +25 -0
  45. basedpl-0.1.6/docs/glyphs/equal.md +17 -0
  46. basedpl-0.1.6/docs/glyphs/error-guard.md +29 -0
  47. basedpl-0.1.6/docs/glyphs/execute.md +16 -0
  48. basedpl-0.1.6/docs/glyphs/factor.md +31 -0
  49. basedpl-0.1.6/docs/glyphs/factorial.md +19 -0
  50. basedpl-0.1.6/docs/glyphs/find.md +10 -0
  51. basedpl-0.1.6/docs/glyphs/floor.md +20 -0
  52. basedpl-0.1.6/docs/glyphs/format.md +21 -0
  53. basedpl-0.1.6/docs/glyphs/grade-down.md +14 -0
  54. basedpl-0.1.6/docs/glyphs/grade-up.md +17 -0
  55. basedpl-0.1.6/docs/glyphs/greater-or-equal.md +13 -0
  56. basedpl-0.1.6/docs/glyphs/greater.md +7 -0
  57. basedpl-0.1.6/docs/glyphs/infinity.md +14 -0
  58. basedpl-0.1.6/docs/glyphs/intersection.md +8 -0
  59. basedpl-0.1.6/docs/glyphs/inverse-pair.md +19 -0
  60. basedpl-0.1.6/docs/glyphs/iota.md +34 -0
  61. basedpl-0.1.6/docs/glyphs/key.md +15 -0
  62. basedpl-0.1.6/docs/glyphs/left.md +15 -0
  63. basedpl-0.1.6/docs/glyphs/less-or-equal.md +13 -0
  64. basedpl-0.1.6/docs/glyphs/less.md +7 -0
  65. basedpl-0.1.6/docs/glyphs/load.md +7 -0
  66. basedpl-0.1.6/docs/glyphs/log.md +18 -0
  67. basedpl-0.1.6/docs/glyphs/match.md +14 -0
  68. basedpl-0.1.6/docs/glyphs/member.md +17 -0
  69. basedpl-0.1.6/docs/glyphs/minus.md +22 -0
  70. basedpl-0.1.6/docs/glyphs/mix.md +25 -0
  71. basedpl-0.1.6/docs/glyphs/nabla-nabla.md +7 -0
  72. basedpl-0.1.6/docs/glyphs/nabla.md +9 -0
  73. basedpl-0.1.6/docs/glyphs/nand.md +13 -0
  74. basedpl-0.1.6/docs/glyphs/nest.md +16 -0
  75. basedpl-0.1.6/docs/glyphs/nor.md +13 -0
  76. basedpl-0.1.6/docs/glyphs/not-equal.md +13 -0
  77. basedpl-0.1.6/docs/glyphs/omega-underbar.md +9 -0
  78. basedpl-0.1.6/docs/glyphs/omega.md +8 -0
  79. basedpl-0.1.6/docs/glyphs/or.md +21 -0
  80. basedpl-0.1.6/docs/glyphs/outer.md +13 -0
  81. basedpl-0.1.6/docs/glyphs/over.md +15 -0
  82. basedpl-0.1.6/docs/glyphs/overbar.md +10 -0
  83. basedpl-0.1.6/docs/glyphs/parentheses.md +29 -0
  84. basedpl-0.1.6/docs/glyphs/pi.md +17 -0
  85. basedpl-0.1.6/docs/glyphs/pipe.md +31 -0
  86. basedpl-0.1.6/docs/glyphs/plus.md +20 -0
  87. basedpl-0.1.6/docs/glyphs/polynomial.md +44 -0
  88. basedpl-0.1.6/docs/glyphs/power.md +60 -0
  89. basedpl-0.1.6/docs/glyphs/prime.md +33 -0
  90. basedpl-0.1.6/docs/glyphs/quad.md +11 -0
  91. basedpl-0.1.6/docs/glyphs/question.md +16 -0
  92. basedpl-0.1.6/docs/glyphs/quote.md +15 -0
  93. basedpl-0.1.6/docs/glyphs/rank.md +21 -0
  94. basedpl-0.1.6/docs/glyphs/reverse-first.md +8 -0
  95. basedpl-0.1.6/docs/glyphs/reverse.md +17 -0
  96. basedpl-0.1.6/docs/glyphs/rho.md +20 -0
  97. basedpl-0.1.6/docs/glyphs/right.md +14 -0
  98. basedpl-0.1.6/docs/glyphs/root.md +18 -0
  99. basedpl-0.1.6/docs/glyphs/semicolon.md +9 -0
  100. basedpl-0.1.6/docs/glyphs/slash-bar.md +21 -0
  101. basedpl-0.1.6/docs/glyphs/slash.md +58 -0
  102. basedpl-0.1.6/docs/glyphs/squad.md +11 -0
  103. basedpl-0.1.6/docs/glyphs/star.md +22 -0
  104. basedpl-0.1.6/docs/glyphs/stencil.md +15 -0
  105. basedpl-0.1.6/docs/glyphs/stile.md +17 -0
  106. basedpl-0.1.6/docs/glyphs/strand.md +33 -0
  107. basedpl-0.1.6/docs/glyphs/table.md +14 -0
  108. basedpl-0.1.6/docs/glyphs/take.md +23 -0
  109. basedpl-0.1.6/docs/glyphs/tally.md +15 -0
  110. basedpl-0.1.6/docs/glyphs/tilde.md +14 -0
  111. basedpl-0.1.6/docs/glyphs/times.md +14 -0
  112. basedpl-0.1.6/docs/glyphs/transpose.md +19 -0
  113. basedpl-0.1.6/docs/glyphs/under.md +13 -0
  114. basedpl-0.1.6/docs/glyphs/unicode.md +17 -0
  115. basedpl-0.1.6/docs/glyphs/union.md +14 -0
  116. basedpl-0.1.6/docs/glyphs/where.md +18 -0
  117. basedpl-0.1.6/docs/glyphs/windows.md +21 -0
  118. basedpl-0.1.6/docs/glyphs/zilde.md +15 -0
  119. basedpl-0.1.6/docs/index.md +170 -0
  120. basedpl-0.1.6/docs/keyboard.md +73 -0
  121. basedpl-0.1.6/docs/processes.md +66 -0
  122. basedpl-0.1.6/docs/python.md +171 -0
  123. basedpl-0.1.6/docs/repl.md +97 -0
  124. basedpl-0.1.6/docs/rules.md +132 -0
  125. basedpl-0.1.6/editors/vim/ftdetect/apl.vim +4 -0
  126. basedpl-0.1.6/editors/vim/syntax/apl.vim +13 -0
  127. basedpl-0.1.6/editors/vim/test.vim +16 -0
  128. basedpl-0.1.6/lib/LICENSE-april +190 -0
  129. basedpl-0.1.6/lib/README.md +25 -0
  130. basedpl-0.1.6/lib/array.apl +468 -0
  131. basedpl-0.1.6/lib/dyalog.apl +1242 -0
  132. basedpl-0.1.6/lib/graph.apl +380 -0
  133. basedpl-0.1.6/lib/numeric.apl +460 -0
  134. basedpl-0.1.6/lib/power.apl +112 -0
  135. basedpl-0.1.6/lib/string.apl +280 -0
  136. basedpl-0.1.6/lib/tree.apl +587 -0
  137. basedpl-0.1.6/pyproject.toml +43 -0
  138. basedpl-0.1.6/python/basedpl/__init__.py +284 -0
  139. basedpl-0.1.6/python/basedpl/_cli.py +7 -0
  140. basedpl-0.1.6/python/basedpl/apltests.py +333 -0
  141. basedpl-0.1.6/python/basedpl/functions.py +94 -0
  142. basedpl-0.1.6/python/basedpl/keyboard.json +15 -0
  143. basedpl-0.1.6/python/basedpl/reference.py +438 -0
  144. basedpl-0.1.6/python/basedpl/worker.py +87 -0
  145. basedpl-0.1.6/rustfmt.toml +1 -0
  146. basedpl-0.1.6/scripts/reference.py +23 -0
  147. basedpl-0.1.6/src/agreement.rs +55 -0
  148. basedpl-0.1.6/src/array.rs +552 -0
  149. basedpl-0.1.6/src/cli.rs +120 -0
  150. basedpl-0.1.6/src/display.rs +129 -0
  151. basedpl-0.1.6/src/editor.rs +353 -0
  152. basedpl-0.1.6/src/error.rs +119 -0
  153. basedpl-0.1.6/src/eval.rs +2429 -0
  154. basedpl-0.1.6/src/execution.rs +67 -0
  155. basedpl-0.1.6/src/kernel.rs +148 -0
  156. basedpl-0.1.6/src/lib.rs +30 -0
  157. basedpl-0.1.6/src/main.rs +1 -0
  158. basedpl-0.1.6/src/number.rs +716 -0
  159. basedpl-0.1.6/src/number_theory.rs +295 -0
  160. basedpl-0.1.6/src/polynomial.rs +277 -0
  161. basedpl-0.1.6/src/primitive.rs +2002 -0
  162. basedpl-0.1.6/src/protocol.rs +130 -0
  163. basedpl-0.1.6/src/python.rs +313 -0
  164. basedpl-0.1.6/src/reference.rs +110 -0
  165. basedpl-0.1.6/src/selection.rs +96 -0
  166. basedpl-0.1.6/src/syntax.rs +425 -0
  167. basedpl-0.1.6/src/system.rs +144 -0
  168. basedpl-0.1.6/src/worker.rs +51 -0
  169. basedpl-0.1.6/tests/cli.rs +110 -0
  170. basedpl-0.1.6/tests/core.rs +908 -0
  171. basedpl-0.1.6/tests/reference/LICENSE-aplcart +23 -0
  172. basedpl-0.1.6/tests/reference/LICENSE-april +190 -0
  173. basedpl-0.1.6/tests/reference/LICENSE-dyalog +396 -0
  174. basedpl-0.1.6/tests/reference/LICENSE-ngn +22 -0
  175. basedpl-0.1.6/tests/reference/README.md +184 -0
  176. basedpl-0.1.6/tests/reference/aplcart.apl +15301 -0
  177. basedpl-0.1.6/tests/reference/april.apl +7560 -0
  178. basedpl-0.1.6/tests/reference/core.apl +3843 -0
  179. basedpl-0.1.6/tests/reference/dyalog.apl +660 -0
  180. basedpl-0.1.6/tests/reference/inventory/aplcart.jsonl +5747 -0
  181. basedpl-0.1.6/tests/reference/inventory/april.jsonl +1813 -0
  182. basedpl-0.1.6/tests/reference/inventory/core.jsonl +4 -0
  183. basedpl-0.1.6/tests/reference/inventory/dyalog.jsonl +130 -0
  184. basedpl-0.1.6/tests/reference/inventory/ngn.jsonl +742 -0
  185. basedpl-0.1.6/tests/reference/ngn.apl +2314 -0
  186. basedpl-0.1.6/tests/reference/slow.apl +54 -0
  187. basedpl-0.1.6/tests/reference.rs +170 -0
  188. basedpl-0.1.6/tests/test_api.py +193 -0
  189. basedpl-0.1.6/tests/test_apltests.py +96 -0
  190. basedpl-0.1.6/tests/test_basic.py +203 -0
  191. basedpl-0.1.6/tests/test_kernel.py +56 -0
  192. basedpl-0.1.6/tests/test_reference.py +54 -0
  193. basedpl-0.1.6/tests/test_repl.py +65 -0
  194. basedpl-0.1.6/tests/test_worker.py +64 -0
  195. basedpl-0.1.6/wheel/data/share/jupyter/kernels/basedpl/kernel.json +6 -0
@@ -0,0 +1,2 @@
1
+ [env]
2
+ RUST_MIN_STACK = "268435456"
@@ -0,0 +1,71 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ tags: ['v*']
7
+ pull_request:
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v7
14
+ - uses: dtolnay/rust-toolchain@stable
15
+ - run: cargo test
16
+ - uses: actions/setup-python@v7
17
+ with:
18
+ python-version: '3.12'
19
+ - run: pip install -e '.[dev]' --config-settings 'maturin.build-args=--profile dev'
20
+ - run: pytest -q
21
+
22
+ build:
23
+ needs: test
24
+ strategy:
25
+ matrix:
26
+ os: [ubuntu-latest, macos-latest]
27
+ runs-on: ${{ matrix.os }}
28
+ steps:
29
+ - uses: actions/checkout@v7
30
+ - uses: PyO3/maturin-action@v1
31
+ with:
32
+ args: --profile dist --out dist -i python3.10 -i python3.11 -i python3.12 -i python3.13
33
+ manylinux: auto
34
+ - uses: actions/upload-artifact@v7
35
+ with:
36
+ name: wheels-${{ matrix.os }}
37
+ path: dist
38
+
39
+ sdist:
40
+ runs-on: ubuntu-latest
41
+ steps:
42
+ - uses: actions/checkout@v7
43
+ - uses: PyO3/maturin-action@v1
44
+ with:
45
+ command: sdist
46
+ args: -o dist
47
+ - uses: actions/upload-artifact@v7
48
+ with:
49
+ name: wheels-sdist
50
+ path: dist
51
+
52
+ publish:
53
+ if: startsWith(github.ref, 'refs/tags/v')
54
+ needs: [build, sdist]
55
+ runs-on: ubuntu-latest
56
+ permissions:
57
+ id-token: write
58
+ contents: write
59
+ steps:
60
+ - uses: actions/checkout@v7
61
+ - uses: actions/download-artifact@v8
62
+ with:
63
+ path: dist
64
+ merge-multiple: true
65
+ - uses: softprops/action-gh-release@v3
66
+ with:
67
+ files: dist/*
68
+ generate_release_notes: true
69
+ - uses: pypa/gh-action-pypi-publish@release/v1
70
+ with:
71
+ packages-dir: dist/
@@ -0,0 +1,17 @@
1
+ links/
2
+ meta/
3
+ *.tgz
4
+ __pycache__/
5
+ *.py[cod]
6
+ *.so
7
+ *.egg-info/
8
+ tags
9
+ target/
10
+ dist/
11
+ build/
12
+ .venv/
13
+ venv/
14
+ .env
15
+ .DS_Store
16
+ .ipynb_checkpoints/
17
+ Cargo.lock