Idris是一种具有依赖类型的通用纯函数式编程语言。
在使用Idris ch进行类型驱动的开发中。在图4中,他们说Prelude还定义了功能和表示法,以允许像其他任何数字类型一样使用Nat,因此不必写S(S(S(S(SZ))),...
安装Idris2时Chez Scheme出现realpath错误
这是我的机器,软件:系统软件概述:系统版本:macOS 10.14.6(18G103)内核版本:Darwin 18.7.0我正在按照本指南安装Idris2。到目前为止,我已经完成了...
[我注意到在Edris-dev GitHub Wiki中没有等效的命令用于emacs中的Atom搜索(Cntl-Alt-S)和Lift Hole(Cntl-Alt-L)命令。有人知道如何设置吗?
假设我有以下idris源代码:module Source import Data.Vect-为避免Prelude.List。(++),Prelude.String。(++)和Data.Vect。(+ +)infixl 0 +++(+ ...
我正在尝试创建一个Tensor类型,但是在使用构造函数的类型签名时遇到了麻烦。在这个和这个问题中,他们将张量定义为张量的Vect,并且在此...
我有一个函数减去两个Nats。我如何证明我要传递给它的第一个参数实际上小于第二个伪参数:(k:Nat)->(n:Nat)-> {自动更小:LTE kn}-&...
定义ZZ:类型ZZ =(Nat,Nat)然后是以下代码ZZ_greater_than_zero:ZZ->布尔ZZ_greater_than_zero(Z,Z)=假ZZ_greater_than_zero(Z,(S n))=假ZZ_greater_than_zero((S m).. 。
请考虑以下(非常简化的)示例,该示例通过在其值上附带条件来约束数据类型:data Transport = Car |脚|船总轮数:(运输:运输)-> {auto ...
Idris 1.3.2版和Atom已成功安装在Ubuntu Linux的Kubuntu版本上。 idris二进制文件的正确路径已放入Atom的程序包设置中。 REPL可以正常运行...
我正在尝试为我的代码源实现FFI部分,尽管传递Int这样的值很有效,但我最大的问题是弄清楚如何传递函数。因此,在docs中有一个带有...
我是Haskell生态系统的新手,正在尝试在我的MacOS Catalina上安装Idris。因此,在$ brew install ghc $ brew install cabal-install之后,我有了The Glorious Glasgow Haskell编译系统,...
tl; dr:我正在尝试重写一些具有Haskell中sigma类型列表的依存类型代码,并且我似乎无法为存在性生成单例,换句话说,此代码失败:data。 ..
我们有一个带有单个构造函数的以下类型:-如果某些数据的n = k + k,则IsTwice n被居住IsTwice:Nat->类型,其中Twice:(k:Nat)-> IsTwice(k + k)我正在尝试...
我如何在Idris中使用ST来获得ReaderT r可能是a?
我已经阅读了Control.ST教程多次,但是我仍然不清楚如何使用它来实现在Haskell中使用monad转换器的那种效果。我的具体情况是我...
我在Idris中将monoid定义为接口Is_monoid(ty:Type)(op:ty-> ty-> ty),其中id_elem:()-> ty proof_of_left_id:(a:ty)->((op a(id_elem( )))= a)...
John Major的等式带有以下重写的引理:检查JMeq_ind_r。 (* JMeq_ind_r:forall(A:类型)(x:A)(P:A->支撑),P x-> forall y:A,JMeq y x-> ...
例如,对于以下类型实现Show实例:data Shape = Circle Double | Box Vector2D |多边形(列表Vector2D)|链(List Vector2D)......