O padrão arquitetural de tubulação e filtro é definido como uma cadeia de elementos de processamento, organizados de forma que a saída de cada elemento seja a entrada do próximo . Todo exemplo parece considerar a conexão entre processos ou entre threads executada por meio de algum tipo de buffer compartilhado.
Para mim, parece que a composição da função Haskell está executando a mesma tarefa. Podemos dizer que é uma instância desse padrão, mesmo que seja apenas sobre ordenação de funções e nenhum buffer explícito seja usado como canal? Se sim, podemos dizer a mesma coisa para linguagem não preguiçosa?
CPO
categoria? Meu google-fu é fraco :(C
ordensP
artificiaisO
incompletas.Há uma diferença. Canos e filtros lidam com dados e conexões de dados, enquanto a Composição da Função Haskell lida com funções de primeira classe . Funções de primeira classe são compostas de maneiras que tubos e filtros não são.
Leitura adicional
O que significa composibilidade no contexto da programação funcional?
fonte
++
, onde está a composição.
,++ . ++
pegaria um valor e retornaria esse valor incrementado duas vezes, mas++
não é uma função de primeira classe, apenas recebe um valor e retorna um valor. A função de composição é a função de primeira classe que recebe duas funções e retorna uma.