小编app*_*ive的帖子

为什么Haskell的`fst`和`snd`有这么短(奇怪)的名字?

我是Haskell的新手,此刻真正困扰我的是为什么制作库的人添加了调用的函数fst,snd而不是像(first和)那样使用(普通)名称second.后者的名字有什么问题?

我个人觉得这些缩写可笑:"为什么snd,为什么不呢?sec,scndscd或为什么不?fir,frst,ftfrt?" 它只是缺乏风格.(但再次 - 这是个人观点)

convention haskell function

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

Ackermann的功能在gcc上有段落错误

很明显我不是C的主管作者,但是想知道,与Ackermann这个问题有关,Haskell/GHC非常低效(这可能让我非常不理智)为什么作者计算Wilhelm Ackermann的着名功能:

int ack(int m, int n) {
  if (m == 0) return n+1;
  if (n == 0) return ack(m-1, 1);
  return ack(m-1, ack(m, n-1));
}

int main() {
  printf("%d\n", ack(4,1));
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

工作得很好,但是当给出一个明显的优化(这有助于其他地方)并给出参数(4,2) - 当然在算法上是残忍的 - 结束于Segmentation fault: 11:

int ack(int m, int n) {
  if (m == 0) return n+1;
  if (m == 1) return n+2;
  if (n == 0) return ack(m-1, 1);
  return ack(m-1, ack(m, n-1));
}

int …
Run Code Online (Sandbox Code Playgroud)

c gcc

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

标签 统计

c ×1

convention ×1

function ×1

gcc ×1

haskell ×1