我遇到了以下代码片段(函数定义):
choose (x:xs) = choosep x xs
where choosep x [] = x
choosep x (_:_) = x
choosep _ (x:xs) = choosep x xs
in 柯里编程语言 http://en.wikipedia.org/wiki/Curry_programming_language在“标准库”--/usr/lib/curry-0.9.11/Success.curry 中明斯特咖喱编译器 http://danae.uni-muenster.de/~lux/curry/. Here:
choose :: [a] -> a
and
choosep :: a -> [a] -> a -- BTW, not a _p_redicate
Is the “p”后缀对于辅助递归函数choosep
已知的命名约定?也许它来自函数式编程传统(Haskell)或逻辑编程(Prolog?)。那是什么意思呢?
(这个函数被考虑在为什么 Curry 的 std lib 中的非确定性选择函数没有直接定义,而是使用辅助 2 参数函数定义? https://stackoverflow.com/q/5154339/94687.)
在这种情况下,我相信p
代表“总理”。而不是打电话给帮手choose'
or chooseprime
, 他们使用choosep
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)