Idris2

Idris是一个纯函数式的通用编程语言 也可以简单的看作是Haskell的改良版

可编译为JavaScriptNodejs

实现了定量类型系统

安装使用

  1. mac可以使用homebrew 来安装idris 2
  2. 可以通过pack工具来安装
  3. 通过 源码安装

自 Idris 1增加的内容

  1. 定量类型系统的支持

函数

命名参数

类型声明中可以为参数命名,命名后可以使用按名称传参数调用,包括记录语法

fromMaybe { deflt = False }

或者对于记录 MkDragon { strength = 150, name = "Gorgar", hitPoints = 10000 }

工具链

类库

相关链接

杂项

  1. 调用命令行命令 System.run

使用基于NonEmpty List的head函数


test: List Nat -> Nat
test ns = case ns of
  [] => 0
  xs@(_::_) => head xs

不像PureScript那样,在 idris2 中 record 不能继承,但是应该可以通过 元编程和依赖类型来模拟。继承和鸭子类型

3d2e3c5a-22c3-4b7d-b52c-5730e2d3bc62