¿Es posible usar un azúcar sintáctico para un functor aplicativo?

En'Programación aplicativa con efectos' de McBride y Paterson introducen un poco de azúcar sintáctico encantador para levantar una función pura:

[| f x y z |]

para

f <
f <$> x <*> y <*> z
gt; x <*> y <*> z

y recuerdo a alguien en otro lugar usandoli f w x y z il oil f v w x y z li, y pensé / esperaba que pudiera ser porque podría definirse usando alguna característica de lenguaje existente y una definición astuta deli yil.

No puedo encontrar ninguna referencia a esto más allá del documento, y suponiendo que[| y|] no es probable que aparezca en ghc pronto, ¿es posible implementarlo?li yil ¿de algun modo? No puedo pensar en un tipo sensible para ellos, así que asumo que necesitaría Template Haskell o similar, pero no sé lo suficiente para lograrlo.[af| f x y ] estaría bien, pero no sé si es posible antes de empezar a intentarlo, y ciertamente necesito ayuda si lo es.

Respuestas a la pregunta(3)

Su respuesta a la pregunta