! Copyright (C) 2008 Doug Coleman.
! See http://factorcode.org/license.txt for BSD license.
-USING: help.markup help.syntax kernel math strings ;
+USING: help.markup help.syntax kernel math multiline strings ;
IN: roman
HELP: >roman
-{ $values { "n" integer } { "str" string } }
-{ $description "Converts a number to its lower-case Roman Numeral equivalent." }
-{ $notes "The range for this word is 1-3999, inclusive." }
+{ $values n: integer str: string }
+{ $description Converts a number to its lower-case Roman Numeral equivalent. }
+{ $notes The range for this word is 1-3999, inclusive. }
{ $examples
- { $example "USING: io roman ;"
- "56 >roman print"
- "lvi"
- }
+ [=[
+ USING: io roman ;
+ 56 >roman print
+ lvi
+ ]=]
} ;
HELP: >ROMAN
-{ $values { "n" integer } { "str" string } }
-{ $description "Converts a number to its upper-case Roman numeral equivalent." }
-{ $notes "The range for this word is 1-3999, inclusive." }
+{ $values n: integer str: string }
+{ $description Converts a number to its upper-case Roman numeral equivalent. }
+{ $notes The range for this word is 1-3999, inclusive. }
{ $examples
- { $example "USING: io roman ;"
- "56 >ROMAN print"
- "LVI"
- }
+ [=[
+ USING: io roman ;
+ 56 >ROMAN print
+ LVI
+ ]=]
} ;
HELP: roman>
-{ $values { "str" string } { "n" integer } }
-{ $description "Converts a Roman numeral to an integer." }
-{ $notes "The range for this word is i-mmmcmxcix, inclusive." }
+{ $values str: string n: integer }
+{ $description Converts a Roman numeral to an integer. }
+{ $notes The range for this word is i-mmmcmxcix, inclusive. }
{ $examples
- { $example "USING: prettyprint roman ;"
- "\"lvi\" roman> ."
- "56"
- }
+ [=[ USING: prettyprint roman ;
+ "lvi" roman> .
+ 56
+ ]=]
} ;
{ >roman >ROMAN roman> } related-words
HELP: roman+
-{ $values { "x" string } { "y" string } { "z" string } }
-{ $description "Adds two Roman numerals." }
+{ $values x: string y: string z: string }
+{ $description Adds two Roman numerals. }
{ $examples
- { $example "USING: io roman ;"
- "\"v\" \"v\" roman+ print"
- "x"
- }
+ [=[ USING: io roman ;
+ "v" "v" roman+ print
+ x
+ ]=]
} ;
HELP: roman-
-{ $values { "x" string } { "y" string } { "z" string } }
-{ $description "Subtracts two Roman numerals." }
+{ $values x: string y: string z: string }
+{ $description Subtracts two Roman numerals. }
{ $examples
- { $example "USING: io roman ;"
- "\"x\" \"v\" roman- print"
- "v"
- }
+ [=[ USING: io roman ;
+ "x" "v" roman- print
+ v
+ ]=]
} ;
{ roman+ roman- } related-words
HELP: roman*
-{ $values { "x" string } { "y" string } { "z" string } }
-{ $description "Multiplies two Roman numerals." }
+{ $values x: string y: string z: string }
+{ $description Multiplies two Roman numerals. }
{ $examples
- { $example "USING: io roman ;"
- "\"ii\" \"iii\" roman* print"
- "vi"
- }
+ [=[ USING: io roman ;
+ "ii" "iii" roman* print
+ vi
+ ]=]
} ;
HELP: roman/i
-{ $values { "x" string } { "y" string } { "z" string } }
-{ $description "Computes the integer division of two Roman numerals." }
+{ $values x: string y: string z: string }
+{ $description Computes the integer division of two Roman numerals. }
{ $examples
- { $example "USING: io roman ;"
- "\"v\" \"iv\" roman/i print"
- "i"
- }
+ [=[ USING: io roman ;
+ "v" "iv" roman/i print
+ i
+ ]=]
} ;
HELP: roman/mod
-{ $values { "x" string } { "y" string } { "z" string } { "w" string } }
-{ $description "Computes the quotient and remainder of two Roman numerals." }
+{ $values x: string y: string z: string w: string }
+{ $description Computes the quotient and remainder of two Roman numerals. }
{ $examples
- { $example "USING: kernel io roman ;"
- "\"v\" \"iv\" roman/mod [ print ] bi@"
- "i\ni"
- }
+ [=[ USING: kernel io prettyprint roman ;
+ "v" "iv" roman/mod [ print ] bi@
+ i\ni
+ ]=]
} ;
{ roman* roman/i roman/mod } related-words
HELP: ROMAN:
-{ $description "A parsing word that reads the next token and converts it to an integer." }
+{ $description A parsing word that reads the next token and converts it to an integer. }
{ $examples
- { $example "USING: prettyprint roman ;"
- "ROMAN: v ."
- "5"
- }
+ [=[ USING: prettyprint roman ;
+ ROMAN: v .
+ 5
+ ]=]
} ;
ARTICLE: "roman" "Roman numerals"
-"The " { $vocab-link "roman" } " vocabulary can convert numbers to and from the Roman numeral system and can perform arithmetic given Roman numerals as input." $nl
+"The" { $vocab-link "roman" } "vocabulary can convert numbers to and from the Roman numeral system and can perform arithmetic given Roman numerals as input." $nl
"A parsing word for literal Roman numerals:"
{ $subsections POSTPONE: ROMAN: }
"Converting to Roman numerals:"