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:


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.

Comments (0)