31.7.05

Programming in Haskell

Um livro introdutório sobre a linguagem de programação Haskell - uma linguagem "puramente funcional de propósito geral". Além de um preview do livro, o site disponibiliza também slideshows (powerpoint) de cada um dos capítulos do livro. Um "kickstart" interessante para quem não conhece nada da linguagem.
O próprio site do haskell (da haskell??) tem uma boa quantidade de manterial interessanste, inclusive aplicações desenvolvidas na linguagem. O site também tenta desmistificar algumas idéias sobre a programação funcional e faz comparações com o modelo procedural/imperativo.

E pra quem simplesmente não acredita em programação "puramente funcional", apresentamos a O'Haskell!! :D

f [] = []
f (x:xs) = f ys ++ [x] ++ f zs
where
ys = [a | a  xs, a  x]
zs = [b | b  xs, b > x]

2 comentários:

Andrei Formiga disse...

Acredito que até agora Haskell tem duas aplicações reais que são utilizadas: Pugs, a única implementação de Perl6 que funciona, depois do time oficial gastar mais de 5 anos e não fazer nada; e darcs, o sistema de controle de versão mais inovador que surgiu nos últimos tempos.

Outra aplicação muito interessante é o Parsec, biblioteca para combinadores de parsers; quem já trabalhou com lex/yacc ou flex/bison vai se sentir no paraíso se tentar fazer um parser no Parsec.

E é interessante também ver as bibliotecas que usam "reatividade funcional" como Pam, Yampa, Fran e outras. Os exemplos de reatividade funcional são de impressionar; um que eu lembro é um jogo de pong/arkanoid completo escrito em 17 linhas que tem no livro "The Haskell School of Expression", de Paul Hudak.

Andrei Formiga disse...

Ah, e não faltou dizer que esse exemplo de 5 linhas é quicksort em Haskell ? :)