LM 编程:数据结构
作者:互联网
LM 是一种新的函数式编程语言,其名称来自倒退拼写的 ML。它支持具有可扩展类型系统的类型和非类型化 lambda 演算。语法主要是普通的 Lambda 演算,带有一些自然扩展来支持模式匹配和解构。
数据结构是任何语言编程的重要组成部分。在LM中,数据结构可以分解为列表和文字。列表使用括号语法构造,并与函数应用程序的定义重叠。如果函数应用程序的第一项不是函数,则应用程序将只是坐着,永远不会被进一步评估,从而创建一个列表数据结构。文本是可以通过比较或解构操作进行操作的字符串。
不需要显式声明新类型。带有映射函数的二叉树数据结构可以定义如下。
地图 := λf (树 l r).(树(地图 f l) (地图 f r)) 地图 := λf (叶 x)。(叶子(f x))
此代码使用以文本为前缀的列表。此模式通常称为标记元组。对于优化传递,编译器应该能够推断出的类型并相应地进行优化。每个标签文本将转换为数字类型,以便进行有效比较。map
这个令人惊讶的简短部分结束了我们对LM中数据结构的介绍。