伊德里斯的实际例子

时间:2013-06-11 12:33:42

标签: dependent-type idris

是否有Idris可能用于研究并可能将其应用于通用/“真实世界”应用的示例?

我对Haskell的熟练程度很高,其中伊德里斯似乎借用了很多,官方常见问题解答/文档相当不错,但是有一些更大的例子可供探讨。目标是尝试使用Idris进行实际的软件开发。 TIA。

2 个答案:

答案 0 :(得分:25)

Edwin Brady在https://github.com/edwinb/idris-demos有一个充满演示的回购。 除此之外,它还有一个可玩的太空入侵者游戏,使用SDL绑定,效果和!-effect语法编写(基本上是一种替代语法来表示/>> =)。

此外,我们尝试在维基上维护一些可用库的列表: https://github.com/idris-lang/Idris-dev/wiki/Libraries

答案 1 :(得分:16)

伊德里斯的创建者Edwin Brady撰写了一篇论文,论述了效率和并发等现实问题:"Correct-by-Construction Concurrency: using Dependent Types to Verify Implementations of Effectful Resource Usage Protocols"。它不仅解释了如何处理并发,还在Idris中创建了一个嵌入式域特定语言(EDSL)来处理并发。

它也用于科学计算(可能或可能不符合现实世界的应用程序):Dependently-typed programming in scientific computing。本文还包含实际示例和一些Agda示例。