F# is basically an OCaml clone. I wonder why it isn't called NCaml or something like that.
F# lacks some functional programming features the powerful macro system used for creating domain specific languages and extending the ocaml language.
F# computation expressions, coupled with .NET expression trees are quite useful though, even though they aren't macros as such.