给定的是一个Javascript函数,如
const isNull = x => x === null ? [] : [isNull];
这样的功能可能是无稽之谈,但这不是问题所在。
当我试图表达类似 Haskell 的类型注释时,我失败了。同样尝试在 Haskell 中实现类似的功能:
let isZero = \n -> if n == 0 then [] else [isZero] -- doesn't compile
这种函数本身不是递归的,但在它们的类型上是递归的,是否有一个术语?这些函数只能用动态类型语言表达吗?
对不起,如果这很明显 - 我的 Haskell 知识(包括严格的类型系统)相当肤浅。