Guest User

Untitled

a guest
Oct 10th, 2017
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. (* times : int -> int -> int *)
  2. let times n = function m -> n * m
  3.  
  4. (* sum : (int -> int) -> (int * int) -> int *)
  5. (* sum f (lower,upper) = (f lower) + (f (lower+1)) + .... + (f upper) *)
  6. let rec sum f = function
  7. (lower,upper) -> if lower > upper then 0
  8. else f lower + sum f (lower +1,upper)
  9. (* or *)
  10. let rec sum f (lower,upper) =
  11. if lower > upper then 0
  12. else f lower + sum f (lower +1,upper)
  13.  
  14. (* sumbetween : int * int -> int *)
  15. (* sumbetween (n,m) = n + (n+1) + ... + m *)
  16. let rec sumbetween (n,m) =
  17. if n>m then 0 else n + sumbetween (n+1,m)
  18.  
  19. (* sumbetw : int -> int -> int *)
  20. (* sumbetw n m = sumbetween (n,m) *)
  21. let rec sumbetw n m =
  22. if n>m then 0 else n + sumbetw (n+1) m
  23.  
  24. (* comp : ('a -> 'b) -> ('c -> 'a) -> 'c -> 'b *)
  25. let comp f g = function x -> f (g x)
  26. (* or *)
  27. let comp f g x = f (g x)
Advertisement
Add Comment
Please, Sign In to add comment