文档建议ReadPrec
是解析器比ReadS
更为有效的表示,并说这是ghc用来定义派生的Read
实例的代表。但是,ghc给出了一个错误,当我尝试使用该方法实现Read
时,该方法不可见。
instance Read PosTag where
readPrec = mconcat . map posTagFromChar <$> lift (many (satisfy (`elem` "nva")))
http://hackage.haskell.org/package/base-4.12.0.0/docs/Text-Read.html
答案 0 :(得分:3)
显然readPrec
不是从Prelude
导出的...我必须导入Text.Read
。感谢leftaboutabout的提示。