Programao Funcional Prof Carlos Alberto Haskell Introduo s
Programação Funcional Prof. Carlos Alberto
Haskell: Introdução às tuplas Prof. Carlos Alberto
Tuplas �Tupla é uma estrutura de dados formada por uma sequência de valores possivelmente de tipos diferentes; �Permite a definição e o uso de tipos de dados heterogêneos sob uma estrutura relacional; �Exemplo �Definição de um ponto no espaço cartesiano de duas dimensões: (x, y)
Tuplas �As tuplas heterogêneas são de maior interesse prático. �Exemplo �Tupla com os dados de uma pessoa (nome, idade, peso e esporte predileto):
Tuplas �Principal aplicação �Definir uma função que receba ou retorne mais de um valor e, geralmente, de tipo heterogêneo. �Desvantagem �Estrutura estática. Uma vez criada, não pode ser modificada. �Observação �( ) é uma tupla vazia; �Não existe tupla de um único componente
Tuplas �Os componentes de uma tupla são identificados pela posição em que ocorrem na tupla. �No caso de tuplas-2 ou par binário, existem duas funções predefinidas: �fst (do inglês first) – Retorna o primeiro elemento do par. �snd (do inglês second) – Retorna o segundo elemento do par. �fst e snd só funcionam com tuplas-2!!!
Tuplas �Exemplo com as funções fst e snd
Tuplas �As tuplas podem ser argumentos de uma função e também podem ser valores de uma função. �Definição �Execução
Tuplas �Função Currificada �Funções que recebem os seus argumentos um por vez; �São mais flexíveis do que funções com tuplas.
Tuplas �Função Currificada �Possibilita utilizar funções obtidas através da aplicação de somente alguns dos parâmetros.
Tuplas �Função Currificada �Fixando alguns parâmetros, o retorno é uma função com os parâmetros remanescentes.
Tuplas �Função Currificada �Outro exemplo:
Tuplas �Função Currificada �Mais um exemplo:
Tuplas �Função Currificada - observações �Um função de n parâmetros pode ser resumida em uma função de um único parâmetro; �O conceito de avaliação preguiçosa é reforçado, pois nada é calculado até que seja necessário; �A associatividade à esquerda é observada: toda função é aplicada sobre seu primeiro argumento. O resultado é aplicado sobre o segundo e assim sucessivamente. . .
Tuplas �Função Currificada – observações �A associatividade à esquerda é observada: toda função é aplicada sobre seu primeiro argumento. O resultado é aplicado sobre o segundo e assim sucessivamente. . .
Tuplas �Função Currificada – observações �A função currificada tem uma equivalente na notação prefixa.
Tuplas �Exemplo com tuplas
Haskell: Introdução às tuplas Prof. Carlos Alberto
- Slides: 18