Advertisement
Guest User

Untitled

a guest
Nov 6th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scheme 0.76 KB | None | 0 0
  1. (define head car)
  2. (define tail cdr)
  3.  
  4. (define (accumulate op nv a b term next)
  5.   (if (> a b)
  6.       nv
  7.       (op (term a)
  8. (accumulate op nv (next a) b term next))))
  9.  
  10. (define (length* lst)
  11.   (foldr (lambda (el result) (+ 1 result)) 0 lst))
  12.  
  13. (define (reverse* lst)
  14.   (foldr (lambda (el result) (append result (list el))) '() lst))
  15.  
  16. (define (map* f lst)
  17.   (foldr (lambda (el result) (cons (f el) result)) '() lst))
  18.  
  19. (define (filter* p? lst)
  20.   (foldr (lambda (el result) (if (p? el)
  21.                                  (cons el result)
  22.                                  result))
  23. '() lst))
  24.  
  25. (
  26. define
  27. (foldr op nv l)
  28. (
  29. if
  30. (null? l) nv
  31. (op (car l) (foldr op nv (cdr l)))))
  32.  
  33. (
  34. define
  35. (foldl op nv l)
  36. (
  37. if
  38. (null? l) nv
  39. (foldl op (op nv (car l)) (cdr l))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement