В Макбрайде и Патерсоне «Прикладное программирование с эффектами» они вводят прекрасный синтаксический сахар для поднятия чистой функции :
[| 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 ]
было бы хорошо, но я не знаю, возможно ли это, прежде чем я начну пытаться это сделать, и, конечно, мне нужна помощь, если это возможно.