# BPL on the web


<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->

With the npm package `basedpl`, you can run BPL in a web page. It
contains BPL’s interpreter, compiled to WebAssembly. We built the
[playground](playground.qmd) and the [gallery](gallery.qmd) with it.

You don’t need the package to draw with JavaScript, animate a picture or
animate SVG. All three work in notebooks and Solveit too. The examples
in the first three sections are ordinary notebook cells. After those,
you’ll see how to run BPL in a page of your own, and how we built the
gallery.

## Drawing with JavaScript

[`•element`](system/element.qmd) makes an element function for any XML
name. When BPL displays a `script` or `style` element as HTML, it leaves
the element’s text unescaped. Make functions for both, and for a
paragraph:

``` bpl
[script style p]←•element "script" "style" "p"
```

The browser runs the JavaScript in a `script` element as soon as the
element appears on the page. Use one to define `sq`, a global function
that draws a red square `d` pixels wide:

``` bpl
script "function sq(ctx, d) { ctx.fillStyle = 'red'; ctx.fillRect(0, 0, d, d); }"
```

<script>function sq(ctx, d) { ctx.fillStyle = 'red'; ctx.fillRect(0, 0, d, d); }</script>

The browser applies the CSS in a `style` element to the whole page. Add
a rule that colours anything with the class `green` green:

``` bpl
style ".green { color: green; }"
```

<style>.green { color: green; }</style>

Then give an element that class:

``` bpl
["class":"green"] p "This paragraph is green."
```

<p class="green">This paragraph is green.</p>

[`•canvas`](system/canvas.qmd) makes a BPL drawing function from
JavaScript source. Because it evaluates the source in the page’s global
scope, you can pass it the name of a global function, such as `sq`. When
the drawing appears, the browser calls your function with the canvas’s
2D context and the data from BPL. `sq` takes the data, `50`, as the
square’s width:

``` bpl
(•canvas "sq") 50
```

<canvas></canvas><script>(// Draws a `•canvas` output on `canvas`. `json` holds the drawing function's JavaScript source, its options and its data. Each typed
// array in the data is `{$typed, offset, length}`, a view of `bytes`. The native build runs this script from the output's HTML. A page
// that shows the browser build's outputs calls it with the output's two entries.
(canvas, json, bytes) => {
    const view = (_, v) => v?.$typed ? new globalThis[v.$typed](bytes.buffer, bytes.byteOffset + v.offset, v.length) : v;
    const { source, options, data } = JSON.parse(json, view);
    (0, eval)(source)(canvas.getContext('2d'), data, options);
}
)(document.currentScript.previousElementSibling, "{\"source\":\"sq\",\"options\":{},\"data\":50.0}", Uint8Array.from(atob(''), c => c.charCodeAt(0)))</script>

Define a second global function, `line`, to draw a line through the rows
of an `n×2` matrix of points. You’ll draw the rest of this page’s
pictures with it, through `draw`:

``` bpl
script "function line(ctx, p) {
  ctx.beginPath();
  for (let i = 0; i < p.data.length; i += 2)
    ctx.lineTo(p.data[i], p.data[i + 1]);
  ctx.stroke();
}"
draw←•canvas "line"
```

<script>function line(ctx, p) {
  ctx.beginPath();
  for (let i = 0; i < p.data.length; i += 2)
    ctx.lineTo(p.data[i], p.data[i + 1]);
  ctx.stroke();
}</script>

A Lissajous curve is one sine wave plotted against another of a
different frequency. Here `x` is the sine of `3t`, and `y` the sine of
`2t`. Transposing `[x⋄y]` gives one row per point. Scaling by 140 and
65, and adding 150 and 75, fits the curve to the browser’s default
canvas of 300 by 150 pixels:

``` bpl
t←π 2×⍳401 ÷ 400
x←150+140×1○3×t
y←75+65×1○2×t
draw ⍉[x⋄y]
```

<canvas></canvas><script>(// Draws a `•canvas` output on `canvas`. `json` holds the drawing function's JavaScript source, its options and its data. Each typed
// array in the data is `{$typed, offset, length}`, a view of `bytes`. The native build runs this script from the output's HTML. A page
// that shows the browser build's outputs calls it with the output's two entries.
(canvas, json, bytes) => {
    const view = (_, v) => v?.$typed ? new globalThis[v.$typed](bytes.buffer, bytes.byteOffset + v.offset, v.length) : v;
    const { source, options, data } = JSON.parse(json, view);
    (0, eval)(source)(canvas.getContext('2d'), data, options);
}
)(document.currentScript.previousElementSibling, "{\"source\":\"line\",\"options\":{},\"data\":{\"shape\":[401.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":0,\"length\":802}}}", Uint8Array.from(atob('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'), c => c.charCodeAt(0)))</script>

With complex numbers, you can write a spiral in one line. `○a` is the
unit complex number at angle `a`. Multiplying it by `t` makes the radius
grow along the curve. `∨` splits each point into the real and imaginary
parts that `line` reads as `x` and `y`:

``` bpl
t←⍳600 ÷ 600
a←π 12×t
draw ∨150ⱼ75+70×t×○a
```

<canvas></canvas><script>(// Draws a `•canvas` output on `canvas`. `json` holds the drawing function's JavaScript source, its options and its data. Each typed
// array in the data is `{$typed, offset, length}`, a view of `bytes`. The native build runs this script from the output's HTML. A page
// that shows the browser build's outputs calls it with the output's two entries.
(canvas, json, bytes) => {
    const view = (_, v) => v?.$typed ? new globalThis[v.$typed](bytes.buffer, bytes.byteOffset + v.offset, v.length) : v;
    const { source, options, data } = JSON.parse(json, view);
    (0, eval)(source)(canvas.getContext('2d'), data, options);
}
)(document.currentScript.previousElementSibling, "{\"source\":\"line\",\"options\":{},\"data\":{\"shape\":[600.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":0,\"length\":1200}}}", Uint8Array.from(atob('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'), c => c.charCodeAt(0)))</script>

## Animating a canvas

You can keep drawing on a canvas for as long as the page is open, if
your JavaScript schedules its own next frame. Both loops below stop when
their canvas leaves the page, such as when you rerun the cell.

In the first animation, you compute every frame in BPL. `spin` clears
the canvas and draws frame `k` with `line`, then schedules frame `k+1`
for `1/fps` seconds later. After the last frame, it starts again at the
first:

``` bpl
spin←•canvas "(ctx, frames, o) => {
  let k = 0;
  const tick = () => {
    ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);
    line(ctx, frames.data[k]);
    k = (k + 1) % frames.data.length;
    if (ctx.canvas.isConnected) setTimeout(tick, 1000 / o.fps);
  };
  tick();
}"
```

`frame ⍵` gives the Lissajous curve with the phase of `x` shifted by
`⍵`. Thirty frames, 12° apart, make one full turn. The last frame then
leads straight back into the first:

``` bpl
t←π 2×⍳101 ÷ 100
y←75+65×1○2×t
frame←{⍉[150+140×1○⍵+3×t⋄y]}
["fps":15] spin frame¨π 2×⍳30 ÷ 30
```

<canvas></canvas><script>(// Draws a `•canvas` output on `canvas`. `json` holds the drawing function's JavaScript source, its options and its data. Each typed
// array in the data is `{$typed, offset, length}`, a view of `bytes`. The native build runs this script from the output's HTML. A page
// that shows the browser build's outputs calls it with the output's two entries.
(canvas, json, bytes) => {
    const view = (_, v) => v?.$typed ? new globalThis[v.$typed](bytes.buffer, bytes.byteOffset + v.offset, v.length) : v;
    const { source, options, data } = JSON.parse(json, view);
    (0, eval)(source)(canvas.getContext('2d'), data, options);
}
)(document.currentScript.previousElementSibling, "{\"source\":\"(ctx, frames, o) => {\\n  let k = 0;\\n  const tick = () => {\\n    ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);\\n    line(ctx, frames.data[k]);\\n    k = (k + 1) % frames.data.length;\\n    if (ctx.canvas.isConnected) setTimeout(tick, 1000 / o.fps);\\n  };\\n  tick();\\n}\",\"options\":{\"fps\":15.0},\"data\":{\"shape\":[30.0],\"data\":[{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":0,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":1616,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":3232,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":4848,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":6464,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":8080,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":9696,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":11312,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":12928,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":14544,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":16160,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":17776,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":19392,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":21008,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":22624,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":24240,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":25856,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":27472,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":29088,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":30704,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":32320,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":33936,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":35552,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":37168,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":38784,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":40400,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":42016,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":43632,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":45248,\"length\":202}},{\"shape\":[101.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":46864,\"length\":202}}]}}", Uint8Array.from(atob('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'), c => c.charCodeAt(0)))</script>

In the second animation, the JavaScript makes the frames. You compute a
single path in BPL. On each tick, `build` draws `step` more of its
points. Once the path is complete, `build` holds the picture for a
moment, then starts again from the first point:

``` bpl
build←•canvas "(ctx, p, o) => {
  let m = 0;
  const tick = () => {
    m = m > 1.5 * p.shape[0] ? 0 : m + o.step;
    ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);
    line(ctx, {data: p.data.subarray(0, 2 * m)});
    if (ctx.canvas.isConnected) requestAnimationFrame(tick);
  };
  tick();
}"
```

With a spirograph, you draw the path of a pen held in a wheel that rolls
inside a ring. As a complex number, the pen’s position is the sum of two
circular motions. Here the wheel’s centre circles at radius 4. The pen
circles that centre at radius 5, in the opposite direction. The path
closes after the centre has gone round 7 times:

``` bpl
t←π 14×⍳2001 ÷ 2000
z←4×○t + 5×○-4×t÷7
["step":10] build ∨150ⱼ75+7.5×z
```

<canvas></canvas><script>(// Draws a `•canvas` output on `canvas`. `json` holds the drawing function's JavaScript source, its options and its data. Each typed
// array in the data is `{$typed, offset, length}`, a view of `bytes`. The native build runs this script from the output's HTML. A page
// that shows the browser build's outputs calls it with the output's two entries.
(canvas, json, bytes) => {
    const view = (_, v) => v?.$typed ? new globalThis[v.$typed](bytes.buffer, bytes.byteOffset + v.offset, v.length) : v;
    const { source, options, data } = JSON.parse(json, view);
    (0, eval)(source)(canvas.getContext('2d'), data, options);
}
)(document.currentScript.previousElementSibling, "{\"source\":\"(ctx, p, o) => {\\n  let m = 0;\\n  const tick = () => {\\n    m = m > 1.5 * p.shape[0] ? 0 : m + o.step;\\n    ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);\\n    line(ctx, {data: p.data.subarray(0, 2 * m)});\\n    if (ctx.canvas.isConnected) requestAnimationFrame(tick);\\n  };\\n  tick();\\n}\",\"options\":{\"step\":10.0},\"data\":{\"shape\":[2001.0,2.0],\"data\":{\"$typed\":\"Float64Array\",\"offset\":0,\"length\":4002}}}", Uint8Array.from(atob('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'), c => c.charCodeAt(0)))</script>

BPL stores a drawing’s source and all of its data in the output, every
frame of an animation included. A few thousand points are fine in a
notebook. For more than that, [run BPL in the
page](#running-bpl-in-a-page), where your JavaScript reads BPL’s arrays
straight from memory.

## Animated pictures

[`•image`](system/image.qmd) displays numbers from 0 to 1 as a picture.
Given `fps`, it treats the first axis as time and writes the frames as
an animated PNG. Use `delay` instead to give each frame its own time on
screen. Here `r` holds each pixel’s distance from the centre.
`phase-⊗r÷3` makes one 64×64 frame of rings for each of the 24 phases:

``` bpl
x←31.5⍈¯31.5
r←√x²+⊗x²
phase←π 2×⍳24 ÷ 24
["fps":12] •image 0.5+0.5×2○phase-⊗r÷3
```

![](web_files/figure-commonmark/cell-14-output-1.png)

## Animated SVG

You can animate SVG without any script. Put an `animate` element inside
a shape to change one of the shape’s attributes over time. Here the
browser grows and shrinks the circle’s radius, `r`. Make both elements
with `•element`:

``` bpl
[circle animate]←•element "circle" "animate"
pulse←["attributeName":"r";"values":"10;40;10";"dur":"2s";"repeatCount":"indefinite"] animate ""
["width":100;"height":100] •svg ["cx":50;"cy":50;"r":10;"fill":"orange"] circle pulse
```

![](web_files/figure-commonmark/cell-15-output-1.svg)

## Running BPL in a page

Load the package straight from jsDelivr. With the unversioned URL,
`https://cdn.jsdelivr.net/npm/basedpl/basedpl_wasm.js`, you get the
latest release. Add a version, as in `basedpl@<version>`, to pin one
release. Or install the package locally with `npm install basedpl`.

``` js
import init, { Session, configure } from 'https://cdn.jsdelivr.net/npm/basedpl/basedpl_wasm.js';

// Fetch the module, which sits beside the glue in the package.
await init();
// Relative file reads resolve against the first argument. The second receives a panic's
// message. After a panic, the module can't run any more code.
configure(location.href, message => console.error(message));
// A session keeps its names from one run to the next.
const session = new Session();
// Each output arrives as it's produced, as {kind, data}. kind is "display" for a displayed
// value, "explicit" for a value assigned to ⎕, or "text" for text written with "-" •nput.
const show = output => console.log(output.data['text/plain']);
// run returns null, or an error object with kind, message and display. display holds the
// error as BPL shows it.
const error = session.run('avg←+/÷≢ ⋄ avg 2 4 9', show);   // logs 5, and error is null
```

`data` maps each MIME type to text, or to a `Uint8Array` for a binary
type. See [`•mime`](system/mime.qmd) for the types BPL produces,
including the pixel and canvas outputs of the browser build.

`run` blocks until the code finishes. Run long computations in a Web
Worker to keep the page responsive. We run BPL in a worker in both the
playground and the gallery. Run quick code on the main thread instead,
where the JavaScript functions that BPL calls can reach the DOM.

## Values and JavaScript functions

`session.eval(code)` returns the value of `code` to JavaScript. It
returns `undefined` when the code gives no value. If the code fails, it
throws the BPL error object.

`session.bind(names)` goes the other way. It turns each property of the
object `names` into a BPL name. A JavaScript function becomes a BPL
function. Call it as `f Y` to pass `Y`, or as `X f Y` to pass `X` then
`Y`.

BPL converts values as the table on the [`•js`](system/js.qmd) page
shows:

- Numbers and strings stay as they are.
- A record becomes an object.
- Any other array becomes `{shape, data}`, where `data` is a typed array
  if every item is a number.

``` js
session.bind({ scale: 2, log: x => console.log(x) });
session.eval('scale×1 2 3');   // {shape: [3], data: Float64Array [2, 4, 6]}
session.run('log "hi"', () => {});   // logs "hi"
```

Inside BPL, `•js` makes a BPL function from JavaScript source. Only the
browser build has it. Try these lines in the
[playground](playground.qmd), where they give `5`:

``` bpl
h←•js "Math.hypot"
3 h 4
```

Calls into JavaScript have two limits:

- Calls are synchronous. BPL can’t wait for a promise to settle.
- A Web Worker has no DOM. To change the page from a worker, bind a
  function that posts a message, and act on the message in the page. The
  bound function can’t return a result to BPL.

## How the gallery works

The [gallery](gallery.qmd) runs demos written in BPL and draws their
frames with JavaScript. We built it from four files:

1.  [`worker.js`](https://github.com/AnswerDotAI/basedpl/blob/main/nbs/playground/worker.js)
    runs BPL in a Web Worker. It answers `{eval: code}` with the code’s
    value, moving its typed arrays to the page without copying them.
2.  [`bpl.js`](https://github.com/AnswerDotAI/basedpl/blob/main/nbs/playground/bpl.js)
    starts the worker and gives the page `run` and `eval`. It also makes
    the editor, adds the language bar and shows outputs. We use it in
    the playground too.
3.  [`gallery.js`](https://github.com/AnswerDotAI/basedpl/blob/main/nbs/playground/gallery.js)
    runs the chosen demo. If the demo defines `frame`, `gallery.js`
    evaluates the next `frame i` on each animation tick and passes the
    result to the driver. It takes the frame rate from an `fps` option
    in the demo’s `options` record and gives the driver the rest of that
    record.
4.  [`driver.js`](https://github.com/AnswerDotAI/basedpl/blob/main/nbs/driver.js)
    draws one frame: a record holding an `image` and `triangles`,
    `lines` and `points` matrices, with one shape per row. See its
    header comment for the columns and options.

Any BPL file can be a demo. To animate one, define `frame`, and
optionally `options`. In
[`orbits.bpl`](https://github.com/AnswerDotAI/basedpl/blob/main/nbs/gallery/orbits.bpl),
`frame` gives each dot’s position and colour at frame `⍵`.

In your own page, you need only three steps: run the BPL, evaluate a
frame on each animation tick, and draw it. Here is a minimal version,
with BPL on the page’s main thread and the same line-drawing code as
`line`:

``` js
import init, { Session, configure } from 'https://cdn.jsdelivr.net/npm/basedpl/basedpl_wasm.js';

await init();
configure(location.href, message => console.error(message));
const session = new Session();
session.run('t←⍳600 ÷ 600 ⋄ frame←{a←π 12×t ⋄ ∨150ⱼ75+70×t×○a+⍵÷10}', () => {});
const ctx = document.querySelector('canvas').getContext('2d');
for (let i = 0; ; i++) {
  const p = session.eval(`frame ${i}`);
  ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);
  ctx.beginPath();
  for (let j = 0; j < p.data.length; j += 2) ctx.lineTo(p.data[j], p.data[j + 1]);
  ctx.stroke();
  await new Promise(requestAnimationFrame);
}
```

Each frame shows the spiral turned a little further. For the gallery, we
added a worker, a frame rate and error handling.

## Language bar and highlighting

`lb.js` adds a bar of BPL’s glyphs to a page. Click a glyph to type it
into the editor you used last. In a textarea marked with `data-bpl`, or
a Monaco editor whose language is `bpl`, you can also type a backtick
followed by a glyph’s name, as in the BPL REPL. `lb.js` and `input.js`
are scripts whose value is a function. Give the bar the glyph rows from
`symbols()` and the key layout from `layout.json`:

``` js
import init, { symbols } from 'https://cdn.jsdelivr.net/npm/basedpl/basedpl_wasm.js';

const text = name => fetch(`https://cdn.jsdelivr.net/npm/basedpl/${name}`).then(r => r.text());
const [lb, input, layout] = await Promise.all(['lb.js', 'input.js', 'layout.json'].map(text));
await init();
(0, eval)(lb)(JSON.parse(symbols()), (0, eval)(input), JSON.parse(layout));
```

`bpl.tmLanguage.json` is a TextMate grammar for BPL, with the scope name
`source.bpl`. Use it to highlight BPL code with Shiki, or in any editor
that reads TextMate grammars.

## Differences from native BPL

- `•js` exists only in the browser build.
- `•readdir`, `•metadata`, `•copy`, `•rename`, `•remove`, `•mkdir`,
  `•path` and `•delay` don’t exist. `•nput` writes only to `"-"`.
- File reads and `•fetch` are synchronous `XMLHttpRequest`s, relative to
  the URL you pass to `configure`.
- `•r` uses JavaScript’s `RegExp`, with its syntax and replacement
  templates.
- `•date⁻¹` has no `locale` option.
- Function calls nest at most 380 deep. A deeper call is a `LIMIT`
  error.
