aboutsummaryrefslogtreecommitdiff
path: root/docs/bqn.js
AgeCommit message (Collapse)Author
2022-06-30Prevent modified assignment to [] in the compilerMarshall Lochbaum
2022-06-30Prevent · as a modified assignment target in the compiler; VMs mostly don't ↵Marshall Lochbaum
handle this
2022-06-29Fix error location crash for ˜⁼ header missing 𝕨Marshall Lochbaum
2022-06-17Stricter syntax checking for aliasesMarshall Lochbaum
2022-06-16Allow zero-length destructuring []Marshall Lochbaum
2022-06-14Don't allow list destructuring with aliases in bqn.js and vm.bqnMarshall Lochbaum
2022-06-13Fuse merge instruction with array-forming instructions so there are 4 totalMarshall Lochbaum
2022-06-13Implement high-rank array notation [] (including destructuring)Marshall Lochbaum
2022-06-10Convert JS undefined to BQN @ so no-result functions workMarshall Lochbaum
2022-06-03Allow ⊏ to handle trailing unchanged axes in dyadic ⍉, speeding up cases ↵Marshall Lochbaum
with large cells
2022-05-17Fix test for unknown identity valueMarshall Lochbaum
2022-05-17Fix JS comparison of characters with one versus two UTF-16 unitsMarshall Lochbaum
2022-05-05Support identity element for F⌜ if arithmetic function F has an identityMarshall Lochbaum
2022-05-05Fix errors in formatting arrays in compound functions, from max size changesMarshall Lochbaum
2022-05-05Fix some complicated cases of computational Under with derived functionsMarshall Lochbaum
2022-05-03BREAKING: More consistent Under fill handling; don't retain fill with ⌾⊢Marshall Lochbaum
2022-05-02Fix ∾⁼Marshall Lochbaum
2022-04-30Try to reduce formatted size of array elements if necessaryMarshall Lochbaum
2022-04-29Allow formatter 𝕨 for maximum output size, truncating with …Marshall Lochbaum
2022-04-15Mention undo headers in the error message for inverting blocksMarshall Lochbaum
2022-04-08Fix bracket matching in error messages when . follows parensMarshall Lochbaum
2022-04-08Fix bug when merging some nested results in structural UnderMarshall Lochbaum
2022-04-06Implement under ⚇ (only negative and infinite depths can be supported)Marshall Lochbaum
2022-04-04Fix nested ¨ handling in structural UnderMarshall Lochbaum
2022-04-04Support function 𝔾 in ⎉ in structural UnderMarshall Lochbaum
2022-04-03Support ˘ and ⎉ with constant 𝕘 in structural UnderMarshall Lochbaum
2022-03-28Fix depth-2 expansion of structure already at depth 1Marshall Lochbaum
2022-03-28Support for ∾ and > in UnderMarshall Lochbaum
2022-03-14Make setc handle lists of varsAndrey Popp
2022-03-13Make setc not fail on matchesAndrey Popp
2022-03-13Add repl previewAndrey Popp
Repl now has an additional mode of evaluation where observable (visible outside of the evaluated expression) side effects are not allowed. More specifically all assignments and reassignments are *prohibited* unless they fall in the following categories: - Assignments and reassignments within the top level environment - Assignments and reassignments for the environments created during evaluation of the expression being previewed Examples: let repl = BQN.makerepl() repl.preview('42') // ok, pure repl.preview('x ← 42 ⋄ x + 1') // ok, x is from the top env repl('f ← {x ← 0 ⋄ F ← {x+↩𝕩} ⋄ f}') repl.preview('F 42') // fail! mutates x How it's implemented: - A global `preview` flag determines if we are in "preview" mode - During compilation of bytecode to JS we inject code which marks environments with `inpreview` flag - `true` means they've been created during "preview". - Top level environment always has `inpreview = true` as we have this handled by restoring it to the values before the "preview" eval started. - While setting variables we check if are in "preview" and if the target environment has `inpreview` flag, otherwise we fail.
2022-03-11JS does string-based sorting by default, ouchMarshall Lochbaum
2022-03-11Fix missing fill in •rand.Deal and •rand.SubsetMarshall Lochbaum
2022-02-17Fix formatting of error locations that meet or overlapMarshall Lochbaum
2022-02-12Store whether selected structure can have depth>1 in UnderMarshall Lochbaum
2022-02-08Handle other valence of a half-structural function in UnderMarshall Lochbaum
2022-02-07Define limited / in r1Marshall Lochbaum
2022-02-07Fully non-pervasive ⊔ and ⊔⁼ implementationsMarshall Lochbaum
2022-02-07Some rearrangementMarshall Lochbaum
2022-02-07Lower-level Reorder Axes control codeMarshall Lochbaum
2022-02-06Much faster Reorder Axes implementationMarshall Lochbaum
2022-02-02Check number of arguments for •math functionsMarshall Lochbaum
2022-01-25Implement •CurrentErrorMarshall Lochbaum
2022-01-19Fix fill computation for arrays imported from JSMarshall Lochbaum
2022-01-18Locate unmatched bracketsMarshall Lochbaum
2022-01-06Add •ns.Has and •ns.Get, taking namespace on the left, and •ns.MapMarshall Lochbaum
2022-01-06Move •ListKeys to •ns.KeysMarshall Lochbaum
2022-01-04Fix fill counting for Take with atom 𝕨 and high-rank 𝕩 (fixes #52)Marshall Lochbaum
2021-12-30Fix •Repr of 1-element numeric list (can't use a strand)Marshall Lochbaum
2021-12-25Fix modification of assignment indices since their location has movedMarshall Lochbaum