Equana

Equana Language
WebAssembly Powered

Everything You Need. In Your Browser.

From Equana syntax to WebAssembly performance, interactive visualization to complete privacy — a full numerical computing platform that runs entirely client-side.

0+
Functions
0
Packages
100%
Private

Equana: Scientific Computing for the Web

Designed for modern computing. No OOP — just clean functional style with multiple dispatch.

Equana Syntax

Write with vectors, matrices, and element-wise operations. No installation required.

x = linspace(0, 2*pi, 100);
y = sin(x) .* exp(-x/5);

Type System & Multiple Dispatch

Typed functional dispatch. Define typed functions — the runtime picks the best match.

function a = area(r: Circle)
 a =  pi * r.radius^2
end

function a = area(s: Square)
 a =  s.side^2
end

Operator Overloading

Define custom operators for your types. Addition, multiplication, comparison — all overloadable.

function +(a: Vec2, b: Vec2)
  Vec2(a.x+b.x, a.y+b.y)
end

Dual Indexing

1-based indexing with (), 0-based with []. Your choice.

A(1)   % first element
A[0]   % also first element

Just Strings

No messy char arrays. Real strings that work the way you expect, with built-in interpolation.

name = "Alice";
greeting = "Hello, ${name}!";

Just Arrays

No array/cell array/table confusion. One array type that handles everything cleanly.

data = [1, 2, 3];
mixed = ["a", 1, true];

Structs & Objects

Define typed structs with validated fields, or use lightweight object literals for quick structured data.

struct Point
  x: Number
  y: Number
end
p = Point(3, 4);

String Interpolation

Easy and common string injection with template syntax built right into the language.

x = 42;
disp("The answer is ${x}");

0+ Functions. 1 Packages.

A comprehensive function library powered by WebAssembly, from core math to symbolic computation.

Linear Algebra

14 functions

Matrix operations, decompositions, and solvers (BLAS/LAPACK).

choleskydetdoteiggemm+9 more

Professional-Grade Editor & Debugger

A full-featured code editor with debugging, breakpoints, and a live workbench that tracks every variable.

Syntax Highlighting
CodeMirror 6 with Equana grammar
Intelligent Autocomplete
Context-aware function and variable suggestions
Real-time Linting
Catch errors as you type with inline diagnostics
Parameter Hints
Function signatures and argument documentation
Debugger with Breakpoints
Set breakpoints and pause execution
Step-through Execution
Step in, step over, and step out controls
Live Workbench
Always-visible variable inspector tracking all variables in real-time
analysis.m
Paused
1
A = rand(100, 100);
2
b = rand(100, 1);
3
 
4
% Solve the linear system
x = A \ b;
6
residual = norm(A*x - b);
7
disp("Residual: ${residual}");
Workbench
A=[100x100 double]
b=[100x1 double]
x=[100x1 double]just updated

WebAssembly Performance

Matching native SSE performance entirely in the browser with SIMD vectorization and multi-threaded execution.

*with Ryzen 9950X

0
GFLOPS
0
Parallel Threads
128
bit SIMD

100% Private.

By Design.

All code executes locally in your browser
No data ever leaves your device
No server-side processing or telemetry
Your code and data stay on your machine, except if you use our optional cloud storage

Rich Visualization

From 2D line plots to 3D volumetric rendering — interactive visualization built right into the notebook.

2D/3D Charts

Powered by Plotly.js
  • Line plots & scatter plots
  • Histograms & bar charts
  • 3D surface & mesh plots
  • Contour plots & heatmaps
  • Interactive zoom & pan

VTK.js 3D Rendering

Scientific 3D Visualization
  • Volumetric data rendering
  • Finite element meshes
  • Point clouds & geometry
  • Custom color maps
  • Real-time manipulation

Interactive Notebook Environment

A familiar notebook experience designed for numerical computing, right in your browser.

Interactive Cells

Run code cell-by-cell with instant output. Iterate rapidly on your computations.

Markdown + KaTeX

Rich text cells with GitHub-flavored markdown and LaTeX math rendering for documentation.

Variable Persistence

Variables persist across cells for iterative workflows. Build up complex computations step by step.

Start Exploring

Open the notebook and start computing — no installation, no setup, completely free.