http://projecteuler.net/index.php?section=problems&id=99

そのまま、log使って比較。

import Data.List
import Data.Ord
logPow x y = y*(log $ x)
main = do f<-readFile "base_exp.txt"
let xs = map (read.g) . lines $  f ::[[Double]]
ans = maximumBy (comparing $ foldl1 logPow)$xs
print.findIndex (==ans) $ []:xs
where g x = "["++ x ++"]"