let hello = printf "Hello World" hello
F# (pronounced “F Sharp”) is
programming language for writing simple code to solve complex problems.
let hello x = printfn "Hello %s" x hello "world"
Introducing pipeline operator:
let hello x = printfn "Hello %s" x "World" |> hello
let square x = x * x let subtract x y = x - y
let ``complicated stuff`` x = printfn "%d" (add 5 (square x))
let ``another complicated stuff`` x = x |> square |> subtract 5 |> printfn "%d"
let equation x = x |> (fun y -> y * y ) |> (fun y z -> y - z ) 5 |> printfn "%d"
Note that F# uses indentation to indicate block structure. Find out more here.
The following example loads data from webpage and stores it in CSV file.
An F# type provider is a component that provides types, properties, and methods for use in your program.
The key to information-rich programming is to eliminate barriers to working with diverse information sources. One significant barrier to including a source of information into a program is the need to represent that information as types, properties, and methods for use in a programming language environment.
Writing these types manually is very time-consuming and difficult to maintain. A common alternative is to use a code generator which adds files to your project; however, the conventional types of code generation do not integrate well into exploratory modes of programming supported by F# because the generated code must be replaced each time a service reference is adjusted.