aboutsummaryrefslogtreecommitdiff
path: root/docs/bqn.js
AgeCommit message (Collapse)Author
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
2021-12-20Allow monadic ´˝ to be used on an array in structural UnderMarshall Lochbaum
2021-12-20Avoid changing fill of existing array in fill_byMarshall Lochbaum
2021-12-18Support ´˝ with non-selection right argument in structural UnderMarshall Lochbaum
2021-12-16Check for character set duplicates (from •ReBQN) in the compilerMarshall Lochbaum
2021-12-15Fix ⊑'s handling of atom in nested 𝕨Marshall Lochbaum
2021-12-14Make Mix and Join return the argument if it's empty and has no fillMarshall Lochbaum
2021-12-14Set a fill cell for ⎉ with an empty frameMarshall Lochbaum
2021-12-13Copy state for •ReBQN on every call, not once per fileMarshall Lochbaum
2021-12-12Special case extensions to remove checks from /⁼ and F⁼⁼Marshall Lochbaum
2021-12-09LintingMarshall Lochbaum
2021-12-07Fix JS VM's handling of single-body block function with a headerMarshall Lochbaum
2021-12-03Support CR as a separator characterMarshall Lochbaum
2021-12-01Fix handling of parenthesized · in assignment targetMarshall Lochbaum
2021-11-28Fix codegen for assigned strand ending in ·Marshall Lochbaum
2021-11-28Allow · as placeholder in assignment and headersMarshall Lochbaum
2021-11-27Check for export statement used as predicate ⇐?Marshall Lochbaum
2021-11-24Fix 𝕨𝔽_𝕣˜⁼𝕩: left argument checkMarshall Lochbaum
2021-11-24More accurate error messageMarshall Lochbaum
2021-11-24Reject immediate block Undo headerMarshall Lochbaum
2021-11-24Reject ˜⁼ header without left argumentMarshall Lochbaum
2021-11-24Fix handling for some inverse header call casesMarshall Lochbaum
2021-11-23Fix metadata generation for inverse-only blockMarshall Lochbaum
2021-11-23Support 𝔽_𝕣_𝔾⁼: header correctlyMarshall Lochbaum
2021-11-21Allow multiple bodies in all blocks, even without argumentsMarshall Lochbaum
2021-11-21Implement ⋈⁼Marshall Lochbaum
2021-11-21Minor simplificationMarshall Lochbaum
2021-11-21Skip checking for double-inverse of +-÷⋆√¬ to avoid some ↵Marshall Lochbaum
precision-based failures
2021-11-13Error on special names in strands in headers instead of emitting bad bytecodeMarshall Lochbaum