I asked for Scheme, but if you want Haskell pester carldr on IRC
i am not aware of any major non-academic projects using haskell. i might be wrong.
map (**2) [1..5], but it might get tripped up in all that input/output handling. Monads.
e(c:j)n m f v|v==c=n
|1<2=e j(n*m)f m v
q x(y,l)|x<l=(y-x,l)
|1<2=(x+y,x)
main=getLine>>=return.fst.foldr q(0,0).map(e"IVXLCDM"1 5 2)