úΘe     From Roman to Arabic and back(c) Alexander Hakki BSD3 ahk@ahakki.xyz  experimental  portable Safe9; 'RomanNumerals are Lists of RomanSymbolsRomanSymbols from I to M+Zero is represented as the latin word Nulla <A type class for all types that can represent roman numerals YThe Class Roman implements a single Method, fromRoman, to convert to an Integral Type NOverlaps instance Read [a] with a specific version, so that "xxi" -> [X, X, I]Read is case insensitiveUnlike single Roman Symbols, lists of them can implement Num in all cases. Be aware that, Roman Numerals can never be negative.¨Roman Symbols implement Num. This has some issues, as the result of operations such as I + I can not be represented as a single Roman Numeral. Use RomanNumeral instead.fromRoman on a RomanNumeral also returns the expected result, if the Roman Number is not stricly "correct", such as XIIX -> 18.           %libroman-2.2.0-51t1GSftCB4KogaJY2EnaF Data.Roman RomanNumeral RomanSymbolNullaIVXLCDMRoman fromRoman$fShow[]$fRead[]$fReadRomanSymbol$fNum[]$fNumRomanSymbol $fRoman[]$fRomanRomanSymbol$fEqRomanSymbol$fOrdRomanSymbol$fShowRomanSymbol$fEnumRomanSymbol