主要观点:Curry 是一种真正集成的函数逻辑编程语言,具有多种独特优势。
关键信息:
- 可返回列表最后一个数的
last
函数和返回列表排列的perm
函数示例。 - 是结合函数编程(嵌套表达式等)和逻辑编程(非确定性等)的声明式多范式语言。
重要细节: - 纯声明式:结果与评估时间和顺序无关,副作用可建模为“IO”操作,变量绑定不可变。
- 类型推断:强类型,函数类型注解可由编译器自动推断,写类型可提供函数使用文档。
- 非确定性:支持对相同输入返回不同值,类似逻辑编程风格且保留函数式编程优势。
- 自由变量:表示“未知”值,可被实例化以使表达式可评估,REPL 显示变量绑定。
- 生态方面:有多种 Curry 实现(如 PAKCS、KiCS2、MCC),有 Curry 包管理器(CPM)管理库和版本依赖,有 CurryDoc 生成文档工具,还有 Curr(y)gle API 搜索引擎。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。