masterThesis
Compilando Haskell para .NET via F#
Registro en:
Kely de Melo Oliveira, Guilherme; Luís de Medeiros Santos, Andre. Compilando Haskell para .NET via F#. 2010. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2010.
Autor
Kely de Melo Oliveira, Guilherme
Institución
Resumen
Diferentes linguagens de programação disponibilizam diferentes formas de se implementar
uma funcionalidade. Por exemplo, acessar um banco de dados usando C++ ou Python
podem ser duas tarefas completamente diferentes. Por outro lado, com o surgimento
da Plataforma .NET o acesso a dados com C++ .NET ou IronPython, por exemplo, se
tornaram atividades muito parecidas tendo apenas algumas diferenças sintáticas.
A Plataforma .NET é distribuída com um conjunto padrão de compiladores para
diferentes linguagens como C#, Visual Basic .NET, JScript e J#, todas são orientadas
a objetos. Com isso podemos notar uma maior atenção comercial dada ao paradigma
de orientação a objetos. No entanto, esse dado não significa que devamos concluir que
outros paradigmas não possam ser suportados, pelo contrário e a criação da linguagem
F# é um exemplo de que a Plataforma .NET pode dar suporte a diversos paradigmas.
Haskell é uma linguagem puramente funcional, não-estrita e fortemente tipada. E por
ser uma linguagem de alto poder de expressão e não permitir efeitos colaterais durante
sua execução, um programa escrito em Haskell se torna mais fácil de testar, otimizar e
paralelizar. No entanto há um grande vazio quando tocamos na questão de ferramentas e
APIs para Haskell.
Devido ao fato de desenvolvedores usarem uma grande gama de ferramentas e tecnologias,
cada qual com diferentes funcionalidades e tipos, tem sido historicamente
difícil garantir a interoperabilidade entre as linguagens. No entanto, os compiladores e
ferramentas que tem como alvo máquinas virtuais como a Plataforma .NET tiram proveito
do suporte a interoperabilidade entre linguagens inerente a esses tipos de sistemas.
O presente trabalho propõe um novo esquema de compilação de Haskell para a
Plataforma .NET utilizando F# como linguagem intermediária. Tal abordagem nos livra
dos inúmeros problemas que a geração de código diretamente para MSIL pode trazer,
possibilitando irmos um pouco mais além na questão da interoperabilidade Coordenação de Aperfeiçoamento de Pessoal de Nível Superior