Problem 22
http://projecteuler.net/index.php?section=problems&id=22
--Haskell (Input data from STDIN), 20090101 import Char (ord, isAlpha) import List (sort) split :: String -> [String] split ['"'] = [] split xs = let (f, t) = span isAlpha $ dropWhile (not . isAlpha) xs in f : split t main = getLine >>= print . sum . zipWith (*) [1..] . map (sum . map (subtract 64 . ord)) . sort . split