CMNA Laboratory

This is R. Go nuts.

Write valid R, run it locally in your browser, and use selected CMNA functions without sending your code to a computation server.

Actual R, not R-shaped JavaScript

The browser is the R machine.

Local execution

webR runs R through WebAssembly in your browser. Your code is evaluated on your device; CMNA does not send it to a remote R server.

Preparing R…
R⌘/Ctrl + Enter to run

Console

stdout / stderr
R output will appear here.

Plots

captured from R graphics

No plot yet.

CMNA functions already loaded

The browser bundle now includes the CMNA functions used throughout the Laboratory, spanning root finding, interpolation, differentiation, integration, iterative linear algebra, optimization, and differential equations. The Workbench uses the same R definitions that support the guided experiments.

Your session persists

Define a function or object, run it, and it remains in the R global environment for the next command. The Reset button reloads the page and starts a fresh R session.

You can hurt your own tab

GitHub Pages cannot provide webR's cross-origin-isolated interrupt channel, so an infinite loop cannot be cleanly interrupted. Reloading the page terminates the session. This is a local browser problem, not a CMNA server problem.

Runtime: webR. Canonical CMNA package source:github.com/k3jph/cmna-pkg.