Можно ли использовать скобочный синтаксический сахар для аппликативного функтора?

В Макбрайде и Патерсоне «Прикладное программирование с эффектами» они вводят прекрасный синтаксический сахар для поднятия чистой функции :

[| f x y z |]

. для

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

и я припоминаю, что кто-то где-то еще использовал li f w x y z ilили il f v w x y z li,и я думал/надеялся, что это может быть потому, что его можно определить, используя некоторые существующие языковые функции и хитрые определения liи il.

Я не могу найти никаких ссылок на это, кроме статьи, и если предположить, что [|и |]вряд ли появятся в ghc в ближайшее время, возможно ли как-то реализовать liи il? Я не могу придумать для них разумный тип, поэтому я предполагаю, что мне понадобится Template Haskell или аналогичный, но я недостаточно знаю, чтобы выполнить это. [af| f x y ]было бы хорошо, но я не знаю, возможно ли это, прежде чем я начну пытаться это сделать, и, конечно, мне нужна помощь, если это возможно.

20
задан AndrewC 20 December 2014 в 17:42
поделиться