我遇到了以下代码片段(一个函数定义):
choose (x:xs) = choosep x xs
where choosep x [] = x
choosep x (_:_) = x
choosep _ (x:xs) = choosep x xs
在“标准库”中的Curry programming language中-/ 中的/usr/lib/curry-0.9.11/Success.curry。这里:
choose :: [a] -> a
和
choosep :: a -> [a] -> a -- BTW, not a _p_redicate
辅助递归函数
choosep
的后缀“ p”是已知的命名约定吗?也许它来自函数式编程传统(Haskell)或逻辑编程(Prolog?)。那是什么意思呢?(在Muenster Curry Compiler中考虑了此功能。)
最佳答案
在这种情况下,我相信p
代表“素数”。他们使用choose'
而不是调用帮助程序chooseprime
或choosep
。
关于recursion - “傻瓜”:命名约定?它是“foo”的辅助递归函数;后缀“p”是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5279286/