我正在使用Data.Sequence列表来获得更好的性能.使用列表,我们可以执行以下操作
foo :: [Int] -> Int
foo [] m = m
foo (x:xs) m = ...
Run Code Online (Sandbox Code Playgroud)
如何实现这一目标Data.Sequence.我尝试过以下方法:
foo:: S.Seq Int -> Int
foo S.empty m = m
foo (x S.<: xs) m = ...
Run Code Online (Sandbox Code Playgroud)
我认为解决方案涉及使用S.viewl和S.viewr,但似乎无法弄清楚如何.
haskell abstract-data-type pattern-matching pattern-synonyms