延迟计算
← 目录
作者: 一了 <
[email protected]
> 日期: 2006-09-22 一句话总结: 延迟计算主要用在函数式语言中,是 Lambda 演算的某种起点。
# 延迟计算 ``` <..======================================================== == == == Macrobject Nuva Samples == == == == Copyright (c) 2004-2006 Macrobject Software == == == == ALL RIGHTS RESERVED == == == == http://www.macrobject.com == == == ========================================================..> ``` 延迟计算并不是为了提高计算的性能,而是这种计算能够创造出一种新型的和无限灵活的计算模型。 延迟计算主要用在函数式语言中,是 Lambda 演算的某种起点。 在 Lambda 演算的函数复合中,延迟计算起了关键的作用,试想如果函数作为参数被带入另一个函数时,如果立即参加计算,则函数复合就立即失去了意义,整个 Lambda 演算也就失去了意义。 在 Python 中,集合或者序列的运算中,经常用到基于 Lambda 演算的延迟计算。 Nuva 语言也有延迟计算的使用,主要用于循环和集合操作中,示例如下: ``` <. var Set = ['a', "b", 'c'] foreach (i = Set | i = 'b') ?? i end foreach var set1 = [i = Set | i = 'b'] foreach (i = set1) ?? i end foreach .> ``` 上面的代码得到如下的结果: b b Nuva 语言中的延迟计算是 Lambda 的一种特例,其中要计算的延迟表达式只能有一个非函数自变量。 在下一版本中,Nuva 语言将支持完整的 Labmda 演算,加入函数式语言的一些特征。