É possível usar um açúcar sintático de bracketing para um functor aplicativo?
Em"Programação Aplicativa com Efeitos" de McBride e Paterson eles introduzem um adorável açúcar sintático para levantar uma função pura:
[| f x y z |]
para
f <$> x <*> y <*> z
e eu me lembro de alguém em outro lugar usandoli f w x y z il
ouil f v w x y z li
, e eu pensei / esperava que poderia ser porque ele poderia ser definido usando algum recurso de linguagem existente e uma definição inteligente deli
eil
.
Eu não consigo encontrar nenhuma referência a isso além do papel, e assumindo que[|
e|]
não são susceptíveis de aparecer em ghc qualquer momento em breve, é possível implementarli
eil
de alguma forma? Eu não consigo pensar em um tipo sensato para eles, então eu suponho que eu preciso do Template Haskell ou similar, mas não sei o suficiente para conseguir isso.[af| f x y ]
Seria bom, mas eu não sei se é possível antes de começar a tentar, e certamente precisar de ajuda se for.