Despacho de predicado

Da Wikipédia, a enciclopédia livre
Ir para a navegação Saltar para pesquisar

Na programação de computadores , o despacho de predicado é uma generalização de despacho múltiplo ("multimétodos") que permite que o método a ser chamado seja selecionado em tempo de execução com base em predicados lógicos decidíveis arbitrários e/ou correspondência de padrões anexada a uma declaração de método. [1] [2]

Raku suporta despacho de predicado usando cláusulas "where" que podem executar código arbitrário em qualquer função ou parâmetro de método. [3]

Julia tem um pacote para ele com PatternDispatch.jl , mas de outra forma suporta nativamente vários despachos.

Implementações experimentais foram criadas para Common LISP , [4] [5] e para Java (JPred [2] ).

Ele permite a extensão aberta de métodos declarados anteriormente em um nível refinado, mas várias extensões com predicados idênticos ou sobrepostos criados por diferentes desenvolvedores podem interferir umas nas outras de maneiras imprevistas. A este respeito, é semelhante à programação orientada a aspectos .

Referências

  1. ^ Millstein, despacho prático do predicado de T. (PDF) . OOPSLA '05.
  2. ^ a b Millstein, T.; Frost, C.; Ryder, J.; Warth, A. (2009). "Despacho de predicado expressivo e modular para Java". Transações ACM em Linguagens e Sistemas de Programação . 31 (2): 1. CiteSeerX 10.1.1.212.4268 . doi : 10.1145/1462166.1462168 . 
  3. ^ "assinatura de classe" . Recuperado 2020-07-07 .
  4. ^ "Despacho Predicado no Common Lisp Object System" (PDF) .
  5. ^ "pcostanza/filtered-functions" . GitHub . Recuperado 2016-04-07 .

Links externos