23 lines
712 B
Factor
23 lines
712 B
Factor
USING: combinators formatting generalizations io.encodings.utf8
|
|
io.files kernel literals math prettyprint regexp sequences ;
|
|
IN: rosetta-code.i-before-e
|
|
|
|
: correct ( #correct #incorrect rule-str -- )
|
|
pprint " is correct for %d and incorrect for %d.\n" printf ;
|
|
|
|
: plausibility ( #correct #incorrect -- str )
|
|
2 * > "plausible" "implausible" ? ;
|
|
|
|
: output ( #correct #incorrect rule-str -- )
|
|
[ correct ] curry
|
|
[ plausibility "This is %s.\n\n" printf ] 2bi ;
|
|
|
|
"unixdict.txt" utf8 file-lines ${
|
|
R/ cei/ R/ cie/ R/ [^c]ie/ R/ [^c]ei/
|
|
[ count-matches ]
|
|
[ map-sum ]
|
|
[ 4 apply-curry ] bi@
|
|
} cleave
|
|
|
|
"I before E when not preceded by C"
|
|
"E before I when preceded by C" [ output ] bi@
|