En programación informática , el envío de predicados es una generalización del envío múltiple ("multimétodos") que permite seleccionar el método a llamar en tiempo de ejecución en función de predicados lógicos decidibles arbitrarios y/o coincidencia de patrones adjunta a una declaración de método. [1] [2]
Raku admite el envío de predicados mediante cláusulas "where" que pueden ejecutar código arbitrario contra cualquier parámetro de función o método. [3]
Julia tiene un paquete para ello con PatternDispatch.jl pero por lo demás admite de forma nativa envíos múltiples.
Se han creado implementaciones experimentales para Common LISP , [4] [5] y para Java (JPred [2] ).
Permite la extensión abierta de métodos previamente declarados a un nivel de granularidad fina, pero múltiples extensiones con predicados idénticos o superpuestos creadas por diferentes desarrolladores pueden interferir entre sí de maneras imprevistas. En este sentido, es similar a la programación orientada a aspectos .