;(trace true)
-(define (rang x L)
- (if (boolmemrec x L)
+(define (rang E L)
+ (if (boolmemrec E L)
(cond
- ((= x (first L)) 0)
- ((+ 1 (rang x (rest L)))))
+ ((= E (first L)) 0)
+ ((+ 1 (rang E (rest L)))))
nil))
(println "rang/find")
(println (rang 4 L))
;(trace nil)
-(define (tete n L)
+(define (tete N L)
(cond
((null? L) '())
- ((= n 0) '())
- ((cons (first L) (tete (- n 1) (rest L))))))
+ ((= N 0) '())
+ ((cons (first L) (tete (- N 1) (rest L))))))
(println "tete/slice")
(println (tete 3 L))
(println (slice L 0 3))
(println (reverseL L))
(println (reverse L))
-(define (list< n L)
+(define (list< N L)
(cond
((null? L) '())
- ((>= (first L) n) (list< n (rest L)))
- ((cons (first L) (list< n (rest L))))))
+ ((>= (first L) N) (list< N (rest L)))
+ ((cons (first L) (list< N (rest L))))))
(println "list<")
(println (list< 5 L))
(println (list< 5 C))
-(define (list>= n L)
+(define (list>= N L)
(cond
((null? L) '())
- ((< (first L) n) (list>= n (rest L)))
- ((cons (first L) (list>= n (rest L))))))
+ ((< (first L) N) (list>= N (rest L)))
+ ((cons (first L) (list>= N (rest L))))))
(println "list>=")
(println (list>= 5 C))
(setq L1 '(A ? ? B C D ?))
(setq L2 '(? A B ? C ? ? D))
-(define (removeC c L)
+(define (removeC C L)
(cond
((null? L) '())
- ((= c (first L))) (removeC c (rest L))
- (((cons (first L) (removeC c (rest L)))))))
+ ((= C (first L))) (removeC C (rest L))
+ (((cons (first L) (removeC C (rest L)))))))
+(println "removeC")
(println (removeC A L1))
+;escape character in newLISP?
+(println (removeC \? L1))
(define (filtre L1 L2 C)
(cond
((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")
;(println (filtre L1 L2 ?))
(exit)