Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (define (mymap p s)
- (cond [(procedure? s) (mymap p (s))]
- [#t (cons (p (car s))
- (lambda() (mymap (cdr s))))]))
- (define (addstream s1 s2)
- (cond [(procedure? s1) (addstream (s1) s2)]
- [(procedure? s2) (prodstream s1 (s2))]
- [#t (cons (+ (car s1)(car s2))
- (lambda () (addstream (cdr s1) (cdr s2))))]))
- (define (prodstream s1 s2)
- (cond [(procedure? s1) (prodstream (s1) s2)]
- [(procedure? s2) (prodstream s1 (s2))]
- [#t
- (define a0 (car s1))
- (define b0 (car s2))
- (define (f x) (* x a0))
- (define (g x) (* x b0))
- (addstream
- (cons (* a0 b0) (mymap f(cdr s2)))
- (addstream
- (cons 0(mymap g (cdr s1)))
- (cons 0 (cons 0
- (prodstream(cdr s1) (cdr s2))))))]))
- ; application of recursive
- ; Operations on list and matrices
- ;Problem 1 myreverse
- ; 1). Define (reverse lst) recursevely
- ; >(reverse '(1 2 3))
- ; '(3 2 1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement