给定类型,确定是否可以编写一个终止的Haskell函数。
对于类似的类型Int -> Int,我们知道有限精度整数类型Int至少覆盖了范围,[-2^29, 2^29-1]因此从Int到Int的映射可能有限,因此我们可以编写一个总的终止函数。
例如,给定以下类型:(a -> b) -> (b -> c) -> (a -> c),我如何确定我们是否可以编写一个总终止函数以将该类型用作函数签名?还是这种类型(a -> c) -> ((a, b) -> c)。
将不胜感激通过这个问题的指导!这是一个作业问题,所以我只在寻求指导。