问题描述
为什么我们在下面写f : Type -> Type
而不是仅仅写f
-不是从Functor f
推断出来的?:
interface Functor f => Applicative (f : Type -> Type) where
pure : a -> f a
(<*>) : f (a -> b) -> f a -> f b
f
已经在以下类型中定义了其种类(或者我应该说Idris中的Type):
interface Functor (f : Type -> Type) where
map : (m : a -> b) -> f a -> f b
我听说在很多情况下,由于Idris的依存类型系统,Idris无法推断Haskell会使用的类型。这是这种情况吗?
一个相关的问题Failed to declare MonadPlus interface constrained on Monad描述了相同的行为,但并没有真正解决为什么无法推断类型的问题。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)