Search Apps Documentation Source Content File Folder Download Copy Actions Download State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

/p/moul/x/daily/romannum/v0

Directory · 3 Files
README.md Open

gno.land/p/moul/x/daily/romannum/v0

Roman-numeral converterToRoman, FromRoman.

A pure port of the classic kata, valid for 1..3999. ToRoman uses greedy subtractive notation (panics out of range); FromRoman accepts a numeral only if it is canonical (it must round-trip through ToRoman), so malformed forms like IIII, VV, or IC are rejected. Deterministic — no time, randomness, or I/O — and free of any realm coupling.

1import "gno.land/p/moul/x/daily/romannum/v0"
2
3s := romannum.ToRoman(2024) // "MMXXIV"
4n := romannum.FromRoman(s)   // 2024 (panics on a malformed numeral)

Live demo: r/moul/x/daily/romannumdemo · render it at /r/moul/x/daily/romannumdemo/v0.


Part of moul/gno-contracts — moul's versioned gno.land contracts. See the repository for the full catalog, build/test tooling, and usage.

🧪 Highly experimental — potentially vibe-coded. Not audited; may break, change, or be removed at any time. Do not use with anything of value. Full disclaimer: DISCLAIMER.