小编grw*_*wlf的帖子

是否有可能在现代Haskell中定义Omega组合器(λx.xx)?

堆!是否有可能在现代Haskell中定义Omega组合器(λx.xx)?我想,Haskell98的类型系统旨在使这样的事情变得不可能,但现代扩展呢?

haskell lambda-calculus

4
推荐指数
3
解决办法
1546
查看次数

对 C++ 递归感到困惑

我不明白递归如何工作得很好。

void f(int n)
{
  if (n == 1)cout<<1<<" ";
  else
  {
    f(n - 1);
    cout<<n<<" ";
    f(n - 1);
  }
Run Code Online (Sandbox Code Playgroud)

如果我让 n = 4,这将输出1 2 1 3 1 2 1 4 1 2 1 3 1 2 1. 这是为什么?首先,n变得越来越小,直到达到 1,然后会发生什么?我真的无法理解这两个调用的作用,以及为什么第二个调用还在那里,因为第一个调用首先被调用。

c++ recursion

1
推荐指数
1
解决办法
89
查看次数

标签 统计

c++ ×1

haskell ×1

lambda-calculus ×1

recursion ×1