home *** CD-ROM | disk | FTP | other *** search
- {Fibonnacci en itÄratif}
- {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
-
- (define (fi n n1 n2)
- (cond (zero? n) (+ n1 n2)
- (fi (1- n) n2 (+ n1 n2))))
-
- (define (fib n)(fi (- n 2) 1 1))
-
- {Fibonnacci en rÄcursif}
- {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
-
- (define (f n)
- (cond (<? n 2) 1
- (+ (f (1- n)) (f (- n 2)))))
-
-
- {Remove surfacique}
- {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
-
- (define (remove a l)
- (cond (null? l) ()
- (eq? a (0 l)) (remove a (-1 l))
- (cons (0 l) (remove a (-1 l)))))
-
- {Compter le nombre de faìons}
- {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
-
- (define (cat s c)
- (cond (null? c) 0
- (zero? s) 1
- (<? s (0 c)) (cat s (-1 c))
- (+ (cat s (-1 c))
- (cat (- s (0 c)) c))))
-
- {Reverse physique}
- {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
-
- (define (nreverse l)
- (nrevaux l '()))
-
- (define (nrevaux l p)
- (cond (null? (-1 l)) (cdr=! l p)
- (nrevaux (-1 l)(cdr=! l p))))
-
- {Composition de fonctions}
- {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
-
- (define (rond f g)
- (lambda x (f (apply g x))))
-
- {Le MAPCAR}
- {ÑÑÑÑÑÑÑÑÑ}
-
- (define (every p l)
- (cond (null? l) ()
- (null? (-1 l)) (p (0 l))
- (p (0 l))(every p (-1 l))))
-
- (define (any p l)
- (cond (null? l) ─
- (p (0 l))
- (any p (-1 l))))
-
- (define (mapcar f | l)
- (cond (every cons? l) (cons (apply f (allcar l))
- (apply mapcar (cons f (allcdr l))))
- ()))
-
- (define (mapcar1 f l)
- (cond (null? l)()
- (cons (f (0 l))
- (mapcar1 f (-1 l)))))
-
- {Les entiers naturels}
- {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
-
- (define n (╔ 0))
-
- {Les fibonacci}
- {ÑÑÑÑÑÑÑÑÑÑÑÑÑ}
-
- (define (fibn n1 n2) (cons n1 (fibn (+ n1 n2) n1)))
-
- (define fibn1 (cons 1 (cons 1 (map (░ +) fibn1 (-1 fibn1)))))
-
- {La suite bizarre}
- {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
-
- (define (entrelace l1 l2)
- (cons (0 l1) (cons (0 l2) (entrelace (-1 l1) (-1 l2)))))
-
- (define Bord (entrelace (╔ 0) Bord))
-
- {OpÄrations ensemble numÄriques ordonnÄs}
- {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
-
- (define (union l1 l2)
- (cond (<? (0 l1)(0 l2))(cons (0 l1) (union (-1 l1) l2))
- (=? (0 l1)(0 l2))(cons (0 l1)(union (-1 l1)(-1 l2)))
- (cons (0 l2) (union l1 (-1 l2)))))
-
- (define (inter l1 l2)
- (cond (<? (0 l1)(0 l2)) (inter (-1 l1) l2)
- (=? (0 l1)(0 l2))(cons (0 l1)(inter (-1 l1)(-1 l2)))
- (inter l1 (-1 l2))))
-
- (define (diff l1 l2)
- (cond (=? (0 l1)(0 l2)) (diff (-1 l1) l2)
- (<? (0 l1)(0 l2)) (cons (0 l1) (diff (-1 l1) l2))
- (diff l1 (-1 l2))))
-
- {flot de lecture}
- {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
-
- (define (in)(cons (read)(in)))
-
- (define input (in))
-
- {Factorielle CPS}
- {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
-
- (define (fact x k)
- (cond (zero? x)(k 1)
- (fact (- x 1)(lambda(n)(k (* x n))))))
-
- (define (id x) x)
-
- (define factl (cons 1 (map (░ *) (╔ 1) factl)))
-
- {Le crible d'ErathostÅne}
- {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
-
- (define (erat l)
- (cons (0 l)
- (erat (diff (-1 l)
- (map (░ *) (░ (0 l)) l)))))
-
- (define (erat l)
- (cons (0 l) (erat (suchas (lambda(x) (not (zero?(modulo x (0 l))))) (-1 l)))))
-
-
- {Le reverse Ní2 (pt fixe)}
- {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
-
- (define arg '(a b c d))
-
- (define rev (cons () (map (░ cons) arg rev)))
-
- {Hanoi}
- {ÑÑÑÑÑ}
-
- (define (hanoi n dep ar etap)
- (cond (=? n 1)(deplacer dep ar)
- (begin (hanoi (- n 1) dep etap ar)
- (deplacer dep ar)
- (hanoi (- n 1) etap ar dep))))
-
- (define (deplacer x y)
- (prin "de ")(prin x) (prin " vers ") (print y))
-
-
- {The paradoxical combinator}
- {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
-
- ;by Church Y0
- (define (Y0 g)
- ((lambda(x) (G (x x)))(lambda(x)(G (x x)))))
-
- {The fixed point for fixed point combinator}
- (define (G y)
- (lambda(f) (f (y f))))
-
- ;by Turing Y1=Y0 G
- (define Y1
- ((lambda(a)
- (lambda(b) (b ((a a) b)))) (lambda(a)
- (lambda(b) (b ((a a) b))))))
- ;un autre fpc dÄlirant par Klop
- (define ú
- (lambda(a)
- (lambda(b)
- (lambda(c)
- (lambda(d)
- (lambda(e)
- (lambda(f)
- (lambda(g)
- (lambda(h)
- (lambda(i)
- (lambda(j)
- (lambda(k)
- (lambda(l)
- (lambda(m)
- (lambda(n)
- (lambda(o)
- (lambda(p)
- (lambda(q)
- (lambda(s)
- (lambda(t)
- (lambda(u)
- (lambda(v)
- (lambda(w)
- (lambda(x)
- (lambda(y)
- (lambda(z)
- (lambda(r)
- (r((((((((((((((((((((((((((t h)i)s)i)s)a)f)i)x)e)d)p)o)i)n)t)c)o)m)b)i)n)a)t)o)r)))))))))))))))))))))))))))))
-
- (define $ (((((((((((((((((((((((((ú ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú))
-
- ;un autre fpc dÄlirant "ê la Klop" en VF
- (define ú
- (lambda(a)
- (lambda(b)
- (lambda(c)
- (lambda(e)
- (lambda(f)
- (lambda(g)
- (lambda(h)
- (lambda(i)
- (lambda(j)
- (lambda(k)
- (lambda(l)
- (lambda(m)
- (lambda(n)
- (lambda(o)
- (lambda(p)
- (lambda(q)
- (lambda(r)
- (lambda(s)
- (lambda(t)
- (lambda(u)
- (lambda(v)
- (lambda(w)
- (lambda(x)
- (lambda(y)
- (lambda(z)
- (lambda(d)
- (d((((((((((((((((((((((((((H e)l)p) E)s)t) T)e)r)r)i)b)l)e)m)e)n)t) F)l)e)m)m)a)r)d)))))))))))))))))))))))))))))
-
- (define $ (((((((((((((((((((((((((ú ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú)ú))
-
- ;la fonctionnelle associÄe ê factorielle
- (define (FF f)
- (lambda(x)
- (cond (zero? x) 1
- (* (f (1- x)) x))))
-
- {DÄcomposition en nombres premiers}
- {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
-
- (define (dec n l)
- (cond (=? n 1) ()
- (zero? (modulo n (0 l))) (cons (0 l) (dec (/ n (0 l)) l))
- (<? n (* (0 l)(0 l))) (list n)
- (dec n (-1 l))))
-
- {Un Quick Sort}
- {ÑÑÑÑÑÑÑÑÑÑÑÑÑ}
-
- (define (sortby f l)
- (cond (null? l) ()
- ((lambda(lr)
- (append (sortby f (0 lr))
- (append (list (0 l))
- (sortby f (-1 lr))))) (splitby f (-1 l) (0 l) '() '()))))
-
- (define (splitby f x part l r)
- (cond (null? x)(cons l r)
- (<? (f (0 x))(f part)) (splitby f (-1 x) part (cons (0 x) l) r)
- (splitby f (-1 x) part l (cons (0 x) r))))
-
- {Un prouveur arriÅre propositionnel}
- {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
-
- (define (p a b)
- (any (lambda(r)
- (if (eq? (0 r) a) (every (lambda(f) (p f b)) (-1 r))
- ─))
- b))
-
-