F# := Uma nova linguagem funcional.

Olá pessoal, tudo certo?

Apenas para sair um pouco do tema SOA, WEB 2.0 e SAAS, um post no estilo Otávio :)

Recentemente, a Microsoft anunciou uma nova linguagem de desenvolvimento, a F# - uma linguagem funcional e orientada a objetos, como resultado do time da Research. Quem anunciou foi o conhecido Somasegar, em seu blog:

https://blogs.msdn.com/somasegar/archive/2007/10/17/f-a-functional-programming-language.aspx

Uma linguagem funcional tem grandes recursos para problemas acadêmicos, como modelagens matemáticas, cálculos de funções e equações, modelagem 2D e 3D, etc.

Veja um exemplo interessante. Dada as definições a seguir:

f(x) := x^2+x+1
g(x, y) := x+y

A função:

f(g(1, 4))

Teria como resultado:

f(g(1, 4)) -> f(1+4) -> f(5) -> 5^2+5+1 -> 31

Ainda outro exemplo em F#, teríamos estruturas programadas como esta:

#light
(* Fibonacci Number formula *)
let rec fib n =
match n with
| 0 -> 0
| 1 | 2 -> 1
| n -> (fib (n - 1)) + (fib (n - 2))

(* Print even fibs *)
[1 .. 10]
|> List.map (fun n -> fib n)
|> List.filter (fun n -> (n mod 2) = 0)
|> printlist

(* Same thing, using Comprehension syntax *)
[ for i in 1..10 do
let r = fib i
if r % 2 = 0 then yield r ]
|> printlist

O código acima implementa o cálculo da sequência de Fibonacci.

Para quem ficou interessado, vale o link:

https://research.microsoft.com/fsharp/fsharp.aspx

Por enquanto é só. Até o próximo post! :)

Waldemir.