purepy — Python
purepy borrows Python's ubiquity and data tooling — the inverse argument to most of the family: the libraries are the reason to be there. Rebooted from scratch on the Jurist architecture (ADR-0001), it reached 422/426 byte-identical — the same score as Jurist on the shared corpus.
The one structural twist is module-level lambda lifting (ADR-0002), needed to clear CPython's parenthesis-nesting cap that deeply curried code would otherwise blow.
At a glance
| purepy | |
|---|---|
| Int | Python bignum |
| Strings | str — Unicode codepoints |
| Architecture | Jurist skeleton + module-level lambda lifting |
| Build | spago with backend.cmd: "true" for CoreFn, then
purepy output output-py |
Divergences
Diverges from JS exactly like the other bignum/UTF-8 backends
(INT64 / ASTRAL ledger): Python
int is arbitrary precision, so sumTo 1000000
gives the exact answer; float repr differs from JS in the usual zones
(inf vs Infinity if unshimmed);
ASTRAL- tests agree with Julia and BEAM. Its own
test-project/cross_backend_test.py is the prior art for the
column-adding task, with a curated KNOWN_DIVERGENCES set worth
porting.