Hi Andrew,
I haven't read your whole message but if shortness is your goal, here
are some ideas:
Andrew Savige wrote:
rtoa c = 10^(205558`mod`(ord c)`mod`7)`mod`9995
I'm not suggesting that magic formulae are useful outside of golf and
this second rtoa function, though shorter, is much less clear. I might
add that this particular magic formula appears to be less useful in
Haskell golf than the other languages because `mod` is five times
longer than the % operator of the other languages. :)
Why not rename mod like so?
(%)=mod
rtoa c=10^(205558%ord c%7)%9995
Alternatively, you could write the rtoa function using an approach
taken from the original HaskellWiki solution:
rtoa = fromJust . flip lookup (zip "IVXLCDM" [1,5,10,50,100,500,1000])
You can write this as:
Just rtoa=flip lookup (zip "IVXLCDM" [1,5,10,50,100,500,1000])
Which is another few characters shorter. :-)
HTH,
Martijn.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe