aboutsummaryrefslogtreecommitdiff
path: root/Semestr 2/racket/l9z16/solution.rkt
diff options
context:
space:
mode:
Diffstat (limited to 'Semestr 2/racket/l9z16/solution.rkt')
-rw-r--r--Semestr 2/racket/l9z16/solution.rkt42
1 files changed, 0 insertions, 42 deletions
diff --git a/Semestr 2/racket/l9z16/solution.rkt b/Semestr 2/racket/l9z16/solution.rkt
deleted file mode 100644
index 0af169d..0000000
--- a/Semestr 2/racket/l9z16/solution.rkt
+++ /dev/null
@@ -1,42 +0,0 @@
-#lang racket
-
-(provide lcons lnull lnull? lcar lcdr)
-
-
-(define (lcons x f) (mcons x f))
-
-(define lnull null)
-
-(define lnull? null?)
-
-(define (lcar xs) (mcar xs))
-
-(define (lcdr xs)
- (let ([x (mcdr xs)])
- (cond [(not (mpair? x)) (set-mcdr! xs (x))]))
- (mcdr xs))
-
-(define (from n)
- (lcons n (lambda () (from (+ n 1)))))
-
-(define nats
- (from 0))
-
-(define (lnth n xs)
- (cond [(= n 0) (lcar xs)]
- [else (lnth (- n 1) (lcdr xs))]))
-
-(define (lfilter p xs)
- (cond [(lnull? xs) lnull]
- [(p (lcar xs))
- (lcons (lcar xs) (lambda () (lfilter p (lcdr xs))))]
- [else (lfilter p (lcdr xs))]))
-
-(define (prime? n)
- (define (factors i)
- (cond [(>= i n) (list n)]
- [(= (modulo n i) 0) (cons i (factors (+ i 1)))]
- [else (factors (+ i 1))]))
- (= (length (factors 1)) 2))
-
-(define primes (lfilter prime? (from 2))) \ No newline at end of file