The following declaration for a function for converting positive
integers to Roman numerals is 181 characters long.

Is there a shorter one?

roman=f[(i-j,i)|i<-[2,4..8],j<-[2,1]]where f(d@((a,b):c))n|n<1=""|n>=t!!a=s!!a:f d(n-t!!a)|1>0=if 
n+t!!b>=t!!a then s!!b:f d(n+t!!b)else f c n;s="mdclxvi";t=[1000,500,100,50,10,5,1]
_______________________________________________
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to