Parametric polymorphism: Difference between revisions
Content added Content deleted
mNo edit summary |
(Add Mercury.) |
||
Line 535: | Line 535: | ||
} |
} |
||
}</lang> |
}</lang> |
||
=={{header|Mercury}}== |
|||
<lang mercury>:- type tree(A) ---> empty ; node(A, tree(A), tree(A)). |
|||
:- func map(func(A) = B, tree(A)) = tree(B). |
|||
map(_, empty) = empty. |
|||
map(F, node(A, Left, Right)) = node(F(A), map(F, Left), map(F, Right)).</lang> |
|||
=={{header|OCaml}}== |
=={{header|OCaml}}== |