我认为像这样的表达式会导致Haskell永远评估。但GHCi和编译程序的行为让我感到惊讶。 例如,在GHCi中,这些表达式被阻止,直到I Control+C,但不消耗CPU。看起来它正在睡觉。 let loop = loop
let loop = 1 + loop
我试着用GHC编译这些程序: main = print loop
where loop = 1 + loop
ma
我对c/C++(不包含像C++中的模板参数)的(部分)编译时评估充满信心。让我们考虑下面的情况下(从[1]取): double mypower(double x, int n) {
int i;
double ret = x;
for (i = 1; i < n; i++) {
ret *= x;
}
return ret;
}
然
进一步深入研究R评估的奥秘......这与我之前的问题(How to write an R function that evaluates an expression within a data-frame)密切相关。假设我想编写一个函数topfn,它需要一个数据框和一个涉及该数据框的列名的表达式。我想将这两个参数都传递给另一个函数fn,它实际上评估数据框“环境”中的表达式。 我希望当传递一个数据
我正在读“了Bjarne Stroustrup的C++风格和技法”常见问题,他提到这个FAQ What's the value of i++ + i++? 在此,他提到” ...的功能评价的顺序参数未定义。“当他提到f(v [i],i ++)时;例。 我是知道的函数参数的计算顺序是不确定不是不确定的,但在这种情况下是不确定的,因为我们都是靠我的价值,以其中V [I]通过或它的FAQ中的错误?