Advanced Functional Prog.

back - up - next


Course 4 - Summary

  1. Only 7 keywords: fun, let_rec, match_with, type_of

3rd stack function:

let rec mergeStack s1 s2 = 
  match s1,s2 with
  | NewStack     ,NewStack      -> NewStack
  | Push (v1,s1'),Push (v2,s2') -> Push (v1+v2,mergeStack s1' s2');;

mergeStack s s;;

Generalization (map2):

let rec map2Stack o s1 s2 = 
  match s1,s2 with
  | NewStack     ,NewStack      -> NewStack
  | Push (v1,s1'),Push (v2,s2') -> Push (o v1 v2,map2Stack o s1' s2');;

map2Stack (+) s s;;
map2Stack (fun x y->(x,y)) s s;;

7