我是Haskell和monads的新手,我正在尝试编写一个简单的程序,将两个文件加载到字符串中,然后使用比较函数将字符串作为字符列表进行比较(稍后应将其替换为花哨的东西).但我无法弄清楚如何将这些IO列表传递给比较函数和最终的打印输出......在代码中
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
Run Code Online (Sandbox Code Playgroud)
最后一行
print . cmp =<< l1 =<<l2
Run Code Online (Sandbox Code Playgroud)
不起作用,必须更换......但如何做到这一点?
非常感谢您提前提出的任何建议