GraphLang — Universal Semantic Kernel for Code

The same computational intent, in 13 languages, collapses to the same 12-node graph.

GraphLang is a semantic Intermediate Representation (IR) that maps source code from 13 languages (Python, Java, JavaScript, TypeScript, C#, Rust, Go, Kotlin, Ruby, PHP, Zig, C, C++) into a single canonical graph of 12 universal IR kinds. It is not a new language — it is a discovery: different syntaxes converge to the same structure when their intent is equivalent.

Try it now on Spaces → — paste code and see it collapse into a GraphLang IR graph, live.

Python:   def add(a, b): return a + b          ─┐
Java:     int add(int a, int b){ return a+b; }  ─┤  →  SAME GraphLang IR
JavaScript: function add(a,b){ return a+b; }    ─┘     (identical graph)

The 12 IR Kinds (FROZEN)

# Kind Meaning
1 function Executable unit with parameters
2 if Conditional branch
3 for Bounded iteration
4 while Unbounded iteration
5 return Value return
6 assign Variable binding
7 call Invocation
8 binop Binary / comparison operation
9 unary Unary operation
10 var Variable reference
11 const Literal constant
12 block Statement sequence

The 12 kinds were derived from the analysis of ~2,215 Concrete Syntax Tree (CST) node types across the 13 languages.

Cross-language equivalence (measured, not claimed)

12 canonical intents were compiled in Python, Java, and JavaScript through the real engine (complete_normalizer.py) and fingerprinted with a recursive structural hash (content-addressed, not node-id based).

Group Identical IR? Notes
add, max2, abs, square, compare, negate, twice Yes (7/7) arithmetic / expression intents
is_even, sum_loop, fact, fib, grade Partial comparison/loop sugar (elif vs else if, for-of vs for-in, Python Compare vs binary op)

Arithmetic and expression-level intents collapse to bit-identical IR across the three languages. The remaining divergence is a known normalization gap in comparison and loop sugar — documented, not hidden. See data/equivalence.csv.

IR visualization

grade(score) in Python, normalized to GraphLang IR:

GraphLang IR graph

Reproducible Benchmarks

The compression ratio converges to a constant — 22.5x monolingual and 29.8x multilingual — from 100K functions onward. Results below are reproducible with the engine (benchmark_100k.py / benchmark_1m.py).

Functions Total Nodes Unique Patterns Ratio Errors
1,500 32,481 1,567 20.7x 0
10,000 217,233 9,770 22.2x 0
100,000 2,170,018 96,616 22.5x 0
1,000,000 21,721,197 965,045 22.5x 0

Datasets (downloadable)

File Content
data/examples.jsonl 36 code→IR samples (12 intents × Python/Java/JavaScript), full IR node dump + fingerprint
data/equivalence.csv Cross-language equivalence matrix with recursive structural hashes
benchmark_100k_results.json 100K-function compression measurement
benchmark_1m_results.json 1M-function compression measurement

Included in this repository

  • app.pydidactic interactive demo (Gradio): paste code, see the IR graph, merge two functions, measure structural deduplication. This is a self-contained educational reimplementation, not the production engine.
  • parallel_ir.py — GPU/HPC extension (CUDA / OpenCL / Metal detection and thread-index normalization) sitting on top of the 12 core kinds.
  • benchmark_100k_results.json, benchmark_1m_results.json — reproducible benchmark measurements.
  • data/ — the code→IR dataset and equivalence matrix (generated by the real engine).
  • assets/ — IR graph visualizations (SVG + PNG).
  • paper/ — the academic paper (GraphLang: a universal semantic kernel for code).

Engine and license

The full multi-language normalizer engine is available under the MII Open License v1.1 (see LICENSE): free for non-commercial and research use, restricted for AI/ML training (drafted as a copyright condition, enforceable under Jacobsen v. Katzer), and commercial use requires a license.

The benchmarks and data/ files in this repository were produced by the real engine. The app.py demo is a simplified didactic reimplementation that illustrates the concept only.

For the engine, the 20M aligned function-pair dataset, or commercial licensing: josu31.jas@gmail.com


"No inventamos un nuevo lenguaje. Descubrimos que todos los lenguajes ya hablaban el mismo."

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support