He estado leyendo acerca de los combinadores y he visto lo útiles que son (por ejemplo, en Haskell's Parsec). Mi problema es que no estoy muy seguro de cómo usarlos prácticamente.No estoy seguro de cómo diseñar una biblioteca útil usando los combinadores
Aquí hay un resumen del problema: las distribuciones se pueden generar, filtrar y modificar. Las distribuciones se pueden combinar para crear nuevas distribuciones.
Las interfaces básicas son (en la terminología de tipo pseudo-Haskell):
generator:: parameters -> distribution
selector:: parameters -> (distribution -> distribution)
modifier:: parameters -> (distribution -> distribution)
Ahora, creo que veo tres combinadores:
combine:: generator -> generator -> generator
filter:: generator -> selector -> generator
modify:: generator -> modifier -> generator
Son estos combinadores realidad? ¿Tienen sentido los combinators/hay algún otro combinador obvio que me falta?
Gracias por cualquier consejo.
Trate de reducir su pregunta a su esencia, para obtener buenas respuestas. – Pindatjuh
¿Cuál es, además del nombre, la diferencia esencial entre 'filter' y' modify'? – fuz
Un 'selector' elimina algunos puntos de una distribución; un modificador ajusta la ubicación de algunos puntos en una distribución. Entonces, mi intención con 'filtro' es combinar un generador y un selector en un generador nuevo, que creará un subconjunto de la distribución del generador original. Y para 'modificar': crea un generador a partir de un generador + modificador. –