Idris
Awesome Idris ¶
> awesome辅助列表 Idris 资源.
Idris 是一种具有依赖类型的通用纯函数式编程语言. 从属类型允许类型基于值,这意味着可以在类型中精确指定程序行为的某些方面. 它是编译的,带有急切的评价. 它的特性受到 Haskell 和 ML 的影响.
Official resources¶
Articles¶
- 10 things Idris improved over Haskell
- Meet Idris, a language that will change the way you think about programming
- Tests vs. Types
Books¶
- Type Driven Development With Idris - 迄今为止出版的最重要的书.
- Type Theory and Functional Programming
- Programming in Martin-Löf's Type Theory
- Software Foundations -回购是 here.
- Gentle Introduction to Dependent Types with Idris
Papers¶
- Elaborator Reflection: Extending Idris in Idris - 大卫·克里斯蒂安森和埃德温·布雷迪,2016 年.
- Cross-platform Compilers for Functional Languages - 埃德温布雷迪,2015 年.
- Programming and Reasoning with Side-Effects in Idris - 埃德温布雷迪,2014 年.
- Idris, a General Purpose Dependently Typed Programming Language: Design and Implementation - 埃德温布雷迪,2013 年.
- Programming and Reasoning with Algebraic Effects and Dependent Types - 埃德温布雷迪,2013 年.
- Sequential decision problems, dependently typed solutions - Nicola Botta、Cezar Ionescu 和 Edwin Brady,2013 年.
- Programming in Idris: a tutorial - 埃德温布雷迪,2012 年.
- Idris — Systems Programming Meets Full Dependent Types - 埃德温布雷迪,2011 年.
- Scrapping your Inefficient Engine: using Partial Evaluation to Improve Domain-Specific Language Implementation - 埃德温·布雷迪和凯文·哈蒙德,2010 年.
- Correct-by-Construction Concurrency: using Dependent Types to Verify Implementations of Effectful Resource Usage Protocols - 埃德温·布雷迪和凯文·哈蒙德,2010 年.
- Domain Specific Languages (DSLs) for Network Protocols - Saleem Bhatti、Edwin Brady、Kevin Hammond 和 James McKinna,2009 年.
- Lightweight Invariants with Full Dependent Types - Edwin Brady、Christoph Herrmann 和 Kevin Hammond,2008 年.
Presentations¶
- Idris: General Purpose Programming with Dependent Types - Idris 的创造者 Edwin Brady 的演讲.
Projects¶
- GitHub's trending Idris repos
- iridium - xmonad 与 X11 抽象和配置与 Idris.
- lightyear - Idris 的解析器组合器.
- quantities Idris 中类型安全的物理计算和单位转换.
- idris-type-providers - Idris 的类型提供程序库.
- IdrisScript - FFI 绑定与不安全的 JavaScript 世界交互.
- idris-containers - 用于 Idris 语言的各种数据结构.
- IdrisSqlite - SQLite 的有效绑定.
- idris-http - Idris 的 HTTP 库.
- RingIdris - Idris 的环形求解器.
- specdris - Idris 的测试框架.
- idris-config - 用 Idris 编写的各种配置文件的解析器.
- probability - Idris 中的概率计算.
- idris-protobuf - 在 Idris 中部分实现 Protocol Buffers.
- idris-free - 免费的 Monads 和有用的结构来使用它们.
- idris-ct - 形式化验证的范畴论库
- typedefs - 与编程语言无关的代数数据类型定义语言
Backends¶
- idris-jvm - Idris 的 JVM 字节码后端.
- idris-llvm - LLVM 后端.
- idris-erlang - Erlang 后端.
- idris-malfunction - 实验性故障(OCaml 内部表示)后端.
Build tools | Package managers¶
- Idris Rules - Bazel 的 Idris 规则
- Ikan - idris 的包管理器,在 idris 中
- Elba - Idris 的包管理器
- idream - 一个简单的 Idris 构建系统
Community¶
- Mailing list
- IRC: #idris on freenode.net
- GitHub organization
- Community Standards