Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Linguagem Haskell, Notas de estudo de Informática

Linguagem Haskell

Tipologia: Notas de estudo

2013

Compartilhado em 01/10/2013

alessandro-rezende-12
alessandro-rezende-12 🇧🇷

4.5

(2)

15 documentos

1 / 56

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Linguagem Haskell
Edmilson Almeida
Italo Solto
Thiago Gondim
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38

Pré-visualização parcial do texto

Baixe Linguagem Haskell e outras Notas de estudo em PDF para Informática, somente na Docsity!

Linguagem Haskell

Edmilson Almeida

Italo Solto

Thiago Gondim

INTRODUÇÃO

Compilador/Interpretador:

 Uma particularidade da linguagem é a

presença de um compilador e um

interpretador. Ambos utilizam-se de um editor

externo, sendo que o primeiro gera um

executável para a plataforma utilizada e o

segundo realiza o trabalho de interpretação

do código inserido.

Compilador/Interpretador:

 GHC é um exemplo de compilador

 GHCI, e Hugs são exemplos de

interpretadores

Valores e Tipos

Tipos Primitivos:

 Haskell possui os seguintes tipos básicos:

• Tipo Unitário( = 1): O tipo unitário, Unit, é a implementação do conjunto 1

• Tipo Lógico: Bool;

• Tipo Caracter: Char;

• Tipos Numéricos: Int, Integer, Float, Double

Tipos Compostos

 Mapeamento:

 Em Haskell existem as funções que funcionam como mapeamento. A operação mais importante das funções é a sua aplicação:

 As funções vão estar subjacentes a todas as manipulações da linguagem e implementam a exponenciação de conjuntos. Ou seja o conjunto de todas as funções de A para B é dado por B A.

Tipos Compostos:

 Conjuntos Potência:

 Haskell não possui Conjuntos Potência

Strings

 Podem sempre ser consideradas como uma lista de elementos do tipo char.

 Se for digitado uma string entre aspas, no interpretador o retorno será ela mesma, pois ela já está em sua forma normal.

 Ex:(Famoso “Alô Mundo”)

Prelude > “Alo Mundo” <- “Alo mundo” comando do usuario Alo Mundo <- retorno do sistema

Prelude > reverse “Alo Mundo” <- Aplicando a função reverse odnuM olA <- retorno do sitema

Sistema de Tipos:

 O Haskell é uma linguagem de programação

com uma disciplina de tipos rigorosa

 Haskell tem um, e um só, tipo, sendo sempre

possível determinar o tipo de uma

determinada entidade

 Haskell é estaticamente tipada

Variáveis:

 Haskell não possui:

Variáveis Compostas Atualização Seletiva

 As variáveis Heap em Haskell existe de

forma implícita nos compiladores e/ou

interpretadores:

Arquivos:

 Haskell trabalha com sistema de arquivos

através de duas funções :

writeFile :: String -> String -> IO( )

readFile :: String -> IO String

Arquivos:

 A função principal pega uma linha e usa como parâmetro para a função criaArq. Esta solicita o nome do arquivo a ser criado e o cria com a função, writeFile, então devolve o nome do arquivo com a função

Comandos

 Por ser uma linguagem funcional Haskell

enfatiza a avaliação de expressões ao

invés da execução de comandos.