123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #lang racket
- (define (genFig n)
- (let loop ((f '())
- (k 0))
- (if(< k n)
- (loop (cons (genRow n k) f)
- (+ k 1))
- f)))
- (define (genRow len pos)
- (let loop ((v '())
- (k 0))
- (if (< k len)
- (loop (cons (if(= pos k) 1 0) v)
- (+ k 1))
- v)))
- (define (iterate f v)
- (delay (cons v (iterate f (f v)))))
- (define (take n iter)
- (if (= n 0)
- '()
- (let ((v (force iter)))
- (cons (car v) (take (- n 1) (cdr v))))))
- (define (infinity)
- (+ 1 (infinity)))
- (define (fst x y) x)
- (define lazy-infinity (delay (infinity)))
- (force (fst 3 lazy-infinity))
- (delay (force infinity))
- (fst 10 lazy-infinity)
- (take 10 (iterate (lambda (x) (+ x 1)) 5))
- (define succession (iterate (lambda (x) (+ x 1)) 3))
- (print succession)
- (newline)
- (car (force (cdr (force (cdr (force succession))))))
- (define lista '(1 2))
- (print lista)
- (newline)
- (car lista)
- (abs (car (cdr lista)))
- (define (re-map f L cond?)
- (let loop ((res '())
- (cur L))
- (if (null? cur)
- res
- (let* ((k #f)
- (v (call/cc
- (lambda (cont)
- (set! k cont)
- (f (car cur))))))
- (if (cond? v)
- (cons k v)
- (loop (append res (list v))
- (cdr cur)))))))
- ;(define V (re-map (lambda (x) (+ x 1)) '(0 1 -4 3 -6 5) negative?))
- (define mini-lista (cons 1 2))
|