JP application 2026-046620 (claims 11 / 14d — legacy dialect coverage includes PL/I)

SlimePL/I — PL/I → Java bit-exact transpiler

Deterministic modernization of insurance, banking, and airline PL/I assets to Java.

Tens of millions of lines of PL/I run worldwide on IBM Enterprise PL/I, Open PL/I (Workday / Micro Focus), Iron Spring, and GnuPLi. SlimePL/I converts them to Java with bit-exact correctness, audit chains, and tamper detection — sharing S2-S5 / S7-S9 with SlimeCOBOL and SlimeMUMPS, with only S1 (PL/I FST) and S6 (Java emitter) being PL/I-specific.

  • Auto-detects 5 dialects (IBM Classic / IBM Enterprise / Open PL/I / Iron Spring / GnuPLi)
  • S9 bench: all 5 axes 100% (60/60) + S6 byte-exact regression 60/60 PASS(measured 2026-05-08)
  • Production PL/I features — arrays / 2D arrays / structures / array-of-struct / internal PROC + RETURNS + recursion / SELECT/WHEN / DO WHILE/BY / 25+ BUILTINs
  • stdin GET LIST + ON ENDFILE exception handling + file I/O (DCL FILE INPUT/OUTPUT TITLE / OPEN / CLOSE / READ FILE INTO / WRITE FILE FROM) all live

Implements the bit-exact + instant tamper detection required by financial and aviation audit. Auditors can re-verify "no information lost in conversion" after the fact — the world's first deterministic transpiler dedicated to PL/I (per our research).

PL/I PoC / Materials →

Headline metrics (measured 2026-05-08)

60 / 60
javac compile + run
all 60 samples emit Java that compiles clean and runs as expected
60 / 60
S6 byte-exact regression
actual/.java and expected/.java match exactly
100.00 %
S9 all 5 axes
dialect / token / javac / mutation / determinism — all PASS
5 dialects
auto-detected
IBM Classic / Enterprise / Open PL/I / Iron Spring / GnuPLi
12 phases
Phase 1-12 implemented
core syntax → Rosetta-style algorithms → stdin/file I/O complete
25+ kinds
BUILTINs supported
SUBSTR / LENGTH / INDEX / TRIM / UPPER / SQRT / EXP / DATE / TIME and more

Market context — the world's PL/I legacy

InsuranceTop US life and P&C insurers, reinsurance — SAS / IBM Enterprise PL/I in core business-logic layers. Calculation-heavy work fits PL/I's structured leanings better than COBOL.
Banking / financeMajor European and US banks: risk computation, transaction infrastructure, especially in Europe (parts of HSBC / Barclays / Deutsche Bank). Long-running PL/I maintenance.
Airlines / GDSSABRE / Amadeus and similar GDS reservation systems carry 1970s-80s PL/I code. Real-time and complex structure handling are PL/I sweet spots.
Government / publicUS IRS, parts of UK NHS, and other long-life-cycle government systems.
Market scaleEstimated tens of millions of LOC worldwide; tens of billions of dollars annual maintenance. Competitors (TSRI JANUS / Astadia / SoftwareMining) charge per-LOC at multi-million-dollar scale. SlimePL/I charges only the WASM converter tool — the generated Java is perpetually free to deploy.

5-dialect auto-detection

S1 PL/I FST identifies dialect by fingerprint and propagates a dialect meta to downstream stages:

IBM Classic IBM Enterprise Open PL/I Iron Spring GnuPLi
IBM ClassicPROCEDURE OPTIONS (MAIN) / PROC OPTIONS form
IBM Enterprise PL/IREENTRANT / REORDER attributes; the modern z/OS PL/I mainstream
Open PL/IWorkday (formerly Liant) / Micro Focus — OPENPLI marker
Iron SpringIndependent PL/I implementation on Linux — IRONSPRING marker
GnuPLiGNU free implementation — /* GNUPLI */ marker

Supported features (Phase 1-12)

Control flowIF/THEN/ELSE / SELECT/WHEN/OTHERWISE / DO TO BY (positive and negative step) / DO WHILE / nesting
TypesFIXED / FIXED DECIMAL(p,q) → BigDecimal / FLOAT → double / CHAR(n) → String
Data structures1D arrays / 2D arrays / structures (DCL 1 ... 2 ...) / array-of-struct (DCL 1 ITEM(N), 2 ...)
Proceduresinternal PROC / CALL / RETURN / RETURNS (FIXED/FLOAT/CHAR) / recursion / parameter type inference / class-level static promotion of main-scope DCLs (so internal PROCs share state)
BUILTINs (25+)SUBSTR / LENGTH / INDEX / TRIM / UPPER / LOWER / ABS / MAX / MIN / MOD / REPEAT / VERIFY / TRANSLATE / ROUND / FLOOR / CEIL / SQRT / EXP / LOG / SIN / COS / TAN / ATAN / DATE / TIME
Operatorsarithmetic / comparison / logical & | / concat || / string equality auto-rewritten to Java .equals() (both literals and variables)
I/OPUT LIST / PUT SKIP LIST / GET LIST (stdin) / ON ENDFILE (try/catch wrap) / File I/O (DCL FILE INPUT/OUTPUT TITLE / OPEN / CLOSE / READ FILE INTO / WRITE FILE FROM)

Conversion example — production batch program

A typical "read file → process → write file" pattern compiles and runs unchanged:

/* PL/I source — file copy with ON ENDFILE */
FC: PROCEDURE OPTIONS (MAIN);
   DCL IN  FILE INPUT  TITLE('/tmp/pli_in.txt');
   DCL OUT FILE OUTPUT TITLE('/tmp/pli_copy.txt');
   DCL LINE CHAR(200);
   DCL DONE FIXED;
   DCL N FIXED;
   OPEN FILE(IN);
   OPEN FILE(OUT);
   ON ENDFILE(IN) DONE = 1;
   DONE = 0; N = 0;
   DO WHILE (DONE = 0);
      READ FILE(IN) INTO (LINE);
      IF DONE = 0 THEN
         DO;
            WRITE FILE(OUT) FROM (LINE);
            N = N + 1;
         END;
   END;
   CLOSE FILE(IN);
   CLOSE FILE(OUT);
   PUT LIST ('copied', N, 'lines');
END FC;
// Generated Java (deterministic, byte-exact)
public class M_58_file_copy {
    public static void main(String[] args) {
        SlimePLI.PLIFile IN  = SlimePLI.openInput("/tmp/pli_in.txt");
        SlimePLI.PLIFile OUT = SlimePLI.openOutput("/tmp/pli_copy.txt");
        String LINE = "";
        int    DONE = 0, N = 0;
        while (DONE == 0) {
            try {
                LINE = SlimePLI.readFile(IN);
            } catch (SlimePLI.PLIEof __eof) {
                DONE = 1;
            }
            if (DONE == 0) {
                SlimePLI.writeFile(OUT, LINE);
                N = N + 1;
            }
        }
        SlimePLI.closeFile(IN);
        SlimePLI.closeFile(OUT);
        SlimePLI.putList("copied", N, "lines");
    }
}

Algorithms verified end-to-end (Phase 1-12)

  • SortingBubble sort / Quicksort (recursive, internal PROC sharing main-scope array)
  • Number theorySieve of Eratosthenes (prime listing) / primality test / Euclidean GCD (recursive) / factorial / iterative Fibonacci
  • String processingword counter / string reverse / palindrome / Caesar cipher / letter frequency / CSV parser
  • ClassicsTowers of Hanoi (recursive) / 99 bottles / FizzBuzz / Collatz 3n+1 sequence
  • NumericsLeibniz π estimation (1000 terms) / array sum/avg/min/max / matrix trace / running max
  • Businesspayroll (array-of-struct + RETURNS + overtime calc) / grade book (5-tier IF/ELSE chain) / file copy / file grep / file uppercase

Audit fitness (financial / aviation)

  • Bit-exactSame input → same sha256. Includes arrays, structures, recursion — fully deterministic.
  • Byte-exact regressionmake test diffs actual/.java against expected/.java — 60/60 PASS(2026-05-08 baseline). Future emitter changes that introduce unintended output drift are detected immediately.
  • Audit chainIn-RAM SHA-256 monotonic chain. Append-only; never deleted. Plugs directly into the SlimeNENC shared S7 stage.
  • Tamper detectionA single byte flip in any record blob is always reported as DETECTED.
  • Hallucination detectionTrigram + bigram language model. Axis 2 rejects 100% of mutations.
  • Build-time LLMLLM is used only at rule-construction time. Runtime is deterministic rules — basis of the 99.9995% claim.

License model

ChargedWASM/WASI converter tool (developer side)
FreeGenerated Java source (customer asset, perpetual deploy)
MethodEd25519-signed 144B license + 3-hop air-gap activation (financial / aviation audit-ready)
Parallelization (PSDP)Not bundled with this product. See PSDP as a separate SKU under SlimeNENC.

Resources

  • Tech overviewSlimeNENC Technical Overview (PL/I chapter in preparation)
  • Patent applicationJP 2026-046620 v15b — claim 11 (minimal-context constraints for legacy dialects), claim 14d (cross-system conversion including COBOL / MUMPS / PL/I) explicitly cover PL/I.
  • Sibling productsSlimeCOBOL / SlimeMUMPS / SlimeJCL share the same S2-S5 / S7-S9 backbone
  • BenchmarksS9 bench harness (5-axis correctness); make test in s6_java_emit_pl1/ gives byte-exact regression 60/60

PL/I PoC / Materials Back to SlimeNENC family SlimeCOBOL SlimeMUMPS