据我所知,渴望求值/应用序在应用函数之前对所有参数进行求值,而懒惰求值/正常序仅在需要时才对参数进行求值。 那么,“渴望求值”和“应用序”以及“懒惰求值”和“正常序”这两组术语有何区别呢? 谢谢。
作为一个Prolog新手,我发现在2012年底发生了一个非常有趣的讨论。 当时我注意到,在Prolog社区中有两种“semidet”的概念,分别是: 最多只成功一次的计算。 成功后不留下选择点的计算。 显然第二个概念意味着第一个,但反之则不然。 阅读这个帖子,我明白了第一个概念是Neume...
我已经查阅了文档,但似乎找不到如何在Perl6中实现这个功能。 在Perl5中,我会这样做(只是一个例子):sub func { ... } $str =~ s/needle/func($1)/e; 即用调用'func'的输出替换'needle'。
纯编程语言显然基于术语重写,而不是传统上支持类似语言的lambda演算。 那么这会带来什么定性和实际上的区别呢?实际上,在表达式求值方面有什么不同之处? 链接页面提供了很多术语重写有用的例子,但它并没有描述它与函数应用的不同之处,除了它具有相当灵活的模式匹配(在Haskell和ML中出现的...
为什么下面的代码会输出bD aD aB aA aC aU而不是aD aB aA aC bD aU? 也就是说,为什么b--在--++a--++之前被计算了?#include <iostream> using namespace std; class A { char c_...
我曾认为这样的表达式会导致Haskell永远执行下去。但在GHCi和编译后的程序中,它们的行为让我感到惊讶。 例如,在GHCi中,这些表达式会一直阻塞,直到我按下Control+C,但不会占用CPU。看起来像是在睡眠。let loop = loop let loop = 1 + loop 我...
我想在我的应用程序中使用EL,但是我找不到任何操作说明。通常情况下,我最终需要一些接口,而我没有实现它们。 我有一个对象映射表,并且我想要类似于“Hello,${person.name}”的字符串表达式被评估为字符串。 我该如何实现这一点,使用Commons EL、javax.el、OGN...
Julia内置常数pi,类型为Irrational。julia> pi π = 3.1415926535897... julia> π π = 3.1415926535897... julia> typeof(pi) Irrational{:π} 我从SymPy中了解到N...