Por que o estilo de ponto livre chamado Point Free in Haskell quando está cheio de pontos?De onde se origina o termo "sem ponto" de?

StackOverflow https://stackoverflow.com//questions/22008693

  •  21-12-2019
  •  | 
  •  

Pergunta

Eu estou lendo atualmente aprenda um haskell para grande bom e eu me deparei com a noção " estilo ponto livre " na página 85 como mostrado abaixo.No entanto, a função fn é Completamente com pontos !Isso me confunde.

  • Por que esse estilo de escrever funções chamado "ponto livre" quando é completo com pontos?

  • Como devo entender essa noção?"Point-free" em que sentido?

  • Onde é que o termo "estilo de ponto livre" se origina?Talvez de A. linguagem onde a composição da função foi denotada pelo espaço?

ps: até agora esta é a única parte confusa neste excelente livro (isto é, nas primeiras 85 páginas que li até agora).

Digite a descrição da imagem aqui

Foi útil?

Solução

.

Mas PointFree tem mais pontos!

Um equívoco comum é que o 'pontos' do estilo pointfree são o (.) Operador (função composição, como símbolo ASCII), que usa o mesmo identificador que o ponto decimal.Isto está errado.O termo originado em topologia, um ramo de matemática que trabalha com espaços compostos de pontos, e funções entre esses espaços.Então uma definição de 'pontos livres' de um a função é aquela que não menciona explicitamente os pontos (valores) do espaço em que a função atua.Em Haskell, nosso 'espaço' é Alguns tipos e 'pontos' são valores.Na declaração f x= x + 1 nós Defina a função F em termos de sua ação em um ponto arbitrário x. Contraste isso com a versão sem pontos: f= (+ 1) onde há Nenhuma menção do valor em que a função está agindo.

de haskellwiki

Outras dicas

Basicamente, cada variável local é um "ponto".Uma função sem variáveis locais é, portanto, "free-free".

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top