mpl/CHANGELOG.md
developtheweb 468a8045c7 Sync all reference docs with the grammar
- precedence.csv regenerated to the actual 14-level chain (postfix and
  prefix levels, guarded alternatives, definition vs assignment)
- glyph-escapes.md regenerated from the lexer: 73 glyphs, exactly one
  ASCII escape each, verified code points; M1-deferred symbols listed
  separately; add \middot so every glyph has an escape
- math_prog_lang.md: M0/M1 symbol split, canonical handler arrow, one-role
  semicolon, real precedence table and brace-disambiguation rules; the ten
  example programs are now embedded verbatim and CI-parsed
- Whitepaper (md + tex + appendices): every mpl code block parses or is
  re-fenced as an explicitly-labelled M1+ design sketch; symbol tables
  replaced by a pointer to glyph-escapes.md; unbuilt tooling and unmeasured
  claims reworded as planned/envisioned
- docs/ARCHITECTURE.md: status preamble, real grammar excerpt, planned
  sections labelled as such
- DocumentationTest now also covers math_prog_lang.md and the whitepaper
- CHANGELOG and DECISIONS.md updated
2026-07-09 03:19:43 -04:00

3.4 KiB
Raw Permalink Blame History

Changelog

All notable changes to the Mathematical Programming Language (MPL) project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

Added

  • Gradle wrapper, so ./gradlew build works from a fresh clone
  • CI workflow: grammar build (ANTLR warnings are errors), tests, example parsing
  • Documentation test: every ```mpl code block in README, spec and whitepaper must parse
  • Canonical call syntax f(a, b) with nullary calls f()
  • Wired-in operators: definition, / postfix resources, ⇀_ch/↽_ch channels, module access, unary minus, / as ASCII alias of ÷
  • DECISIONS.md recording each design resolution with rejected alternatives

Changed

  • One canonical form per construct: guarded alternatives (c ⟹ r) | fallback, output, ↯pattern ⟹ expr handler clauses, exactly one ASCII escape per glyph
  • ; has a single role (sequence separator, trailing permitted)
  • Identifiers may no longer start with _, so subscripts lex correctly
  • precedence.csv and glyph-escapes.md regenerated to match the grammar exactly
  • README claims reduced to what CI verifies
  • Comprehensive enterprise-level documentation structure
  • AGPLv3 license for strong copyleft protection (changed from MIT)
  • README transformed into moonshot vision document emphasizing cognitive justice
  • Whitepaper updated to v2.0 with educational narrative focus

Fixed

  • Grammar compiles: removed mutual left recursion (errors 119/148) and shadowed tokens (warning 184)
  • Generated parser package no longer declared twice
  • Gradle finds the grammar (src/main/antlr4) and the ParseExamples main class
  • Test harness uses CharStreams; supplementary-plane glyphs (𝔹, 𝓜, 🖫) now tokenize
  • Examples 03 and 05 parse (canonical handler arrow; real placeholder body)

Removed

  • Dead tokens with no parser rule: ? (QUERY), , , , .
  • Juxtaposition function application (f x)
  • C-style ternary and 📤 from all documentation

2.0.0 - 2025-01-26

Added

  • Complete ANTLR 4 grammar with 70+ mathematical operators
  • Support for functional, imperative, concurrent, and object-oriented paradigms
  • ASCII escape sequences for all Unicode symbols
  • Comprehensive test suite with 663 lines of test code
  • 10 example programs demonstrating real-world usage
  • Academic whitepaper with technical specification
  • Symbol reference guide (glyph-escapes.md)
  • Operator precedence table

Changed

  • Moved from theoretical concept to working parser implementation
  • Established Fatima Test as core design principle

Fixed

  • All M0 blocker issues resolved
  • Zero shift/reduce conflicts in grammar
  • Operator precedence validated through extensive testing

1.0.0 - 2024-12-15

Added

  • Initial concept and vision for Mathematical Programming Language
  • Basic symbol set proposal
  • Preliminary grammar sketch
  • Mission statement for cognitive universality

Version History Summary

  • 2.0.0 - First working implementation with complete grammar
  • 1.0.0 - Initial concept and vision