【发布时间】:2012-08-17 23:50:05
【问题描述】:
在McBride and Paterson's 'Applicative programming with effects' 中,他们介绍了一些可爱的语法糖来提升纯函数:
[| 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 和@987654333 @ 不知何故?我想不出适合他们的类型,所以我认为我需要 Template Haskell 或类似的东西,但我知道的还不够多。 [af| f x y ] 可以,但在我开始尝试之前我不知道这是否可行,如果可以,当然需要帮助。
【问题讨论】:
-
我确信she 可以做到。
-
你可能想看看Template Haskell。
-
我发现我使用它的次数比我想象的要少:我可能会过度使用
$,而<*>是一种非常方便的分配函数参数的方法:我发现我无论如何,通常最终都会写glab <$> getsome values fromthis <*> getmore values fromthat。我仍然非常喜欢所有应用性的东西;我错误地认为语法妨碍了我。
标签: haskell syntactic-sugar template-haskell applicative