Отправка предиката
- Диспетчеризация предикатов в компьютерном программировании обобщает множественную диспетчеризацию («мультиметоды»).
- Raku поддерживает диспетчеризацию предикатов с использованием предложений «where», которые могут выполнять произвольный код для любой функции или параметра метода.
- Джулия имеет пакет для этого с PatternDispatch.jl, но в остальном изначально поддерживает множественную отправку.
- Были созданы экспериментальные реализации для Common LISP и Java (JPred).
- Диспетчеризация предикатов позволяет открыто расширять ранее объявленные методы на детальном уровне.
- Однако несколько расширений с идентичными или перекрывающимися предикатами, созданных разными разработчиками, могут непредвиденным образом мешать друг другу.
Полный текст статьи: