code_junkie

Explaining pattern matching vs switch

Nov 11th, 2011
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.33 KB | None | 0 0
  1. type expr =
  2. | Int of int
  3. | Var of string
  4. | Add of expr * expr
  5. | Mul of expr * expr;;
  6.  
  7. let rec d(f, x) =
  8. match f with
  9. | Var y when x=y -> Int 1
  10. | Int _ | Var _ -> Int 0
  11. | Add(f, g) -> Add(d(f, x), d(g, x))
  12. | Mul(f, g) -> Add(Mul(f, d(g, x)), Mul(g, d(f, x)));;
  13.  
  14. (f * g) . (h * k) = (f . h * g . k)
Add Comment
Please, Sign In to add comment