Haskell

Published on January 2017 | Categories: Documents | Downloads: 35 | Comments: 0 | Views: 280
of 2
Download PDF   Embed   Report

Comments

Content

Haskell é uma linguagem de programação puramente funcional, de propósito geral, nomeada em homenagem ao lógico Haskell Curry. Como uma linguagem funcional, a estrutura de controle primária é a função; a linguagem é baseada nas observações de Haskell Curry 2 3 e s us descendentes intelectuais.4 5 Seu último padrão semi-oficial é o Haskell 98, destin ado a especificar uma versão mínima e portável da linguagem para o ensino e como base para futuras extensões. Índice [esconder] 1 História 2 Características 2.1 Sintaxe 2.2 Listas 2.3 Tipos de dado 2.4 Operadores 3 Aplicações 4 Exemplos 5 Implementações 6 Leitura adicional 7 Referências 8 Referências bibliográficas 9 Ver também 10 Ligações externas História[editar | editar código-fonte]

O conceito de avaliação preguiçosa já estava difundido no meio acadêmico desde o final da década de 1970. Esforços nessa área incluíam técnicas de redução de grafo e a possibilidade d uma mudança radical na arquitetura de von Neumann.6 Após o lançamento de Miranda em 1 985, diversas outras linguagens funcionais de semântica não rígida proliferaram, como Lazy ML, Orwell, Alfl, Id, Clean, Ponder e Daisy (um dialeto de Lisp). Mesmo após dois anos, Miranda ainda era a mais usada, mas não estava em domínio público. Em setembro 1987 foi realizada uma conferência Functional Programming Languages an d Computer Architecture (FPCA '87), em Oregon, o consenso foi a criação de um comitê c om o objetivo de construir um padrão aberto para tais linguagens.7 Isso consolidar ia as linguagens existentes, servindo como base para pesquisas futuras no desenv olvimento de linguagens.8 A primeira reunião do comitê foi realizada em janeiro de 1 988, e algumas das metas da linguagem foram discutidas. A linguagem deveria ser de fácil ensino, deveria ser completamente descrita através de uma sintaxe e semântica formal, deveria estar disponível livremente. A primeira versão de Haskell foi definida em 1 de abril de 1990.9 Seguiu-se a versão 1.1 em agosto de ano seguinte, a versão 1.2 em março de 1992, a versão 1.3 em maio de 1996 e a versão 1.4 em abril de 1997.10 Esforços posteriores culminaram no Haskell 98, publicado em janeiro de 1999 e que especifica uma versão mínima, estável e portável da linguagem e a biblioteca para ensino. Esse padrão sofreu uma revisão em janeiro d e 2003.11 A linguagem continua evoluindo, sendo as implementações Hugs e GHC consideradas os p adrões de facto. A partir de 2006 começou o processo de definição de um sucessor do padrão 98, conhecido informalmente por Haskell' ("Haskell Prime").12 Características[editar | editar código-fonte]

Características do Haskell incluem o suporte a funções recursivas e tipos de dados, ca samento de padrões, list comprehensions, guard statements e avaliação preguiçosa, esta, um elo em comum entre os diversos grupos de desenvolvimento da linguagem.13 A co mbinação destas características pode fazer com que a construção de funções que seriam complex s em uma linguagem procedimental de programação tornem-se uma tarefa quase trivial e m Haskell. Segundo dados de 2002, é a linguagem funcional sobre a qual mais pesqui sa está sendo realizada. Muitas variantes tem sido desenvolvidas: versões paralelizáve is do MIT e Glasgow, ambas chamadas Parallel Haskell, outras versões paralelas e d istribuídas chamadas Distributed Haskell (anteriormente Goffin) e Eden, uma versão c hamada Eager Haskell e várias versões orientadas a objetos: Haskell++, O'Haskell e M ondrian. Uma versão educacional do Haskell chamada Gofer foi desenvolvida por Mark Jones. E

la é oferecida pelo HUGS. Existe também uma versão do Haskell que permite orientação a asp ectos (POA), chamada AspectH. Sintaxe

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close