Upload
payton
View
40
Download
2
Embed Size (px)
DESCRIPTION
Universidade Federal de Mato Grosso Campus Universitário do Araguaia Instituto de Ciências Exatas e da Terra Bacharelado em Ciência da Computação Paradigmas de Linguagens de Programação. Fundamentos de HaskelL. Acabias, Andressa, Gracyeli, Juliana, Juliano e Layo Barra do Garças, MT - PowerPoint PPT Presentation
Citation preview
Universidade Federal de Mato GrossoCampus Universitário do Araguaia
Instituto de Ciências Exatas e da TerraBacharelado em Ciência da Computação
Paradigmas de Linguagens de Programação
Acabias, Andressa, Gracyeli, Juliana, Juliano e Layo
Barra do Garças, MTJunho de 2010
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
O QUE É AVALIAÇÃO DE EXPRESSÃO?
É quando o interpretador tenta “resolver a conta”. A expressão é analisada em todos os aspectos e depois os parâmetros reais são usados para produzir um retorno/resultado da conta.
dobro x = xdobro x = x^2^2
dobro dobro 55
Exemplo de expressão em Haskell
Parâmetro formalParâmetro formal
Parâmetro realParâmetro real
ExpressãoExpressão
Definição da Definição da FunçãoFunção
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
module Fatorial wherefatorial :: Integer -> Integerfatorial 0 = 1fatorial n | n > 0 = n * fatorial (n-1)
Exemplo em Haskell de Fatorial
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
Em resumo, a avaliação preguiçosa é uma técnica de Em resumo, a avaliação preguiçosa é uma técnica de otimização usada em programação funcional para otimização usada em programação funcional para
atrasar a computação até um ponto em que o resultado atrasar a computação até um ponto em que o resultado da computação é considerado suficiente.da computação é considerado suficiente.
Mas o que é Avaliação Mas o que é Avaliação Preguiçosa?Preguiçosa?
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
f(x) = 7f((21+33)*8) = 7
O interpretador nem verificará ou calculará o parâmetro real, já que independente da entrada, o resultado é sempre 7.
Exemplo de avaliação preguiçosa em Haskell
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
Então é isso, Haskell além de simples ainda Então é isso, Haskell além de simples ainda evita problemas. Por que então a gente ainda evita problemas. Por que então a gente ainda
usa usa CC??
Porque Haskell não é tão adequada na programação de Porque Haskell não é tão adequada na programação de sistemas operacionais e drivers. sistemas operacionais e drivers.
Nas Nas linguagens imperativaslinguagens imperativas, como C,, como C, é comum a é comum a Programação Orientada a Improvisos Técnicos (POIT) Programação Orientada a Improvisos Técnicos (POIT)
para conseguir maior performance em uma determinada para conseguir maior performance em uma determinada ocasião, o que não ocorre em Haskell.ocasião, o que não ocorre em Haskell.
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
Logo do HaskellLogo do Haskell
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
Versões do Hugs estão disponíveis para Versões do Hugs estão disponíveis para diversas plataformas, incluindo Windows, diversas plataformas, incluindo Windows, Unix, Mac OS X e Linux.Unix, Mac OS X e Linux.
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
Essa função (também conhecida como definição) nos diz que x só fará parte de par se o mod (uma função primitiva do tipo Inteiro que retorna o resto da divisão) de x por 2 for igual a zero.
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
Fundamentos de HaskellFundamentos de Haskell Junho 2010 Junho 2010
““Faça o que puder e espere pelo melhor.”Faça o que puder e espere pelo melhor.”