Haskel

Disponível somente no TrabalhosFeitos
  • Páginas : 10 (2277 palavras )
  • Download(s) : 0
  • Publicado : 4 de novembro de 2012
Ler documento completo
Amostra do texto
Haskell






Autores:

Ademir José de Carvalho Junior
Filipe César Silva de Andrade
Henrique Seabra Diniz
Rilter Tavares do Nascimento









Resumo:

Haskell é uma linguagem puramente funcional que possui uma semântica não-rígida, uma tipagem forte e estática, focada na simplicidade e clareza do código, o que facilita sua manutenção. Neste relatório sãoapresentadas informações relativas à sua história, é mostrada a sintaxe básica da linguagem, exemplos de utilizações, e um comparativo de vantagens e desvantagens do mesmo.








Introdução

Haskell é uma linguagem de programação, pertencente ao paradigma funcional, diferentemente da maioria das linguagens. Ela possui tipagem forte e estática, é baseada no lambda cálculo, cujo símbolo éusado como logo, e é a linguagem funcional sobre a qual mais se realizam pesquisas atualmente.


É uma linguagem recente, elaborada em 1987, derivada de outra linguagem funcional chamada Miranda.


Ela se baseia em um estilo de programação em que se enfatiza mais o que deve ser feito (what) em detrimento de como deve ser feito (how). É uma linguagem que possui foco na produtividade,clareza, e manutenibilidade de código, e que pode ser aplicada a uma variedade de aplicações.

História

A linguagem foi criada em 1987, por um comitê organizado em 1980, que possuía o objetivo de construir uma linguagem funcional com uma semântica não-rígida. O comitê desejava consolidar todas as linguagens existentes nessa área em uma única linguagem que serviria de base para estudosfuturos. Daí um dos motivos para Haskell ser uma linguagem bastante pesquisada. O nome da linguagem se deve à Haskell Brooks Curry, cujo trabalho em lógica matemática contribui para a formação de linguagens funcionais.


A primeira especificação da linguagem foi elaborada em 1990. Já ocorreram diversas revisões, que resultaram nas versões 1.0 à 1.4 dos Haskell Reports, que são especificaçõesda linguagem. A especificação mais atual é fo Report de 1998, mais conhecido como Haskell 98 Report, que já foi revisada em 2003.

A seguir encontra-se um timeline da história da linguagem:

[pic]
[pic]






Paradigma

O Paradigma da linguagem Haskell é o Paradigma Funcional. Este paradigma é bastante diferente do paradigma mais popular atualmente, o Imperativo. Nela nãoexistem atribuições (assignments), que é a principal característica do Paradigma Imperativo, que, segundo [4], é a principal causa de 90% dos bugs que ocorrem na maioria das situações. É um paradigma baseado em funções, funções estas que tomam um número qualquer de argumentos (possivelmente zero) e produz uma saída de acordo com estas entradas.


Funções podem ser definidas a partir de outrasfunções. Um programa desenvolvido nesse paradigma é, por si só, uma função, que toma como entrada os argumentos passados pelo usuário, e lhe retorna alguma saída, possivelmente utilizando-se de outras funções. Essa característica do paradigma enfatiza a modularização de aplicações, porém de um modo diferente do Paradigma Imperativo, que se restringe a regras de escopo e compilações separadas.Conceitualmente, um problema deveria ser dividido em sub-problemas, e suas sub-soluções rearrumadas para formar a solução do problema original. A modularização proposta pelo paradigma imperativo tende a se afastar dessa situação, enquanto o Funcional, tende a se aproximar, na medida em que sub-funções são desenvolvidas para resolverem os sub-problemas e seus resultados rearrumados para formar a soluçãodo problema inicial.


Não existe ordem pré-definida para execução das sub-funções dentro de uma função, isso é uma característica chamada Lazy Evaluation, que avalia o resultado de funções quando esse resultado for realmente necessário para uma outra função. Essa característica melhora a performance da aplicação, no sentido que não são realizados processamentos desnecessários, e evita...
tracking img