【发布时间】:2017-12-28 21:00:04
【问题描述】:
当我尝试将一个整数除以另一个整数时,我收到以下消息:
Idris> 6 / 8
Can't find implementation for Fractional Integer
这究竟是什么意思? 如何在 Idris 中使用有理数?
【问题讨论】:
当我尝试将一个整数除以另一个整数时,我收到以下消息:
Idris> 6 / 8
Can't find implementation for Fractional Integer
这究竟是什么意思? 如何在 Idris 中使用有理数?
【问题讨论】:
Idris does not have a built-in type for rational numbers. 您看到的错误消息意味着(/) 函数是Fractional 接口的一个方法,它要求它的参数是实现该接口的类型;但是,目前唯一实现Fractional 接口的类型是Double:
Idris> :doc Fractional
Interface Fractional
Parameters:
ty
Constraints:
Num ty
Methods:
(/) : Fractional ty => ty -> ty -> ty
infixl 9
The function is Total
recip : Fractional ty => ty -> ty
The function is Total
Implementations:
Fractional Double
【讨论】: