所谓不边折叠,我指的是对结合算子的一个假设的本原折叠运算,它不能保证任何顺序。也就是说,(fold + 0 [a b c d])可以是(+ (+ a b) (+ c d)),也可以是(+ (+ (+ a b) c) d)。考虑到这个操作是可融合的、高度可分解的和通用的,我考虑将它与map和concat一起作为我的非递归极简语言的唯一列表原语。我已经成功地用它实现了大多数list函数,但没有实现foldl/foldr本身。有可能吗?
那么,对于两个独立的代码片段,为什么增量器/减量器的行为不同呢?i=7; j=8; k=9; printf("%d %d %d", i, j, k);0片段B:printf("T minus %d and counting\n",i--);T minus 5 and countingT minus 3 and