Is there a version of fold where the lambda is passed a copy of the list as well as the index position of the current item?
Or is that better done as a general recursive function?
(basically the reduce from JS)
@slack1 for the index of the list, you can use sequence-fold or for/fold with in-indexed. for the copy of the list part… I’m not sure why you would want that, since the list will be in scope where you call foldl, since lambdas are closures.
so if your list is called lst, you can just write (foldl (lambda (x acc) #\| lst is in-scope in here \|#) init lst)
ah I see, thanks!
my motivation was a compare-multiple-sequential-items problem
you probably don’t want to use the index for that. lists are not random-access, so getting an element by index is O(n)
maybe it would make sense to use some sort of sliding window sequence instead?
oh I see, vector has no fold equivilent
you could use in-vector with for/fold or sequence-fold
ah thanks for the directions
looking into them slowly…