我正在尝试使用parsec,所以我做了以下简单的解析器,它接受输入直到逗号:
import Text.Parsec
import Text.Parsec.Text
noComma :: GenParser st [Char]
noComma = many (noneOf ",")
我的理解是[Char]
是解析器“返回”的类型。但是,我正在使用Text
,因为我不想生成中间[Char]
列表。所以我希望解析器具有类型:
noComma :: GenParser st Text
但我不知道如何实现这一目标,除了重新包装似乎有点愚蠢的[Char]
。