Skip to content

developtheweb/mpl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

30 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Mathematical Programming Language (MPL) ๐ŸŒ

Breaking the last language barrier in technology

Status Parser Execution License

โˆ€ child โˆˆ world : canCode(child)

๐ŸŽ“ For Educators | ๐Ÿ’ป For Developers | ๐ŸŒ For Humanity


๐Ÿšจ Project Status: Proof of Concept

The M0 core runs โ€” with ratified semantics. This repository contains the grammar, the parser, and the browser interpreter (js/mpl.js) that runs the M0 core today at mpl.codes. Its semantics are not folklore: every judgment call is recorded and ruled in conformance/JUDGMENT_CALLS.md, pinned by 89 ratified conformance tests that gate CI, and a differential fuzzer holds the interpreter and the grammar to zero divergence. A native runtime beyond the browser core does not exist yet โ€” building it is the next milestone, and contributors are welcome.

What Works Today โœ…

Every item below is enforced by CI on every push:

  • An ANTLR 4 grammar built from mathematical symbols that compiles with zero errors and zero warnings (warnings are treated as errors)
  • All 10 example programs parse (./gradlew parseExamples)
  • A test suite covering the lexer, the parser, the examples, and every ```mpl code block in this README (./gradlew test)
  • An ASCII escape sequence for every Unicode symbol (glyph-escapes.md)
  • The M0 core executes with ratified semantics: 89 ratified conformance tests (node conformance/harness/run.mjs --ratified), exact rational arithmetic, and a recorded ruling for every semantic question (conformance/JUDGMENT_CALLS.md)

What Doesn't Work Yet ๐Ÿšง

  • No native runtime - The M0 core runs in the browser interpreter (js/mpl.js); everything beyond it parses but does not run yet
  • No type checking - Types are recognized but not validated
  • No standard library - No built-in functions
  • No tooling - Basic parser only

Vision: Programming Without Language Barriers

In a world where 80% of humanity doesn't speak English, why should programmingโ€”the literacy of the 21st centuryโ€”require it? MPL demonstrates that we can build programming languages using mathematical symbols that children already understand, making computational thinking accessible to billions previously excluded by language barriers.

This is cognitive justice in action.


๐ŸŽฏ The Fatima test

"Why do I need to know English to write a program?" โ€” Fatima, 10 years old, Cairo

Every design decision in MPL must pass one simple test: Can a 10-year-old non-English speaker understand this?

Traditional programming

# English required:
for n in [1, 2, 3, 4, 5]:
    print(n * n)

MPL - Universal understanding

-- Mathematical symbols only:
โˆ€ n โˆˆ [1, 2, 3, 4, 5] : โœŽ(n ร— n)

If Fatima can't understand it with her basic math knowledge, we redesign it. No exceptions.


๐Ÿš€ Quick start journey

Choose your path

๐ŸŽ“ Educator? ๐Ÿ’ป Developer? ๐ŸŒ Changemaker?
See the Vision Technical Details Why This Matters
Imagine teaching without English Help build the runtime Support cognitive justice

Hello, world in 30 seconds

Traditional (English Required) MPL (Universal)
print("Hello, World!")
โœŽ"Hello, World!"
English words: print Universal symbol: โœŽ (output/trace)

Note: This syntax is valid and parses. The M0 core runs in the browser interpreter at mpl.codes; features beyond the M0 core parse but do not run yet.


๐Ÿ”ฎ How it works

For everyone

Write code using mathematical symbols instead of English words. It's that simple.

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚          Mathematical Notation              โ”‚
โ”‚    ฮปn: (n โ‰ค 1 โŸน 1) | (n ร— fact(n-1))       โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                 โ”‚
                 โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚           Unicode Input                     โ”‚
โ”‚    (Visual palette, voice, keyboard)        โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                 โ”‚
                 โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚          ANTLR 4 Parser                     โ”‚
โ”‚         Lexer โ†’ Parser โ†’ AST                โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Five ways to write ฮป (lambda)

Today the parser accepts two spellings of every symbol: the Unicode glyph (ฮป) and its ASCII escape (\lambda). The rest are the input methods we envision tooling for:

  1. โŒจ๏ธ Type โ€” \lambda (works today, in any editor)
  2. ๐Ÿ‘† Click โ€” Visual symbol palette (envisioned)
  3. ๐ŸŽค Speak โ€” "Lambda" in ANY language (envisioned)
  4. โœ๏ธ Draw โ€” Handwriting recognition on tablets (envisioned)
  5. โšก Shortcut โ€” Platform shortcuts (envisioned)
๐Ÿ”ง Technical details (click to expand)

Unicode implementation

  • Full Unicode support, including supplementary-plane symbols (๐“œ, ๐”น, ๐Ÿ–ซ)
  • Every glyph has exactly one ASCII escape (glyph-escapes.md)

Parser architecture

Input Methods โ†’ Unicode Stream โ†’ ANTLR 4 Lexer โ†’ Parse Tree

Type checking, optimization and code generation are planned, not built.

Grammar specification


โœจ Core features

๐ŸŒ Cognitive universality

Mathematical symbols as humanity's common language

  • No translation needed โ€” Math is already universal
  • Cultural neutrality โ€” No linguistic imperialism
  • Instant comprehension โ€” Symbols map to concepts directly

๐ŸŽจ Multi-modal input (envisioned)

Meet learners where they are

Only ASCII escapes exist today; the rest is the tooling we want to build:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚   Visual    โ”‚    Voice    โ”‚  Keyboard   โ”‚ Handwriting โ”‚
โ”‚   Palette   โ”‚    Input    โ”‚   Escapes   โ”‚ Recognition โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  Click ฮป    โ”‚ Say "lambda"โ”‚ Type \lambdaโ”‚  Draw ฮป     โ”‚
โ”‚  from menu  โ”‚ in any lang โ”‚ (works now) โ”‚  on screen  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
  • ASCII escapes โ€” \lambda, \forall, โ€ฆ work in any editor today
  • Visual palette โ€” Click symbols like emoji (envisioned)
  • Voice input โ€” Speak in your native language (envisioned)
  • Handwriting โ€” Natural for mathematical notation (envisioned)

๐Ÿ“ˆ Progressive complexity

From arithmetic to algorithms

-- Level 1: Basic math (everyone knows this!)
x โ‰œ 5 + 3;
y โ‰œ x ร— 2;

-- Level 2: Logic (learned in school)
x > 10 โˆง y < 20 โŸน โœŽ"Success!";

-- Level 3: Advanced (natural progression)
squares โ‰œ 0;
โˆ€ n โˆˆ [1, 2, 3, 4, 5] : squares โ† squares + n ร— n;

๐Ÿ“Š Educational Vision

The Problem We're Solving

Consider a hypothetical student, "Maria" from Sรฃo Paulo:

  • She loves math and logic puzzles
  • She wants to learn programming
  • But she must first memorize English keywords like for, while, if, else
  • The Portuguese word "for" means "went" - adding confusion
  • She spends more time translating than learning computational thinking

What MPL Could Enable (Vision, Not Reality)

With MPL fully implemented, we envision students could:

  • Write their first program in minutes using familiar mathematical symbols
  • Focus on logic and problem-solving, not foreign vocabulary
  • Learn alongside parents who also don't speak English
  • Build confidence through immediate understanding

Hypothetical Benefits We Aim For

If MPL were fully implemented and deployed in classrooms, we hypothesize it could achieve:

Potential Metric Traditional Approach MPL Vision
Time to understand loops Days of memorizing for Minutes with โˆ€ symbol
Cognitive load High (translate + learn) Lower (direct understanding)
Parent involvement Limited by English Possible with math symbols

Note: These are aspirational goals based on our hypothesis, not measured results.

Envisioned Success Stories

These are hypothetical scenarios we hope MPL could enable once fully implemented:

๐ŸŒ Imagine: A student's potential journey

We envision students could progress like this:

Starting point: Basic math knowledge, no English

-- Month 1: First program using familiar symbols
โœŽ"Jambo!"  -- Hello in their language

Growing skills: Applying math knowledge to programming

-- Month 6: Using mathematical concepts they know
data โ‰œ [23, 45, 67, 34, 89, 12];
total โ‰œ 0;
โˆ€ x โˆˆ data : total โ† total + x;
average โ‰œ total รท 6;
โœŽ("Average: " + average)

Sharing knowledge: Teaching others in their community

This is our vision - not current reality. Help us make it possible!


๐Ÿ’ป Code examples (Syntax Demonstration)

Note: These examples show valid MPL syntax that our parser accepts (a test extracts every code block on this page and parses it). The M0-core subset runs in the browser interpreter at mpl.codes; the rest parses but does not run yet.

Some notation you might expect from math class โ€” โˆ‘, โˆš, ยฒ, % (modulo), |x|, ranges like [1..10] โ€” is deliberately absent: it is deferred to milestone M1, where each symbol will arrive together with defined semantics (see DECISIONS.md).

Level 1: Arithmetic thinking ๐Ÿ”ข

What every child knows

-- Store values (like math class!)
length โ‰œ 5;
width โ‰œ 3;
area โ‰œ length ร— width;
โœŽ("Area = " + area);

-- Make decisions: (condition โŸน result) | fallback
age โ‰œ 15;
(age โ‰ฅ 18 โŸน โœŽ"Adult") | โœŽ"Minor";

Level 2: Logical reasoning ๐Ÿงฉ

Natural progression from math

-- Do something for every element (โˆ€ = "for all")
โˆ€ n โˆˆ [1, 2, 3, 4, 5] : โœŽ(n ร— n);

-- Accumulate a running total
total โ‰œ 0;
โˆ€ n โˆˆ [1, 2, 3, 4, 5] : total โ† total + n;
โœŽ("Total: " + total);

Level 3: Real-world applications ๐ŸŒ

Solving community problems

-- Weather data analysis
temperatures โ‰œ [28, 30, 27, 31, 29, 33, 28];
total โ‰œ 0;
โˆ€ t โˆˆ temperatures : total โ† total + t;
ฮผ โ‰œ total รท 7;
โœŽ("Average: " + ฮผ + "ยฐC");

-- Parallel processing (โ€– = parallel)
results โ‰œ analyzeNorth() โ€– analyzeSouth() โ€– analyzeEast();

Level 4: Advanced concepts ๐Ÿš€

For those ready to go deeper

-- Function composition (โˆ˜, straight from math class)
double โ‰œ ฮปn: n ร— 2;
addOne โ‰œ ฮปn: n + 1;
transform โ‰œ double โˆ˜ addOne;
โœŽ(transform(5));

-- Higher-order functions
apply โ‰œ ฮปf, x: f(x);
โœŽ(apply(ฮปn: n ร— n, 6));

Why Release a Parser Without Execution?

We believe the core innovation of MPL is proving that mathematical notation can replace English keywords. By releasing the parser, we demonstrate this is grammatically possible and invite the community to help build the rest.

The parser alone proves several key points:

  • Mathematical symbols can express the core programming constructs (see the ten examples)
  • A language without English keywords is technically feasible
  • The grammar compiles with zero ANTLR errors and warnings, enforced in CI
  • ASCII fallbacks make it universally typeable

Sometimes the idea is more important than the implementation. By sharing MPL now, we hope to inspire others to think differently about programming languages and who they exclude.


๐Ÿ—๏ธ Technical architecture

Grammar specification

  • Every symbol has exactly one meaning and one ASCII escape (glyph-escapes.md)
  • Operator precedence is documented in precedence.csv and exercised by the test suite
  • The grammar compiles with zero ANTLR errors and warnings (-Werror, enforced in CI)
  • 200+ syntax assertions across the lexer, parser, example, and documentation test suites
  • Full grammar specification

Implementation stack

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚          Input Layer (Multi-modal)          โ”‚
โ”‚  Visual โ”‚ Voice โ”‚ Keyboard โ”‚ Handwriting   โ”‚
โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
     โ”‚        โ”‚        โ”‚            โ”‚
โ”Œโ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚            Unicode Normalization            โ”‚
โ”‚         (UTF-8 with BiDi support)          โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                     โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚            ANTLR 4 Parser                  โ”‚
โ”‚    Lexer โ†’ Parser โ†’ AST Generation         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                     โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚          Semantic Analysis (planned)        โ”‚
โ”‚    Type Checking โ†’ Effect Analysis         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                     โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚          Code Generation (planned)          โ”‚
โ”‚   LLVM โ”‚ JVM โ”‚ JavaScript โ”‚ Python         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Only the parser stage exists today; the lower stages are the planned architecture. We publish no performance numbers until CI measures them.


๐Ÿ—บ๏ธ Pilot program roadmap

Phase 1: Foundation ๐Ÿ—๏ธ (Months 1-3) โœ…

  • Core parser implementation
  • Basic syntax examples
  • Grammar validation complete
  • Educational materials in development

Phase 2: Interpreter ๐Ÿ“Š (Current Focus) โ† We are here

  • Basic expression evaluation
  • Control flow implementation
  • Function calls
  • Standard library basics

Phase 3: Educational Materials ๐Ÿš€ (Future)

  • First pilot classroom test
  • Basic curriculum development
  • Teacher guide creation
  • Community feedback integration

Phase 4: Expansion ๐ŸŒ (Long-term Vision)

  • Multi-school pilots
  • Research partnerships
  • Policy advocacy
  • Global community building

๐Ÿค Community & contribution

For educators ๐ŸŽ“

Resource Description Get Started
Classroom Kit Future: Lesson plans and exercises Coming soon
Teacher Training Future: Online certification Planned
Community Forum Future: Educator community In development
Student Showcase Future: Project gallery Under consideration

For developers ๐Ÿ’ป

# Clone and build
git clone https://github.com/developtheweb/mpl.git
cd mpl
./gradlew build

# Run tests
./gradlew test

# Parse examples (validation only, no execution)
./gradlew parseExamples

Key contribution areas:

  • ๐Ÿ”ค Symbol input methods
  • ๐ŸŒ Localization systems
  • ๐Ÿ“š Educational content
  • ๐Ÿ”ง Language features
  • ๐Ÿ“ฑ Mobile applications

Contributing guidelines | Architecture docs | GitHub issues

For researchers ๐Ÿ”ฌ

  • Cognitive load studies โ€” Measuring comprehension rates
  • Learning outcome analysis โ€” Long-term retention data
  • Cultural adaptation โ€” Symbol interpretation across cultures
  • Neurodiversity research โ€” Benefits for different learning styles

Research collaboration

For advocates ๐Ÿ“ข

Help us reach more children:

  • ๐Ÿ“„ Policy templates for education ministries - Coming soon
  • ๐ŸŽค Speaker materials for conferences - In development
  • ๐Ÿ“Š Research findings - See whitepaper
  • ๐ŸŽจ Media kit - Coming soon


๐ŸŒŸ Why This Matters

The Vision

Imagine a world where:

  • A teacher in Beijing could explain loops using โˆ€ instead of for
  • A parent in Mumbai could understand their child's code without knowing English
  • Education ministers could provide programming education without requiring English literacy

These aren't testimonials - they're possibilities we're working toward. MPL is still just a parser, but it proves that programming without English is possible.


๐ŸŽฏ Join the movement

Every child deserves to code in the language of their thoughts

๐ŸŽ“ Educators ๐Ÿ’ป Developers ๐Ÿ›๏ธ Institutions ๐Ÿ’ฐ Supporters
Share the vision Contribute code Contact us to explore Star the project
Imagine the possibilities Build the runtime Research partnerships Spread the word

๐Ÿ“š Resources

๐Ÿ“– Documentation ๐Ÿ”ฌ Whitepaper ๐Ÿ“ง Contact
View specs Read the vision Get in touch

๐Ÿš€ The inspiration

The idea for MPL came from a simple observation: children worldwide learn the same mathematical symbols (+, -, ร—, รท, =) but must learn English to program. This creates an unnecessary barrier.

Imagine a student asking: "Why do I need to know English to tell a computer what to do? I know math. Isn't that enough?"

This hypothetical question captures the essence of MPL. Mathematical thinking IS enough. We're building this proof of concept to demonstrate it's possible.


๐Ÿ”ฌ Cognitive science foundation

Why mathematical symbols work universally (click to expand)

Symbolic universality

Mathematical notation evolved over millennia to be:

  • Culture-agnostic โ€” Symbols transcend linguistic boundaries
  • Cognitively efficient โ€” Direct concept-to-symbol mapping
  • Progressively learnable โ€” Builds on existing knowledge

Neurological evidence

fMRI studies show mathematical symbol processing activates language-independent brain regions, enabling comprehension without linguistic translation.

Pedagogical advantages

  1. Reduced cognitive load โ€” Single-step comprehension
  2. Transfer learning โ€” Math knowledge directly applies
  3. Cultural preservation โ€” Think in your native language
  4. Universal collaboration โ€” Code readable globally

Read our whitepaper


๐ŸŒ Global partnership vision

Partnership Opportunities

We envision collaborating with organizations like:

Type of Partner Potential Role Envisioned Impact
UN Agencies Education frameworks Global policy influence
Universities Research partnerships Cognitive studies
Tech Companies Technical support Infrastructure development
Local NGOs Community implementation Grassroots adoption

Note: We are actively seeking our first institutional partners. Contact us if interested.

Join as a partner

We're seeking partnerships with:

  • ๐Ÿซ Schools & Universities โ€” Pilot programs
  • ๐Ÿข Tech Companies โ€” Internships for MPL students
  • ๐Ÿ›๏ธ Governments โ€” National curriculum integration
  • ๐ŸŽ“ Research Institutions โ€” Impact studies
  • ๐Ÿ’ก NGOs โ€” Community implementation

Contact us to explore partnerships


๐Ÿ”ฎ Future roadmap

Beyond programming

MPL is just the beginning. Our vision extends to:

  1. Mathematical Interfaces โ€” Operating systems using symbols
  2. Universal IDE โ€” Development environments without language barriers
  3. Symbolic Databases โ€” Query languages using set notation
  4. AI Training โ€” Teaching AI in mathematical notation
  5. Global Standard โ€” ISO standardization for universal programming

The 2030 vision

By 2030, we envision a world where:

  • โœ… Any child can learn programming in their native cognitive framework
  • โœ… No talent is lost to language barriers
  • โœ… Global collaboration happens without linguistic friction
  • โœ… Cognitive diversity strengthens our collective problem-solving
  • โœ… Technology truly serves all humanity

๐ŸŒŸ A world where code speaks the language of human thought

Not English. Not Chinese. Not Spanish.

The language of logic itself.

Together, we're not just teaching programming. We're democratizing the power to create.


This is what we're building toward - a world where every child's way of thinking matters in programming.


โญ Star this repository to support cognitive justice in programming

The next Fatima is waiting. Let's make sure nothing is lost in translation.


Mathematical Programming Language โ€” Where every mind can code

GitHub โ€ข Documentation โ€ข Contact

Made with โค๏ธ for the 80% of humanity waiting to code

About

Mathematics Programming Language - MPL is currently a research prototype demonstrating that programming languages can be built from mathematical notation. We have implemented a complete parser that validates the concept, but programs cannot yet be executed. This is a vision project seeking contributors to help build the interpreter and runtime.

Resources

License

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Sponsor this project

Packages

 
 
 

Contributors