- ordered-subset-fold cons nil listprocedure
- ordered-subset-fold cons nil list kprocedure
Recombine every k-permutation (partial ordered subset) of list, starting with a base-case nil, and calling cons with 1. a permutation and 2. the accumulated value.
- cons
- The combining function
- nil
- The base case
- list
- The list to recombine
- k
- k distinct elements (default: n)
(define ordered-subset-fold (case-lambda ((cons nil list) (ordered-subset-fold cons nil list (length list))) ((cons nil list k) (let ((nil (make-parameter nil))) (ordered-subset-for-each (lambda (subset) (nil (cons subset (nil)))) list k) (nil)))))