17得票3回答
急切求值/应用序和惰性求值/正常序

据我所知,渴望求值/应用序在应用函数之前对所有参数进行求值,而懒惰求值/正常序仅在需要时才对参数进行求值。 那么,“渴望求值”和“应用序”以及“懒惰求值”和“正常序”这两组术语有何区别呢? 谢谢。

16得票2回答
在Prolog中,“semidet”的概念是否已经确定?

作为一个Prolog新手,我发现在2012年底发生了一个非常有趣的讨论。 当时我注意到,在Prolog社区中有两种“semidet”的概念,分别是: 最多只成功一次的计算。 成功后不留下选择点的计算。 显然第二个概念意味着第一个,但反之则不然。 阅读这个帖子,我明白了第一个概念是Neume...

16得票4回答
执行和评估有什么区别?

我们说表达式“evaluate(求值)”值,语句命令计算机“执行”。但在我看来,这似乎是相同的术语。在C语言中,执行和评估有什么区别?

16得票7回答
流式XPath评估

是否有针对提供的 XML 文档进行 XPath 表达式流式计算的生产就绪库?我的调查表明,大多数现有解决方案在评估 XPath 表达式之前会将整个 DOM 树加载到内存中。

16得票2回答
Perl6搜索然后用子程序的输出替换

我已经查阅了文档,但似乎找不到如何在Perl6中实现这个功能。 在Perl5中,我会这样做(只是一个例子):sub func { ... } $str =~ s/needle/func($1)/e; 即用调用'func'的输出替换'needle'。

16得票1回答
基于术语重写的求值是如何工作的?

纯编程语言显然基于术语重写,而不是传统上支持类似语言的lambda演算。 那么这会带来什么定性和实际上的区别呢?实际上,在表达式求值方面有什么不同之处? 链接页面提供了很多术语重写有用的例子,但它并没有描述它与函数应用的不同之处,除了它具有相当灵活的模式匹配(在Haskell和ML中出现的...

16得票5回答
为什么'--++a-​- ++ +b--'按这个顺序计算?

为什么下面的代码会输出bD aD aB aA aC aU而不是aD aB aA aC bD aU? 也就是说,为什么b--在--++a--++之前被计算了?#include <iostream> using namespace std; class A { char c_...

15得票2回答
对于Haskell中如何评估"loop = loop"的方式感到好奇。

我曾认为这样的表达式会导致Haskell永远执行下去。但在GHCi和编译后的程序中,它们的行为让我感到惊讶。 例如,在GHCi中,这些表达式会一直阻塞,直到我按下Control+C,但不会占用CPU。看起来像是在睡眠。let loop = loop let loop = 1 + loop 我...

15得票2回答
Java:如何在没有实现接口的情况下独立评估EL表达式?

我想在我的应用程序中使用EL,但是我找不到任何操作说明。通常情况下,我最终需要一些接口,而我没有实现它们。 我有一个对象映射表,并且我想要类似于“Hello,${person.name}”的字符串表达式被评估为字符串。 我该如何实现这一点,使用Commons EL、javax.el、OGN...

14得票2回答
用Julia计算无理数

Julia内置常数pi,类型为Irrational。julia> pi π = 3.1415926535897... julia> π π = 3.1415926535897... julia> typeof(pi) Irrational{:π} 我从SymPy中了解到N...