Contents

The difference between data and function

Contents

其实我想说有时候过程和数据并没有什么区别(sometime)

例如

定义了一个list

你会把A看作是一个数据,他里面放着一些数字,1 2 3

如果我们自己来实现cons,frist(or car),rest(or cdr). 我们也许会使用如下的定义

以上数据就是数据,our_first,our_rest,our_cons都是动作,这些函数所产生的就是数据

我们来看另一种实现

这里就不一样了,你以为

会的到一个数据,实际上他返回的是一个函数(也就是说是一个过程)

firstrest的设计也更加的奇特,将这个过程应用不同的值,就分别取了first和rest部分

在这里数据和函数被混淆了,数据真的是数据吗?数据和一个过程的区别在哪里? 第二个版本的实现也确实更加的优雅