Expressões Lambdas e Frameworks
Acabei de ler, com muito prazer, (e recomendo muito!) uma série de posts do Brian McNamara, que hoje trabalha no time do F#. Ele constrói ao longo de vários blogs alguns parsers usando a notação lambda do C#. É um exemplo fantástico do poder das linguagens funcionais e da cultura de reuso impregnada nesta comunidade que utiliza este estilo de programar. Comece com este post e, se possível, vá até o sétimo da série. Ao final, compare com a versão em F# neste post.
O que você ganha? No mínimo um maior entendimento das funções lambdas - o que pode ser importante na criação de bibliotecas e frameworks.
Descobri seu blog fazendo search sobre monodas e monoids depois de assistir no Channel 9 uma conversa com Brian Beckman. A entrevista do Brian é longa e nem sempre esclarecedora, mas o código e a documentação que a acompanham valem à pena. O Brian sempre está falando da importância deste conceito para a composição de programas e do como ele foi importante na concepção do Linq. Parece que aí existe um excelente veio para ser explorado.
Por fim, gostaria de fazer um link com meu post passado sobre frameworks...
O exemplo do McNamara começa definindo uma gramática para expressões numéricas e mostra, em seguida, o como ela pode ser definida de maneira simples com a sua biblioteca. O valor da biblioteca está exatamente aí: na simplicidade dada ao usuário final para criar parsers com uma sintaxe simples. Monodas, programação funcional, etc. são meras tecnicidades para chegar nesta simplicidade.
Outro ponto que vale a pena comentar: a solução cria uma linguagem específica para este domínio. Não seria este o auge que um framework pode alcançar?