5、计算语言中的求值顺序问题

计算语言中的求值顺序问题

1. 求值顺序的基本概念

在计算语言设计中,定义求值顺序是一个长期存在的问题。在设计良好的语言(如Wolfram语言)中,很多时候求值顺序并非关键因素,但在组合子和物理新模型中,求值顺序变得至关重要。

1.1 Wolfram语言中的求值顺序示例

Length[Join[{a, b}, {c, d, e}]] 为例,其求值过程如下:

In[]:= Length[Join[{a, b}, {c, d, e}]]
Out[]= 5

实际计算时,先计算 Join[{a, b}, {c, d, e}]

In[]:= Join[{a, b}, {c, d, e}]
Out[]= {a, b, c, d, e}

然后将结果作为参数传递给 Length 函数,得到最终结果5。一般在Wolfram语言中,计算 f[g[x]] 时,先计算 x ,再计算 g[x] ,最后计算 f[g[x]] 。不过,也有特殊情况,例如定义 x = 1 后再定义 x = 2 ,若先对 x 求值会得到无意义的 S

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值