|
| 1 | +<!-- SPDX-License-Identifier: PMPL-2.0-or-later --> |
| 2 | +<!-- Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) --> |
| 3 | +<!DOCTYPE html> |
| 4 | +<html lang="en"> |
| 5 | +<head> |
| 6 | +<meta charset="utf-8"> |
| 7 | +<meta name="viewport" content="width=device-width, initial-scale=1"> |
| 8 | +<title>iseriser — the -iser family hub</title> |
| 9 | +<style> |
| 10 | +*{margin:0;padding:0;box-sizing:border-box} |
| 11 | +body{background:#0d1117;color:#c9d1d9;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;line-height:1.6;padding:2rem} |
| 12 | +.container{max-width:800px;margin:0 auto} |
| 13 | +h1,h2,h3{font-family:"JetBrains Mono",Consolas,"Courier New",monospace;color:#58a6ff} |
| 14 | +h1{font-size:2.2rem;margin-bottom:.3rem} |
| 15 | +.tagline{color:#8b949e;font-size:1.1rem;margin-bottom:1.5rem} |
| 16 | +.badge{display:inline-block;padding:.2rem .5rem;border-radius:3px;font-size:.75rem;font-weight:600;margin-right:.4rem;text-decoration:none} |
| 17 | +.badge-license{background:#1f6feb;color:#fff} |
| 18 | +.badge-crates{background:#fc8d62;color:#fff} |
| 19 | +.badge-count{background:#3fb950;color:#fff} |
| 20 | +.badges{margin-bottom:1.8rem} |
| 21 | +pre{background:#161b22;border:1px solid #30363d;border-radius:6px;padding:1rem;overflow-x:auto;margin:1rem 0;color:#e6edf3;font-size:.9rem} |
| 22 | +code{font-family:"JetBrains Mono",Consolas,monospace} |
| 23 | +h2{font-size:1.3rem;margin-top:1.8rem;margin-bottom:.6rem;border-bottom:1px solid #21262d;padding-bottom:.3rem} |
| 24 | +a{color:#58a6ff;text-decoration:none} |
| 25 | +a:hover{text-decoration:underline} |
| 26 | +.links{margin-top:2rem;display:flex;gap:1rem;flex-wrap:wrap} |
| 27 | +.links a{border:1px solid #30363d;padding:.4rem 1rem;border-radius:6px;font-size:.9rem} |
| 28 | +.links a:hover{border-color:#58a6ff} |
| 29 | +footer{margin-top:3rem;padding-top:1rem;border-top:1px solid #21262d;color:#484f58;font-size:.8rem} |
| 30 | +table{width:100%;border-collapse:collapse;margin:1rem 0} |
| 31 | +th{text-align:left;padding:.5rem;border-bottom:2px solid #30363d;color:#58a6ff;font-family:"JetBrains Mono",Consolas,monospace;font-size:.85rem} |
| 32 | +td{padding:.4rem .5rem;border-bottom:1px solid #21262d;font-size:.88rem} |
| 33 | +td:first-child{white-space:nowrap} |
| 34 | +tr:hover{background:#161b22} |
| 35 | +</style> |
| 36 | +</head> |
| 37 | +<body> |
| 38 | +<div class="container"> |
| 39 | +<h1>iseriser</h1> |
| 40 | +<p class="tagline">The meta-framework that generates new -iser projects. Factory for the entire family.</p> |
| 41 | +<div class="badges"> |
| 42 | + <a class="badge badge-license" href="https://github.com/hyperpolymath/palimpsest-license">PMPL-2.0</a> |
| 43 | + <a class="badge badge-crates" href="https://crates.io/crates/iseriser">crates.io</a> |
| 44 | + <span class="badge badge-count">28 -isers</span> |
| 45 | +</div> |
| 46 | + |
| 47 | +<h2>Install</h2> |
| 48 | +<pre><code>cargo install iseriser</code></pre> |
| 49 | + |
| 50 | +<h2>What It Does</h2> |
| 51 | +<p>Given a language description — name, type system, compilation target, calling convention — |
| 52 | +iseriser scaffolds a complete -iser repository with a bespoke manifest schema, codegen engine, |
| 53 | +Idris2 ABI definitions, Zig FFI bridge, tests, CI/CD workflows, and documentation. All 28 |
| 54 | +-iser repos share the same architecture because they come from this factory.</p> |
| 55 | + |
| 56 | +<h2>The -iser Family</h2> |
| 57 | +<table> |
| 58 | +<thead><tr><th>Name</th><th>What It Does</th></tr></thead> |
| 59 | +<tbody> |
| 60 | +<tr><td><a href="https://github.com/hyperpolymath/a2mliser">a2mliser</a></td> |
| 61 | +<td>Wraps markup and config files in A2ML cryptographic attestation envelopes</td></tr> |
| 62 | +<tr><td><a href="https://github.com/hyperpolymath/affinescriptiser">affinescriptiser</a></td> |
| 63 | +<td>Wraps code in AffineScript affine + dependent types, compiles to WASM</td></tr> |
| 64 | +<tr><td><a href="https://github.com/hyperpolymath/alloyiser">alloyiser</a></td> |
| 65 | +<td>Extracts API specs into Alloy 6 formal models, finds design bugs via SAT solving</td></tr> |
| 66 | +<tr><td><a href="https://github.com/hyperpolymath/anvomidaviser">anvomidaviser</a></td> |
| 67 | +<td>Converts ISU skating notation into formal verification models</td></tr> |
| 68 | +<tr><td><a href="https://github.com/hyperpolymath/atsiser">atsiser</a></td> |
| 69 | +<td>Analyses C source, identifies memory-critical patterns, wraps in ATS2 proofs</td></tr> |
| 70 | +<tr><td><a href="https://github.com/hyperpolymath/betlangiser">betlangiser</a></td> |
| 71 | +<td>Analyses deterministic code, identifies values that should be formally verified</td></tr> |
| 72 | +<tr><td><a href="https://github.com/hyperpolymath/bqniser">bqniser</a></td> |
| 73 | +<td>Scans code for array computation patterns, rewrites them in BQN</td></tr> |
| 74 | +<tr><td><a href="https://github.com/hyperpolymath/chapeliser">chapeliser</a></td> |
| 75 | +<td>Scales single-machine apps to distributed clusters via Chapel, no Chapel needed</td></tr> |
| 76 | +<tr><td><a href="https://github.com/hyperpolymath/dafniser">dafniser</a></td> |
| 77 | +<td>Generates correct-by-construction code for critical functions via Dafny</td></tr> |
| 78 | +<tr><td><a href="https://github.com/hyperpolymath/eclexiaiser">eclexiaiser</a></td> |
| 79 | +<td>Instruments code with energy, carbon, and resource-cost accounting</td></tr> |
| 80 | +<tr><td><a href="https://github.com/hyperpolymath/ephapaxiser">ephapaxiser</a></td> |
| 81 | +<td>Analyses code for resource handles, inserts Ephapax linear-type wrappers</td></tr> |
| 82 | +<tr><td><a href="https://github.com/hyperpolymath/futharkiser">futharkiser</a></td> |
| 83 | +<td>Identifies array-parallel patterns, extracts and compiles them via Futhark to GPU</td></tr> |
| 84 | +<tr><td><a href="https://github.com/hyperpolymath/halideiser">halideiser</a></td> |
| 85 | +<td>Compiles image and video processing pipelines to optimised Halide schedules</td></tr> |
| 86 | +<tr><td><a href="https://github.com/hyperpolymath/idrisiser">idrisiser</a></td> |
| 87 | +<td>Meta-prover: adds Idris2 dependent-type proofs to existing code</td></tr> |
| 88 | +<tr><td><a href="https://github.com/hyperpolymath/iseriser">iseriser</a></td> |
| 89 | +<td>The meta-framework that generates new -iser projects (this repo)</td></tr> |
| 90 | +<tr><td><a href="https://github.com/hyperpolymath/julianiser">julianiser</a></td> |
| 91 | +<td>Converts Python and R data science code to Julia for performance</td></tr> |
| 92 | +<tr><td><a href="https://github.com/hyperpolymath/k9iser">k9iser</a></td> |
| 93 | +<td>Analyses configs, infers constraints, generates K9 contracts with attestation</td></tr> |
| 94 | +<tr><td><a href="https://github.com/hyperpolymath/lustreiser">lustreiser</a></td> |
| 95 | +<td>Generates formally verified real-time embedded code via Lustre</td></tr> |
| 96 | +<tr><td><a href="https://github.com/hyperpolymath/mylangiser">mylangiser</a></td> |
| 97 | +<td>Analyses complex API surfaces, identifies complexity layers, generates wrappers</td></tr> |
| 98 | +<tr><td><a href="https://github.com/hyperpolymath/nimiser">nimiser</a></td> |
| 99 | +<td>Generates high-performance C libraries from high-level interface descriptions via Nim</td></tr> |
| 100 | +<tr><td><a href="https://github.com/hyperpolymath/oblibeniser">oblibeniser</a></td> |
| 101 | +<td>Makes operations reversible and auditable via Obliben</td></tr> |
| 102 | +<tr><td><a href="https://github.com/hyperpolymath/otpiser">otpiser</a></td> |
| 103 | +<td>Generates OTP supervision trees, GenServers, and GenStateMachines</td></tr> |
| 104 | +<tr><td><a href="https://github.com/hyperpolymath/phronesiser">phronesiser</a></td> |
| 105 | +<td>Adds provably safe ethical constraints to AI agent decision-making</td></tr> |
| 106 | +<tr><td><a href="https://github.com/hyperpolymath/ponyiser">ponyiser</a></td> |
| 107 | +<td>Wraps concurrent code in Pony reference capabilities, eliminating data races</td></tr> |
| 108 | +<tr><td><a href="https://github.com/hyperpolymath/tlaiser">tlaiser</a></td> |
| 109 | +<td>Extracts state machine specs from code, generates TLA+ models</td></tr> |
| 110 | +<tr><td><a href="https://github.com/hyperpolymath/typedqliser">typedqliser</a></td> |
| 111 | +<td>Adds formal type safety to SQL, GraphQL, Cypher, and other query languages</td></tr> |
| 112 | +<tr><td><a href="https://github.com/hyperpolymath/verisimiser">verisimiser</a></td> |
| 113 | +<td>Augments existing databases with VeriSimDB capabilities</td></tr> |
| 114 | +<tr><td><a href="https://github.com/hyperpolymath/wokelangiser">wokelangiser</a></td> |
| 115 | +<td>Transforms code into consent-aware, accessible, and inclusive implementations</td></tr> |
| 116 | +</tbody> |
| 117 | +</table> |
| 118 | + |
| 119 | +<h2>Architecture</h2> |
| 120 | +<p>Every -iser follows the same pattern: a TOML manifest describes what the user wants, |
| 121 | +Idris2 ABI definitions formally prove interface correctness, a Zig FFI bridge provides |
| 122 | +the C-ABI layer, and a Rust CLI orchestrates codegen. 17 CI/CD workflows and full RSR |
| 123 | +governance are included in every generated repo.</p> |
| 124 | + |
| 125 | +<div class="links"> |
| 126 | + <a href="https://github.com/hyperpolymath/iseriser">GitHub</a> |
| 127 | + <a href="https://crates.io/crates/iseriser">crates.io</a> |
| 128 | +</div> |
| 129 | + |
| 130 | +<footer> |
| 131 | + Licensed under <a href="https://github.com/hyperpolymath/palimpsest-license">PMPL-2.0-or-later</a>. |
| 132 | +</footer> |
| 133 | +</div> |
| 134 | +</body> |
| 135 | +</html> |
0 commit comments