Haskell解析错误(可能是错误的缩进或括号不匹配)

lax*_*xus 1 haskell

我正在尝试编写一个反转文本的IO程序,但它无法正常工作.我试图调整反向功能的缩进,但是,它没有用.

完整的错误消息是:

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 : _ 
Run Code Online (Sandbox Code Playgroud)

Chu*_*uck 6

您不能将反引号用作标识符的一部分.它是使用函数名作为内联运算符的语法标记(例如compare `on` thing).你可能想要一个正常的刻度线(').