basedpl 0.1.34__tar.gz → 0.1.35__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.
- {basedpl-0.1.34 → basedpl-0.1.35}/Cargo.lock +5 -5
- {basedpl-0.1.34 → basedpl-0.1.35}/Cargo.toml +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/PKG-INFO +4 -4
- {basedpl-0.1.34 → basedpl-0.1.35}/README.md +3 -3
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-de.bundle/Contents/Resources/BasedPL-de.keylayout +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-de.txt +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-es.bundle/Contents/Resources/BasedPL-es.keylayout +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-es.txt +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-fr.bundle/Contents/Resources/BasedPL-fr.keylayout +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-fr.txt +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-uk.bundle/Contents/Resources/BasedPL-uk.keylayout +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-uk.txt +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-us.bundle/Contents/Resources/BasedPL-us.keylayout +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-us.txt +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/vim/syntax/bpl.vim +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/lib/array.bpl +18 -18
- {basedpl-0.1.34 → basedpl-0.1.35}/lib/dyalog.bpl +69 -69
- {basedpl-0.1.34 → basedpl-0.1.35}/lib/graph.bpl +7 -7
- {basedpl-0.1.34 → basedpl-0.1.35}/lib/numeric.bpl +22 -22
- {basedpl-0.1.34 → basedpl-0.1.35}/lib/power.bpl +3 -3
- {basedpl-0.1.34 → basedpl-0.1.35}/lib/string.bpl +10 -10
- {basedpl-0.1.34 → basedpl-0.1.35}/lib/tree.bpl +18 -18
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/arrays.ipynb +5 -5
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/assignment.ipynb +30 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/bpl.xml +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/bracket-types.ipynb +2 -2
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/comparison.qmd +4 -4
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/dfns.ipynb +3 -3
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/evaluation.qmd +6 -3
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/fonts/SAX2B.ttf +0 -0
- basedpl-0.1.35/nbs/fonts/SAX2B.woff2 +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/gallery/attractor.bpl +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/gallery/dragon.bpl +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/gallery/mandelbrot.bpl +2 -2
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/gallery/phyllotaxis.bpl +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/gallery/reaction.bpl +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/getting-started.ipynb +6 -6
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/after.qmd +2 -2
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/assign.qmd +3 -2
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/del-diaeresis.qmd +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/del.qmd +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/inverse-pair.qmd +2 -2
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/iota.qmd +3 -3
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/parentheses.qmd +2 -2
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/polynomial.qmd +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/power.qmd +10 -10
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/quad.qmd +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/range.qmd +15 -15
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/rank.qmd +5 -5
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/slash.qmd +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/stencil.qmd +3 -3
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/under.qmd +2 -2
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/windows.qmd +2 -2
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs.qmd +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/index.ipynb +3 -3
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/introspection.ipynb +2 -2
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/keyboard.qmd +2 -2
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/keyed.ipynb +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/llms.txt +4 -4
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/magics.ipynb +6 -6
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/modules.qmd +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/notebooks.ipynb +6 -6
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/principles.ipynb +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/python.ipynb +92 -10
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/repl.qmd +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/scripts.ipynb +5 -5
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/syntax.qmd +2 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/terms.qmd +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/web.ipynb +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/xml.ipynb +18 -2
- {basedpl-0.1.34 → basedpl-0.1.35}/python/basedpl/bpl.tmLanguage.json +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/python/basedpl/font.py +15 -5
- {basedpl-0.1.34 → basedpl-0.1.35}/python/basedpl/keyboards.py +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/python/basedpl/layout.json +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/python/basedpl/lb.js +1 -1
- basedpl-0.1.34/scripts/install-keyboard.sh → basedpl-0.1.35/scripts/install-macos.sh +6 -4
- {basedpl-0.1.34 → basedpl-0.1.35}/src/eval/assign.rs +36 -12
- {basedpl-0.1.34 → basedpl-0.1.35}/src/eval/binder.rs +11 -5
- {basedpl-0.1.34 → basedpl-0.1.35}/src/primitive/search.rs +2 -2
- {basedpl-0.1.34 → basedpl-0.1.35}/src/primitive.rs +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/reference/aplcart.bpl +75 -75
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/reference/april.bpl +33 -33
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/reference/bqn.bpl +1 -1
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/reference/core.bpl +64 -24
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/reference/dyalog.bpl +3 -3
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/reference/lib.bpl +4 -4
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/reference/ngn.bpl +15 -15
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/test_repl.py +1 -1
- basedpl-0.1.34/nbs/fonts/SAX2B.woff2 +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/.cargo/config.toml +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/.gitattributes +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/.github/workflows/ci.yml +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/.github/workflows/docs.yml +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/.gitignore +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/CONTRIBUTING.md +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/LICENSE +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/_config.yml +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/_layouts/default.html +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/build.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-de.bundle/Contents/Info.plist +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-de.bundle/Contents/Resources/BasedPL-de.icns +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-de.bundle/Contents/Resources/en.lproj/InfoPlist.strings +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-de.bundle/Contents/version.plist +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-es.bundle/Contents/Info.plist +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-es.bundle/Contents/Resources/BasedPL-es.icns +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-es.bundle/Contents/Resources/en.lproj/InfoPlist.strings +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-es.bundle/Contents/version.plist +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-fr.bundle/Contents/Info.plist +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-fr.bundle/Contents/Resources/BasedPL-fr.icns +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-fr.bundle/Contents/Resources/en.lproj/InfoPlist.strings +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-fr.bundle/Contents/version.plist +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-uk.bundle/Contents/Info.plist +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-uk.bundle/Contents/Resources/BasedPL-uk.icns +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-uk.bundle/Contents/Resources/en.lproj/InfoPlist.strings +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-uk.bundle/Contents/version.plist +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-us.bundle/Contents/Info.plist +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-us.bundle/Contents/Resources/BasedPL-us.icns +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-us.bundle/Contents/Resources/en.lproj/InfoPlist.strings +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/macos/BasedPL-us.bundle/Contents/version.plist +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/editors/vim/ftdetect/bpl.vim +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/index_files/figure-commonmark/cell-17-output-1.svg +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/index_files/figure-commonmark/cell-18-output-1.svg +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/index_files/figure-html/cell-17-output-1.svg +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/index_files/figure-html/cell-18-output-1.svg +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/lib/LICENSE-april +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/lib/README.md +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/lib/regex.bpl +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/.gitignore +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/_quarto.yml +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/bqn.xml +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/cli.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/data.ipynb +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/distributions.ipynb +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/driver.js +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/dyalog.ipynb +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/dyalog.xml +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/fonts/LICENSE-SAX2 +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/fonts/README.md +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/fonts.css +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/gallery/boids.bpl +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/gallery/flow.bpl +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/gallery/orbits.bpl +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/gallery.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/_metadata.yml +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/add.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/agenda.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/alpha-underbar.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/alpha.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/and.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/at.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/atop.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/axis.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/backslash-bar.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/backslash.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/before.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/braces.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/brackets.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/bullet.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/ceiling.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/circle.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/colon.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/comma.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/comment.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/commute.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/dash.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/decode.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/derivative.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/diamond.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/div.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/domino.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/dot.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/drop.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/each.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/enclose.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/encode.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/equal.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/error-guard.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/execute.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/factor.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/factorial.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/find.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/floor.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/format.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/grade-down.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/grade-up.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/greater-or-equal.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/greater.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/hash.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/infinity.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/intersection.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/inverted-question.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/key.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/left.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/less-or-equal.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/less.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/log.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/match.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/member.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/mix.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/mul.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/nand.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/nest.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/nor.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/not-equal.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/omega-underbar.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/omega.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/or.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/outer-product.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/over.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/overbar.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/pi.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/prime.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/question.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/quote.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/reverse-first.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/reverse.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/rho.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/right.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/root.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/slash-bar.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/squad.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/star.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/stile.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/table.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/take.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/tally.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/tilde.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/transpose.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/union.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/valences.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/where.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/glyphs/zilde.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/nbdev.yml +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/numbers.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/overview.ipynb +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/papers/aplwiki-arrays.md +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/papers/brickman-depth-1-scalars.md +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/papers/mercer-based-system.md +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/playground/bpl.js +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/playground/gallery.js +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/playground/monaco-worker.js +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/playground/page.js +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/playground/worker.js +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/playground.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/plot.ipynb +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/processes.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/puppy.jpg +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/regex.ipynb +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/sidebar.yml +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/strings.ipynb +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/styles.css +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/_metadata.yml +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/c.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/canvas.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/constants.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/copy.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/csv.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/date.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/decompose.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/deflate.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/delay.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/distribution.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/element.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/ex.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/fetch.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/hash.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/host.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/image.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/js.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/json.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/literal.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/load.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/metadata.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/mime.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/mkdir.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/nc.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/nget.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/nl.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/normalize.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/nput.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/path.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/plot.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/prefs.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/r.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/rand.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/readdir.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/remove.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/rename.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/signal.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/src.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/storage.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/svg.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/time.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/ucs.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/uuid.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/vfi.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system/xml.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/nbs/system-functions.qmd +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/provenance/README.md +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/provenance/aplcart.jsonl +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/provenance/april.jsonl +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/provenance/bqn.jsonl +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/provenance/core.jsonl +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/provenance/dyalog.jsonl +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/provenance/ngn.jsonl +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/py/Cargo.toml +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/py/build.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/py/src/lib.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/pyproject.toml +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/python/basedpl/__init__.py +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/python/basedpl/_modidx.py +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/python/basedpl/bpltests.py +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/python/basedpl/dyalog.py +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/python/basedpl/editors.py +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/python/basedpl/fonts.css +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/python/basedpl/functions.py +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/python/basedpl/input.js +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/python/basedpl/ipython.py +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/python/basedpl/keyboards.json +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/python/basedpl/notebook_runner.py +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/python/basedpl/notebooks.py +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/python/basedpl/printing.py +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/python/basedpl/reference.py +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/python/basedpl/syntax.py +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/python/basedpl/worker.py +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/rustfmt.toml +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/scripts/prep.py +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/agreement.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/array/storage.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/array/text.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/array.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/canvas.js +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/canvas.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/csv.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/data.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/date.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/display.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/distribution.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/element.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/error.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/eval/dissect.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/eval/operators.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/eval/session.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/eval.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/execution.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/files.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/host.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/host_web.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/image.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/inspection.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/js.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/json.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/keyed.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/lib.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/number.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/number_theory.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/pervasive.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/plot.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/polynomial.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/primitive/indexing.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/primitive/numeric.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/primitive/structural.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/protocol.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/reference.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/regex.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/search.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/selection.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/symbols.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/syntax.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/system.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/src/xml.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/conftest.py +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/core.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/highlighting.mjs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/input.mjs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/reference/LICENSE-aplcart +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/reference/LICENSE-april +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/reference/LICENSE-bqn +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/reference/LICENSE-bqncrate +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/reference/LICENSE-dyalog +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/reference/LICENSE-ngn +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/reference/README.md +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/reference/distributions.bpl +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/reference/graphics.bpl +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/reference/regex.bpl +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/reference/support/april.bpl +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/reference/support/avl.bpl +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/reference/support/redblack.bpl +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/reference/support/sbst.bpl +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/reference/support/splay.bpl +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/reference.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/scaling.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/speed.rs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/test_api.py +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/test_basic.py +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/test_bpltests.py +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/test_glyphs.py +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/test_graphics.py +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/test_ipython.py +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/test_kernel.py +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/test_keylayout.py +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/test_notebooks.py +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/test_reference.py +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/test_worker.py +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/tests/wasm.mjs +0 -0
- {basedpl-0.1.34 → basedpl-0.1.35}/wheel/data/share/jupyter/kernels/bpl/kernel.json +0 -0
|
@@ -90,7 +90,7 @@ checksum = "ac07cdecf99051d9a5238b80f35af32cdeba5b336e55d957b318b50137e18da5"
|
|
|
90
90
|
|
|
91
91
|
[[package]]
|
|
92
92
|
name = "basedpl"
|
|
93
|
-
version = "0.1.
|
|
93
|
+
version = "0.1.35"
|
|
94
94
|
dependencies = [
|
|
95
95
|
"base64 0.23.1",
|
|
96
96
|
"bytemuck",
|
|
@@ -136,7 +136,7 @@ dependencies = [
|
|
|
136
136
|
|
|
137
137
|
[[package]]
|
|
138
138
|
name = "basedpl-cli"
|
|
139
|
-
version = "0.1.
|
|
139
|
+
version = "0.1.35"
|
|
140
140
|
dependencies = [
|
|
141
141
|
"async-trait",
|
|
142
142
|
"basedpl",
|
|
@@ -149,7 +149,7 @@ dependencies = [
|
|
|
149
149
|
|
|
150
150
|
[[package]]
|
|
151
151
|
name = "basedpl-py"
|
|
152
|
-
version = "0.1.
|
|
152
|
+
version = "0.1.35"
|
|
153
153
|
dependencies = [
|
|
154
154
|
"basedpl",
|
|
155
155
|
"bytemuck",
|
|
@@ -163,7 +163,7 @@ dependencies = [
|
|
|
163
163
|
|
|
164
164
|
[[package]]
|
|
165
165
|
name = "basedpl-wasm"
|
|
166
|
-
version = "0.1.
|
|
166
|
+
version = "0.1.35"
|
|
167
167
|
dependencies = [
|
|
168
168
|
"basedpl",
|
|
169
169
|
"js-sys",
|
|
@@ -2574,7 +2574,7 @@ checksum = "3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc"
|
|
|
2574
2574
|
|
|
2575
2575
|
[[package]]
|
|
2576
2576
|
name = "xtask"
|
|
2577
|
-
version = "0.1.
|
|
2577
|
+
version = "0.1.35"
|
|
2578
2578
|
dependencies = [
|
|
2579
2579
|
"anyhow",
|
|
2580
2580
|
"serde_json",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: basedpl
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.35
|
|
4
4
|
Classifier: Programming Language :: Rust
|
|
5
5
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
6
6
|
Requires-Dist: fastcore
|
|
@@ -96,13 +96,13 @@ avg 1 2 3 4
|
|
|
96
96
|
|
|
97
97
|
2.5
|
|
98
98
|
|
|
99
|
-
To see how these ideas express an algorithm, start from “a prime has exactly two positive divisors”. Form all remainders of 1 to 50 (
|
|
99
|
+
To see how these ideas express an algorithm, start from “a prime has exactly two positive divisors”. Form all remainders of 1 to 50 (`|⊗⍨↦50`), count the zeros down each column (`+⌿0=`), and find the positions (`⍸`) whose count is two. Positions count from 0. `≥` increments each position to recover its number:
|
|
100
100
|
|
|
101
101
|
``` bpl
|
|
102
|
-
|
|
102
|
+
≥⍸2=+⌿0=|⊗⍨↦50
|
|
103
103
|
```
|
|
104
104
|
|
|
105
|
-
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
|
|
105
|
+
[2 3 5 7 11 13 17 19 23 29 31 37 41 43 47]ₓ
|
|
106
106
|
|
|
107
107
|
[Getting started](https://answerdotai.github.io/basedpl/getting-started.html#example-algorithms) builds a primes function from the same divisor count, step by step, and displays the divisibility matrix along the way.
|
|
108
108
|
|
|
@@ -68,13 +68,13 @@ avg 1 2 3 4
|
|
|
68
68
|
|
|
69
69
|
2.5
|
|
70
70
|
|
|
71
|
-
To see how these ideas express an algorithm, start from “a prime has exactly two positive divisors”. Form all remainders of 1 to 50 (
|
|
71
|
+
To see how these ideas express an algorithm, start from “a prime has exactly two positive divisors”. Form all remainders of 1 to 50 (`|⊗⍨↦50`), count the zeros down each column (`+⌿0=`), and find the positions (`⍸`) whose count is two. Positions count from 0. `≥` increments each position to recover its number:
|
|
72
72
|
|
|
73
73
|
``` bpl
|
|
74
|
-
|
|
74
|
+
≥⍸2=+⌿0=|⊗⍨↦50
|
|
75
75
|
```
|
|
76
76
|
|
|
77
|
-
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
|
|
77
|
+
[2 3 5 7 11 13 17 19 23 29 31 37 41 43 47]ₓ
|
|
78
78
|
|
|
79
79
|
[Getting started](https://answerdotai.github.io/basedpl/getting-started.html#example-algorithms) builds a primes function from the same divisor count, step by step, and displays the divisibility matrix along the way.
|
|
80
80
|
|
|
@@ -708,7 +708,7 @@
|
|
|
708
708
|
<key code="34" output="Û"/>
|
|
709
709
|
<key code="35" output="∏"/>
|
|
710
710
|
<key code="36" output="
"/>
|
|
711
|
-
<key code="37" output="
|
|
711
|
+
<key code="37" output="↦"/>
|
|
712
712
|
<key code="38" output="ı"/>
|
|
713
713
|
<key code="39" output="Æ"/>
|
|
714
714
|
<key code="40" output="ˆ"/>
|
|
@@ -578,7 +578,7 @@
|
|
|
578
578
|
<key code="34" output="⍳"/>
|
|
579
579
|
<key code="35" output="π"/>
|
|
580
580
|
<key code="36" output="
"/>
|
|
581
|
-
<key code="37" output="
|
|
581
|
+
<key code="37" output="↦"/>
|
|
582
582
|
<key code="38" output="↓"/>
|
|
583
583
|
<key code="39" output="{"/>
|
|
584
584
|
<key code="40" action="k40-m4"/>
|
|
@@ -578,7 +578,7 @@
|
|
|
578
578
|
<key code="34" output="⍳"/>
|
|
579
579
|
<key code="35" output="π"/>
|
|
580
580
|
<key code="36" output="
"/>
|
|
581
|
-
<key code="37" output="
|
|
581
|
+
<key code="37" output="↦"/>
|
|
582
582
|
<key code="38" output="↓"/>
|
|
583
583
|
<key code="39" output="Ù"/>
|
|
584
584
|
<key code="40" action="k40-m4"/>
|
|
@@ -578,7 +578,7 @@
|
|
|
578
578
|
<key code="34" action="k34-m4"/>
|
|
579
579
|
<key code="35" output="π"/>
|
|
580
580
|
<key code="36" output="
"/>
|
|
581
|
-
<key code="37" output="
|
|
581
|
+
<key code="37" output="↦"/>
|
|
582
582
|
<key code="38" output="↓"/>
|
|
583
583
|
<key code="39" output="⊢"/>
|
|
584
584
|
<key code="40" action="k40-m4"/>
|
|
@@ -578,7 +578,7 @@
|
|
|
578
578
|
<key code="34" output="⍳"/>
|
|
579
579
|
<key code="35" output="π"/>
|
|
580
580
|
<key code="36" output="
"/>
|
|
581
|
-
<key code="37" output="
|
|
581
|
+
<key code="37" output="↦"/>
|
|
582
582
|
<key code="38" output="↓"/>
|
|
583
583
|
<key code="39" output="⊢"/>
|
|
584
584
|
<key code="40" action="k40-m4"/>
|
|
@@ -8,7 +8,7 @@ syntax match bplNumber /\v¯?∞|¯?(\d+(\.\d+)?|\.\d+)([eEₑ]¯?\d+)?([jJⱼ]
|
|
|
8
8
|
syntax match bplNumber /\v([\])])@<=ₓ/
|
|
9
9
|
syntax match bplNumber /\v\$[tfn]/
|
|
10
10
|
syntax match bplString /\v\$[ad]/
|
|
11
|
-
syntax match bplFunction /[
|
|
11
|
+
syntax match bplFunction /[+×÷⌈⌊|*⍟○π√!∧∨⊼⊽~=≠<≤>≥⍳↦:⍴≢≡,⍪⊂⊃⊆∊∪∩⍋⍒↑↓⌽⊖⍉⊤⊥⍎⍕⌷⌹#↕⍭⨸⌻⍸⍷⊢⊣¿-]/
|
|
12
12
|
syntax match bplMonadicOperator #[¨⍨⊗⌸∂/⌿\\⍀⁰¹²³⁴⁵⁶⁷⁸⁹⁻ᵀᵘ]#
|
|
13
13
|
syntax match bplDyadicOperator /[↣⍤∘⍠⍥↢.⍣⇄⊘⌾⍚@⌺]/
|
|
14
14
|
syntax match bplArgument /[⍺⍵⍶⍹∇⍢]/
|
|
@@ -37,7 +37,7 @@ acc ← {⍶{(⊂⍺⍶↑⍬⍴⍵),⍵}/1↓{⍵,⊂⍬⍴⍵}¯1⌽⍵} ⍝
|
|
|
37
37
|
⍝ Helpers shared by disp, display, displays, displayr and dsp.
|
|
38
38
|
format ← {t←⊃,↓⍕⍵ ⋄ (¯2↑1 1,⍴t)⍴t} ⍝ Simple array as a character matrix.
|
|
39
39
|
open ← {(1⌈⍴⍵)⍴⍵} ⍝ Exposure of null axes.
|
|
40
|
-
axes ← {(-2⌈⍴⍴⍵)
|
|
40
|
+
axes ← {(-2⌈⍴⍴⍵)↑≥×⍴⍵} ⍝ Array axis types.
|
|
41
41
|
char ← {⍬≡⍴⍵?'─';(↑⍵∊'¯',$d)⊃"#~"}∘⍕ ⍝ Type character of an atom.
|
|
42
42
|
type ← {{(1=⍴⍵)⊃['+' ⍵]}∪,char¨⍵} ⍝ Type characters of an array.
|
|
43
43
|
deco ← {⍺←type open ⍵ ⋄ ⍺,axes ⍵} ⍝ Type and axes vector.
|
|
@@ -65,7 +65,7 @@ disp ← { ⍺←⍬ ⍝ Boxed sketch of nested array.
|
|
|
65
65
|
}
|
|
66
66
|
gaps←{ ⍝ Gap-separated sub-planes.
|
|
67
67
|
⍺≤2?⍵; ⍝ lowish rank: done.
|
|
68
|
-
subs←(
|
|
68
|
+
subs←(≤⍺)∇¨⍵ ⍝ sub-hyperplanes.
|
|
69
69
|
width←↑⌽⍴↑subs
|
|
70
70
|
fill←([⍺ width]-3 0)⍴' ' ⍝ inter-plane gap.
|
|
71
71
|
⊃{⍺⍪fill⍪⍵}/ 1 open subs
|
|
@@ -98,7 +98,7 @@ disp ← { ⍺←⍬ ⍝ Boxed sketch of nested array.
|
|
|
98
98
|
lft,top⍪⍪⌿,/boxes
|
|
99
99
|
}
|
|
100
100
|
right←{ ⍝ Border right each subarray.
|
|
101
|
-
types←2⊥¨(⍳⍴⍵)
|
|
101
|
+
types←2⊥¨(⍳⍴⍵)=⊂≤⍴⍵
|
|
102
102
|
chars←[types]⌷"┼┤┴┘"
|
|
103
103
|
rgt←{⍵,(-≢⍵)↑[≢⍵ 1 1]#'│',⍺} ⍝ form right border.
|
|
104
104
|
(matr 1 open ⍺),¨chars rgt¨ ⍵ ⍝ cells bordered right.
|
|
@@ -122,7 +122,7 @@ disp ← { ⍺←⍬ ⍝ Boxed sketch of nested array.
|
|
|
122
122
|
dec≤0=⍴⍴⍵?⍺#¨"│─"; ⍝ no decoration or unit.
|
|
123
123
|
cols←(ׯ1↑⍴⍵)⊃"⊖→"
|
|
124
124
|
rsig←(××/¯1↓⍴⍵)⊃"⌽↓"
|
|
125
|
-
rows←(
|
|
125
|
+
rows←(≤3⌊⍴⍴⍵)⊃['│' rsig '⍒']
|
|
126
126
|
[rows cols] ⍝ shape decorators.
|
|
127
127
|
}
|
|
128
128
|
matr←{⊃,↓⍵}
|
|
@@ -139,7 +139,7 @@ disp ← { ⍺←⍬ ⍝ Boxed sketch of nested array.
|
|
|
139
139
|
|
|
140
140
|
display ← { ⍝ Boxed display of array.
|
|
141
141
|
box←{ ⍝ box with type and axes
|
|
142
|
-
[vrt hrz]←(
|
|
142
|
+
[vrt hrz]←(≤⍴⍵)⍴¨"│─" ⍝ vert. and horiz. lines
|
|
143
143
|
top←"─⊖→".[¯1↑⍺],hrz
|
|
144
144
|
bot←(↑⍺),hrz
|
|
145
145
|
rgt←"┐│",vrt,'┘' ⍝ right side with corners
|
|
@@ -159,7 +159,7 @@ display ← { ⍝ Boxed display of array.
|
|
|
159
159
|
displays ← { ⍝ Boxed display of array.
|
|
160
160
|
box←{ ⍝ Box with type and axes.
|
|
161
161
|
[shp w]←open\⍵
|
|
162
|
-
[vrt hrz]←(
|
|
162
|
+
[vrt hrz]←(≤⍴w)⍴¨"│─" ⍝ Vert. and horiz. lines.
|
|
163
163
|
top←"─⊖→".[¯1↑⍺],hrz
|
|
164
164
|
ok←(⍴shp)<⍴hrz
|
|
165
165
|
top←⍴top ↑ 2↑top , ok#shp , (2+ok×⍴shp)↓top
|
|
@@ -181,12 +181,12 @@ displays ← { ⍝ Boxed display of array.
|
|
|
181
181
|
|
|
182
182
|
displayr ← { ⍝ Boxed display of array
|
|
183
183
|
box←{ ⍝ box with type and axes
|
|
184
|
-
[vrt hrz]←(
|
|
185
|
-
top←(
|
|
184
|
+
[vrt hrz]←(≤⍴⍵)⍴¨"│─" ⍝ vert. and horiz. lines
|
|
185
|
+
top←(≥⍴hrz)↑(↑ ¯1↑⍺ ⌷ "─⊖",⊂⍕¯1↑⍺₁),hrz
|
|
186
186
|
bot←⍴top ↑ ↑2↓⍺ , hrz
|
|
187
187
|
rgt←"┐│",vrt,'┘' ⍝ right side with corners
|
|
188
|
-
lax←(↑¨ ¯1↓3↓⍺ ⌷¨ -1
|
|
189
|
-
lax
|
|
188
|
+
lax←(↑¨ ¯1↓3↓⍺ ⌷¨ -1⌈≤⍴⍺₁ ↑ ⊂"│⌽" ,¨ (⊂⍕)¨¯1↓0,⍺₁),¨⊂vrt
|
|
189
|
+
lax←⊂≥⍴vrt ↑¨ lax~¨⊂" " ,¨ '│' ⍝ pad and trim
|
|
190
190
|
lft←⍉'┌',(⊃lax),'└'
|
|
191
191
|
lft,(top⍪⍵⍪bot),rgt ⍝ fully boxed array
|
|
192
192
|
}
|
|
@@ -200,8 +200,8 @@ displayr ← { ⍝ Boxed display of array
|
|
|
200
200
|
⍝ From http://dfns.dyalog.com/c_dist.htm
|
|
201
201
|
|
|
202
202
|
dist ← { ⍝ Levenshtein distance.
|
|
203
|
-
a←(n
|
|
204
|
-
f←⍵{⌊\⍵⌊(↑⍵),(¯1↓⍵)
|
|
203
|
+
a←(≥n)⍴(⍴⍺)+n←⍴⍵ ⍝ first row of matrix
|
|
204
|
+
f←⍵{⌊\⍵⌊(↑⍵),(¯1↓⍵)-≥⍺=⍶}
|
|
205
205
|
z←a f/ ⌽⍺
|
|
206
206
|
↑⌽z
|
|
207
207
|
}
|
|
@@ -225,7 +225,7 @@ dsp ← { ⍝ Reduced version of disp.
|
|
|
225
225
|
rows←(mrs#¨'│')join¨↓dims↑¨subs ⍝ complete rows with '│'-separated items
|
|
226
226
|
hzs←'┼'join mcs#¨'─' ⍝ inter-row horizontal "─┼─" separators
|
|
227
227
|
cells←{⍺⍪hzs⍪⍵}/rows ⍝ joined rows: array of 2D planes
|
|
228
|
-
gaps←(
|
|
228
|
+
gaps←(⌽≥⍳¯2+⍴⍴⍵)#¨' ' ⍝ increasing cell gaps for higher ranks
|
|
229
229
|
cjoin←{⍪/(⊂⍺),⍶,⊂⍵}
|
|
230
230
|
top{(⍺ cjoin)⌿⍵}/gaps,⊂cells
|
|
231
231
|
}
|
|
@@ -239,7 +239,7 @@ Rgt ← {⊂2↑⍵ , 2↓¯1↓⍵ , ↑⌽⍵} ⍝ tape-head moves right 1 it
|
|
|
239
239
|
|
|
240
240
|
enlist ← { ⍝ List ⍺-leaves of nested array.
|
|
241
241
|
⍺←0 ⍝ default: list 0-leaves.
|
|
242
|
-
|
|
242
|
+
⍺≥≤≡⍵?,⍵; ⍝ all shallow leaves: finished.
|
|
243
243
|
1↓,/(⊂⊂↑↑⍵),⍺∇¨,⍵
|
|
244
244
|
}
|
|
245
245
|
|
|
@@ -270,7 +270,7 @@ in ← { ⍝ Locations of item ⍺ in array ⍵.
|
|
|
270
270
|
⍬{ ⍝ ⍺ is pick-path
|
|
271
271
|
item≡⍵?,⊂⍺; ⍝ match: path
|
|
272
272
|
D≥≡⍵?⍬; ⍝ give up
|
|
273
|
-
paths
|
|
273
|
+
paths←(⍺↣,⊂)¨⍳⍴⍵ ⍝ extended paths
|
|
274
274
|
,/, paths ∇¨ ⍵
|
|
275
275
|
}⍵ ⍝ ⍵ is searched-in array
|
|
276
276
|
}
|
|
@@ -288,7 +288,7 @@ ltrav ← { ⍝ List traversal.
|
|
|
288
288
|
|
|
289
289
|
⍝ From http://dfns.dyalog.com/s_list.htm
|
|
290
290
|
|
|
291
|
-
listLength ← 0ₓ↣({
|
|
291
|
+
listLength ← 0ₓ↣({≥⍺} ltrav)
|
|
292
292
|
|
|
293
293
|
vectFromList ← ⍬↣({⍺,⊂⍵} ltrav)
|
|
294
294
|
|
|
@@ -354,7 +354,7 @@ pmat ← { ⍝ Permutation matrix of ⍳⍵.
|
|
|
354
354
|
|
|
355
355
|
⍝ From http://dfns.dyalog.com/c_pred.htm
|
|
356
356
|
|
|
357
|
-
pred ← {⊃⍶/¨(
|
|
357
|
+
pred ← {⊃⍶/¨(⍺#≥⍳⍴⍺)⊆⍵} ⍝ Partitioned reduction.
|
|
358
358
|
|
|
359
359
|
⍝ From http://dfns.dyalog.com/c_rows.htm
|
|
360
360
|
|
|
@@ -420,7 +420,7 @@ shannon ← {-+/(2↣⍟×⊣)¨({≢⍵}⌸÷≢)⍵} ⍝ Shannon entropy of m
|
|
|
420
420
|
|
|
421
421
|
subvec ← {0∊⍴⍺?1; ⍝ Is ⍺ a subvector of ⍵?
|
|
422
422
|
0∊⍴⍵?0; ⍝ null ⍵: failure.
|
|
423
|
-
(1↓⍺)∇(1
|
|
423
|
+
(1↓⍺)∇(≥⍵⍳1↑⍺)↓⍵ ⍝ otherwise, check remaining items.
|
|
424
424
|
}
|
|
425
425
|
|
|
426
426
|
⍝ From http://dfns.dyalog.com/c_subs.htm
|