dc.contributor | Luís de Medeiros Santos, Andre | |
dc.creator | Kely de Melo Oliveira, Guilherme | |
dc.date | 2014-06-12T15:57:39Z | |
dc.date | 2014-06-12T15:57:39Z | |
dc.date | 2010-01-31 | |
dc.identifier | 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. | |
dc.identifier | https://repositorio.ufpe.br/handle/123456789/2389 | |
dc.description | 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 | |
dc.description | Coordenação de Aperfeiçoamento de Pessoal de Nível Superior | |
dc.format | application/pdf | |
dc.language | por | |
dc.publisher | Universidade Federal de Pernambuco | |
dc.subject | Compiladores | |
dc.subject | Haskell | |
dc.subject | GHC | |
dc.subject | F# | |
dc.subject | Plataforma .NET | |
dc.subject | Linguagens funcionais | |
dc.title | Compilando Haskell para .NET via F# | |
dc.type | masterThesis | |