Haskell がどのように評価sep [1, 2, 3, 4, 5]
して([1, 3], [2, 4, 5])
どこに到達するかを理解しようとしています:
sep [ ] = ([ ], [ ])
sep [x] = ([ ], [x])
sep (x1:x2:xs) = let (is, ps) = sep xs in (x1:is, x2:ps)
私はこのように始めます:
sep [1, 2, 3, 4, 5] = let (is, ps) = sep [3, 4, 5] in (1:is, 2:ps)
しかしその後?