15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
;; Mostly worked = puts out all combinations?
(define (process-itemlist-try1 curritemkey itemlist)
(let loop ((hed (car itemlist))
(tal (cdr itemlist)))
(if (null? tal)
(for-each (lambda (item)
(print "curritemkey: " (append curritemkey (list item))))
(cadr hed))
(begin
(for-each (lambda (item)
(process-itemlist (append curritemkey (list item)) tal))
(cadr hed))
(loop (car tal)(cdr tal))))))
|
|
|
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
;; Mostly worked = puts out all combinations?
(define (process-itemlist-try1 curritemkey itemlist)
(let loop ((hed (car itemlist))
(tal (cdr itemlist)))
(if (null? tal)
(for-each (lambda (item)
(debug:print 6 "curritemkey: " (append curritemkey (list item))))
(cadr hed))
(begin
(for-each (lambda (item)
(process-itemlist (append curritemkey (list item)) tal))
(cadr hed))
(loop (car tal)(cdr tal))))))
|
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
(for-each (lambda (row)
(let ((rowname (car row))
(rowdat (cadr row)))
(set! item (append item
(list
(if (< indx (length rowdat))
(let ((new (list rowname (list-ref rowdat indx))))
;; (print "New: " new)
(set! elflag #t)
new
) ;; i.e. had at least on legit value to use
(list rowname "-")))))))
newlst)
(if elflag
(begin
|
|
|
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
(for-each (lambda (row)
(let ((rowname (car row))
(rowdat (cadr row)))
(set! item (append item
(list
(if (< indx (length rowdat))
(let ((new (list rowname (list-ref rowdat indx))))
;; (debug:print 0 "New: " new)
(set! elflag #t)
new
) ;; i.e. had at least on legit value to use
(list rowname "-")))))))
newlst)
(if elflag
(begin
|