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:

http://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:

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

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

Waldemir.