commit 7f6c05e
chld
·
2026-08-15 17:07:37 +0000 UTC
parent 13f7dc6
it sorts baby
M
test.scm
+1,
-8
1@@ -16,14 +16,7 @@
2 (display m-list)
3 (newline)(newline)
4
5-(do ((o 0 (+ o 1)))
6- ((>= o (length m-list)))
7- (let ((rule (list-ref m-list o)))
8- (do ((p 0 (+ p 1)))
9- ((>= p (length (list-ref rule 1))))
10- (format #t "~a needs ~a\n"
11- (list-ref rule 0)
12- (list-ref (list-ref rule 1) p)))))
13+(list-sort "x" m-list)
14
15 ;; (display (list-ref (list-ref (list-ref m-list 0) 1) 0))
16
M
util.scm
+6,
-1
1@@ -1,7 +1,7 @@
2 (define-module (util)
3 #:use-module (ice-9 popen)
4 #:use-module (ice-9 rdelim)
5- #:export (file-read line-parse)
6+ #:export (file-read line-parse list-sort)
7 )
8
9 (define (file-read f)
10@@ -18,3 +18,8 @@
11 '()
12 (string-split ds #\space))))
13 (list t d)))
14+
15+(define (list-sort t l)
16+ (let ((ds (cadr (assoc t l))))
17+ (for-each (lambda (dep) (list-sort dep l)) ds)
18+ (format #t "~a\n" t)))