El patrón arquitectónico de tubería y filtro se define como una cadena de elementos de procesamiento, dispuestos de modo que la salida de cada elemento sea la entrada del siguiente . Cada ejemplo parece considerar la conexión entre procesos o entre hilos realizada a través de algún tipo de búfer compartido.
Para mí, parece que la composición de la función Haskell está realizando la misma tarea. ¿Podemos decir que es una instancia de este patrón incluso si solo se trata de ordenar funciones y no se utiliza un buffer explícito como canalización? En caso afirmativo, ¿podemos decir lo mismo para el lenguaje no perezoso?
CPO
categoría? Mi google-fu es débil :(C
rdersP
artiales completosO
.Hay una diferencia. Las tuberías y los filtros se ocupan de los datos y las conexiones de datos, mientras que Haskell Function Composition se ocupa de las funciones de primera clase . Las funciones de primera clase son componibles de manera que las tuberías y los filtros no lo son.
Lecturas adicionales
¿Qué significa la componibilidad en el contexto de la programación funcional?
fuente
++
, donde está la composición.
,++ . ++
tomaría un valor y devolvería ese valor incrementado dos veces, pero++
no es una función de primera clase, solo toma un valor y devuelve un valor. La función de composición es la función de primera clase que toma dos funciones y devuelve una.