Playground
The real compiler and VM — the same C11 sources that build flarisvm,
built to WebAssembly. Nothing is uploaded: your code compiles and runs on your own machine.
Ctrl+Enter runs; Stop interrupts a runaway loop. No processes,
sockets, FFI or TLS in the browser sandbox, and no external .flx —
library(…) resolves only against the set shipped here.
33 libraries bundled (import lines ↓): Argparse Audio BigInt BinaryIO BitConverter CSV Cache Complex Config ConsoleMenu Datetime Decimal Deflate Graph Graphics HttpUtil Jwt Lexer Linq Logger Numerics Png Promise Protobuf QRCode Signals StringBuilder Template Test Treemap Util XML Zip
Preloaded
33 libraries ship inside the module and import with no network at all. A browser has no socket to fetch a .flx over - and the module resolver is synchronous besides - so an external library cannot be downloaded here; these are the ones available. The rest of the collection needs sockets, a process or an FFI object - see all libraries.
import { ArgumentParser } from library("Argparse", "1.0");
Command-line argument parser for Flaris (Python argparse style)
import { Audio } from library("Audio", "1.0");
Audio processing library for Flaris. Extends Signals
import { BigInt } from library("BigInt", "1.0");
Arbitrary-precision integers
import { BinaryWriter, BinaryReader, BinaryStreamWriter, BinaryStreamReader, BinaryFileWriter, BinaryFileReader } from library("BinaryIO", "1.0");
Binary serialization and deserialization
import { BitConverter } from library("BitConverter", "1.0");
Binary ↔ numeric type conversions
import { CSV } from library("CSV", "1.0");
CSV parser and serializer
import { Cache } from library("Cache", "1.0");
import { Complex } from library("Complex", "1.0");
Complex number arithmetic
import { Config } from library("Config", "1.0");
TOML and YAML configuration file parser
import { ConsoleMenu } from library("ConsoleMenu", "1.0");
Interactive console UI widgets
import { DateTime, Duration, TimeSpan } from library("Datetime", "1.0");
DateTime and Duration library
import { Decimal } from library("Decimal", "1.0");
Arbitrary-precision decimal numbers
import { Inflate, Deflate } from library("Deflate", "1.0");
DEFLATE (RFC 1951) compression and decompression in Flaris
import { Graph } from library("Graph", "1.0");
Directed/undirected weighted graph
import { Graphics } from library("Graphics", "1.0");
2D drawing
import { HttpUtil } from library("HttpUtil", "1.0");
HTTP wire parsing: URLs, query strings, headers, chunked
import { Jwt } from library("Jwt", "1.0");
JSON Web Token (JWT / JWS) library
import { Lexer } from library("Lexer", "1.0");
General-purpose configurable lexer
import { Linq } from library("Linq", "1.0");
Chainable array query library
import { Logger } from library("Logger", "1.0");
Structured logger
import { Numerics, Stats, LinAlg, Matrix, Vec, Chart } from library("Numerics", "1.0");
Numerical methods for Flaris (root finding, calculus,
import { Png } from library("Png", "1.0");
PNG encoder / decoder
import { Promise } from library("Promise", "1.0");
Async composition with promises
import { Pb, PbWriter, PbReader, ProtoParser } from library("Protobuf", "1.0");
Protocol Buffers (proto3) for Flaris: wire codec + .proto reader
import { QRCode } from library("QRCode", "1.0");
Pure-Flaris QR code generator. No native dependencies
import { Signals } from library("Signals", "1.0");
Digital signal processing library
import { StringBuilder } from library("StringBuilder", "1.0");
Efficient mutable string builder
import { Template } from library("Template", "1.0");
Mustache-style string template engine
import { Test } from library("Test", "1.0");
Unit test framework
import { TreeMap } from library("Treemap", "1.0");
Sorted key-value map
import { Util } from library("Util", "1.0");
encoding, identifiers, comparison and coalescing helpers
import { XML } from library("XML", "1.0");
XML parser and builder
import { Archive, ZipReader, ZipWriter } from library("Zip", "1.0");
ZIP archive reading and writing