Advertisement
Guest User

Untitled

a guest
Sep 19th, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.07 KB | None | 0 0
  1. (define (my-range a b d)
  2. (if (< a b)
  3. (cons a (my-range (+ a d) b d))
  4. '()))
  5.  
  6. (define (my-flatten xs)
  7. (if (not (null? xs))
  8. (if (pair? (car xs))
  9. (append (my-flatten (car xs)) (my-flatten (cdr xs)))
  10. (cons (car xs) (my-flatten (cdr xs))))
  11. '()))
  12.  
  13. (define (my-element? x xs)
  14. (if (not (null? xs))
  15. (if (equal? x (car xs))
  16. (equal? x (car xs))
  17. (my-element? x (cdr xs)))
  18. (not (null? xs))))
  19.  
  20. (define (my-filter pred? xs)
  21. (if (null? xs)
  22. '()
  23. (if (pred? (car xs))
  24. (cons (car xs) (my-filter pred? (cdr xs)))
  25. (my-filter pred? (cdr xs)))))
  26.  
  27. (define (my-fold-left op xs)
  28. (let ((start (car xs)))
  29. (if (null? (cdr xs))
  30. start
  31. (my-fold-left op (cons (op start (car (cdr xs))) (cdr (cdr xs)))))))
  32.  
  33. (define (m-f-right op xs)
  34. (let ((start (car xs)))
  35. (if (null? (cdr xs))
  36. start
  37. (m-f-right op (cons (op (car (cdr xs)) start) (cdr (cdr xs)))))))
  38.  
  39.  
  40. (define (my-fold-right op xs)
  41. (m-f-right op (reverse xs)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement