I'm new to Haskell and monads and I'm trying to write a simple program that loads two files into Strings and then compares the String as Char-lists using a comparison-function (which later on should be replaced by something fancy). But I couldn't figure out how to pass these IO lists to the comparison function and to the final print output... In the code

```
import System.IO  
import Control.Monad

cmp :: (Eq a) => [a] -> [a] -> Bool
cmp []      []      = True
cmp []      (y:ys)  = False
cmp (x:xs)  []      = False
cmp (x:xs)  (y:ys)  = (x==y) && cmp xs ys

main = do
    l1 <- readFile "dat1"
    l2 <- readFile "dat2"
    print . cmp =<< l1 =<<l2

```

the last line

```
print . cmp =<< l1 =<<l2

```

does not work and has to be replaced... But how to do that?

Thanks a lot for any suggestions in advance