README.md
gno.land/p/moul/x/daily/romannum/v0
Roman-numeral converter — ToRoman, 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.