什么术语`fac`在Haskell中意味着什么?

mac*_*ian 0 recursion primitive haskell factorial

facHaskell 中的术语含义是什么?我在很多场合看过它,但似乎没有任何类型的定义.我知道它与阶乘有关,但我不太确定人们在提到这个术语时的意思fac.

这是一个例子:

sumFacs n = fac 0 + fac 1 + ... + fac (n-1) + fac n
Run Code Online (Sandbox Code Playgroud)

Jon*_*ran 6

通常fac指的是阶乘函数,可以定义为:

fac :: Int -> Int
fac 0 = 1
fac n = n * fac (n - 1)
Run Code Online (Sandbox Code Playgroud)

当然,在Haskell中许多不同的方法来定义阶乘.

  • 更短的是`fac = product [1..n]`.无论如何,[这里](http://www.willamette.edu/~fruehr/haskell/evolution.html)是其他等价的定义. (4认同)