The let statement just binds a name to a value. It's also used in ML, OCaml and Haskell and serves the same purpose. It shouldn't be confused with how it was used in VB. As for F# being a functional language it certainly is, in the same way ML and OCaml are. These languages are strict and impure, being immutable by default but allowing mutability on an as needed basis. Haskell is an example of a pure and lazy functional language. The main advantage of strict, impure functional languages like F# is their practicality and the ease in which they can interop with existing libraries. F# is a functional first multi-paradigm language supporting functional, imperative and object-oriented programming.
After reading your post I'm reminded of a line from Adam Sandler's "Billy Madison" from the principal:
"Mr. Madison, what you've just said is one of the most insanely idiotic things I have ever heard. At no point in your rambling, incoherent response were you even close to anything that could be considered a rational thought. Everyone in this room is now dumber for having listened to it. I award you no points, and may God have mercy on your soul."
Keep Up with TechRepublic