import Data.Attoparsec.Text.Lazy
import Data.Text.Lazy.Internal (Text)
import Data.Text.Lazy (pack)
data List a = Nil | Cons a (List a)
list :: Text
list = pack $ unlines
[ "0"
, "1"
, "2"
, "5"
]
遞歸數據如何List Int
解析器coud實現解析從list
Cons 0 (Cons 1 (Cons 2 (Cons 5 Nil)))
?解析用秒差距
ps:純解析器不解析[Int]
並將其轉換爲List Int
是優選的。
這是可編譯的,甚至typecheckable? –
哎呀,對不起。我將解析器重命名爲與kosmikus答案中的名稱相同,但忘記了在where子句中這樣做。編輯爲可編輯。 – bzn
按照要求,這實際上是一個遞歸解析器。 – jekor