commit 7f6c05e

chld  ·  2026-08-15 17:07:37 +0000 UTC
parent 13f7dc6
it sorts baby
2 files changed,  +7, -9
+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 
+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)))