-
Notifications
You must be signed in to change notification settings - Fork 0
Recent Changes
This page summarizes user-visible work merged into sw-mlpl during the 30-day window from 2026-08-04 through 2026-09-02. It is a curated guide, not a replacement for the repository's complete commit-derived change log or compiler coverage report.
- Comparison operators can now be written infix:
<,>,<=,>=,==, and!=. -
at(v, i)provides direct vector indexing, and a length-one array broadcasts like a scalar. - First-class references are namespace-qualified rather than limited to user functions. Partial application and
callsupport higher-order programs;each,table,atop, andoveradd array-oriented composition. - Static
include, annotations and@testreflection, guaranteed cleanup withbracket, explicitglobal_set, name removal, generalizedtranspose_axes, and blocked rank-3/rank-4 display broaden general-purpose use. - Ordering/selection, generation, bit operations, KV-cache state, structured record access, JSON/TOML/native codecs, and character-aware string operations were added or expanded.
See the Language Tour and the repository language reference for current forms and exact contracts.
The native sandbox now has filesystem walking, text and byte I/O, atomic writes, metadata, bounded reads, incremental sinks, packed-byte readers, decode limits, and length-prefixed scanning. read_stdin_chunk enables bounded incremental input.
The compile-to-Rust subset grew substantially: user functions, conditionals, loops and mutation, records and Result, ?, strings, binary I/O, bit operations, process I/O and exit status, comparisons, array bridges, common string operations, and several inspection/array builtins now lower to native code. A generated coverage gate prevents the implementation and its report from silently drifting. Compilation remains a subset; check the compiler guide before choosing it as a deployment target.
Native hosts can register namespaced extension providers, inspect their signatures, and invoke them through the interpreter. The C-compatible boundary now carries scalars, dense arrays, nested records, and opaque persistent handles, with panic/error containment.
Native builds can dynamically load packaged .dylib/.so providers with load_extension and MLPL_EXTENSION_PATH. Ports provide bounded share-nothing channels, handler dispatch, and a parked-main applet model for host-driven event loops. These facilities are native-only and are not exposed by the browser/WASM evaluator. The adjacent demo-extensions repository exercises the boundary end to end.
- The browser gained a clearer REPL/Editor split, narrated editor runs, build-provenance and skew indicators, improved demo discovery, and contextual next-step help.
- The demo collection reached 96 entries in this window, adding Data Forge, experiment-quality, classical-ML, book-coverage, combinator, KV-cache, rolling-retrain, compact-idiom, and dataflow examples.
-
dataflow(nodes, edges)renders structural SVG diagrams with grouping bands, quantitative edge widths, highlighting, recurrence back-edges, label-aware spacing, and caller-controlled layout spacing. - The bundled Emacs mode gained indentation, buffer/batch formatting, reflow, a menu, and a one-file setup example. User-defined MLPL functions and extracted web demos now carry docstrings.
The core repository's web footer now exposes the growing companion collection by subject. The adjacent repositories use real applications, curricula, and research experiments to exercise public MLPL surfaces and identify small, reusable upstream capabilities. See Companion Repositories for the current map, including emufpga.