(println "list>=")
(println (list>= 5 C))
+;(trace true)
+
+(define (qsort L)
+ (cond
+ ((null? L) '())
+ ((append
+ ;the pivot is the first element of the list
+ (qsort (list< (first L) (rest L)))
+ (cons (first L) '())
+ (qsort (list>= (first L) (rest L)))))))
+(println "qsort")
+(println (qsort C))
+
+;(trace nil)
+
+;we suppose both lists are flat
+(setq L1 '(A ? ? B C D ?))
+(setq L2 '(? A B ? C ? ? D))
+
+(define (removeC c L)
+ (cond
+ ((null? L) '())
+ ((= c (first L))) (removeC c (rest L))
+ (((cons (first L) (removeC c (rest L)))))))
+(println (removeC A L1))
+
+(define (filtre L1 L2 C)
+ (cond
+ ((and (null? L1) (null? L2)) true)
+ ((and (not (null? L1)) (null? L2)) nil)
+ ((and (null? L1) (not (null? L2))) nil)
+ ((and (inclu L1 L2) (inclu L2 L1) true))))
+;(println "filtre")
+;(println (filtre L1 L2 ?))
+
(exit)