2014-03-27 36 views
1

我想寫一個反轉文本的IO程序,但它不能工作。我試圖調整反轉函數的縮進,但它仍然不起作用。Haskell解析錯誤(可能是不正確的縮進或不匹配的括號)

完整的錯誤信息是:

reverse.hs:11:1: 分析錯誤(可能不正確壓痕或不匹配的括號)

--reverse a file 
module Main where 

import System.IO 

main = do 
    putStrLn "reading a file..." 
    theInput <- readFile "input.txt" 
    writeFile "output.txt" $ reverse` theInput 

reverse` :: String -> String 
reverse` [] = [] 
reverse` (_:xs) = reverse xs : _ 
+12

這是一個嚴重錯誤 – SingleNegationElimination

+5

@IfLoop你的雙關語幾乎沒有功能。 – jozefg

+0

@jozefg你的雙關只是懶惰。 –

回答

6

不能使用一個反標籤作爲標識符的一部分。它是使用函數名稱作爲嵌入式運算符的語法標記(例如compare `on` thing)。你可能想要一個正常的刻度標記(')。

+0

所以它的工作原理!謝謝。該錯誤消息誤導了我。 – laxus

相關問題