类似 Haskell 的纯函数编程语言 idris

类似 Haskell 的纯函数编程语言 idris

未知
C/C++
跨平台
2016-01-11
卢温禾

Idris是一个类似Haskell的纯函数编程语言,类型系统支持dependent types。

  • 依赖模式匹配的依赖类型系统

  • 简单的C函数接口

  • 编译器级别的编码支持

  • where 语句, with 规则, 简单的case 表达式, 模式匹配 let 和 lambda 绑定

  • Dependent records with projection and update

  • Type classes

  • 类型驱动的重载方案

  • do notation and idiom brackets

  • 缩进语法

  • 可扩充的语法

  • Cumulative universes

  • 整体验证

  • 类似Hugs的交互环境

data Nat     = Z       | S Nat
data Maybe a = Nothing | Just a
data List a  = Nil     | (::) a (List a)
(+) : Nat -> Nat -> Nat
Z     + y = y
(S k) + y = S (k + y)
infixr 5 ::
data Vect : Nat -> Type -> Type where
    Nil  : Vect Z a
    (::) : a -> Vect k a -> Vect (S k) a
app : Vect n a -> Vect m a -> Vect (n + m) a
app Nil       ys = ys
app (x :: xs) ys = x :: app xs ys


加载中

评论(1)

LSGX
LSGX
依赖类型 #idris#

Idris 0.99.2 发布,类似 Haskell 的纯函数编程语言

Idris 是一个类似 Haskell 的纯函数编程语言,类型系统支持 dependent types。 Idris 0.99.2 主要是一些 bug 修复,并给即将到来的 1.0 版本做一些预改进。 更新内容如下: Library Updates ...

2017/04/01 07:33

没有更多内容

加载失败,请刷新页面

没有更多内容

暂无问答

用vundle重新配置vim

1. 根据此文章配置最基本的[这里][1] 2. 配置写代码不可缺少的代码提示,自动完成功能,这里安装`YouCompleteMe`[看这里][2] * ubuntu13.04升级vim到7.4 [看这里][3] * 其中遇到ubuntu13.04...

2013/11/30 01:45
364
0
几乎所有编程语言的hello, world程序(2)

D // Hello World in D import std.stdio; void main() { writefln("Hello World!"); } D4 // Hello World as a relation-variable in D4 select row { "Hello World" AMessage } Dar...

2015/09/08 21:49
28
0
Android 开发网址收藏

Collection of links for every Android developer dev.android.com developer.android.com Design Develop Distribute Training API Guides Reference Tools Google Services Samples Googl...

2015/05/04 15:29
24
0
使用 NumPy 进行科学计算

使用 Python 的第三方库 NumPy 进行科学计算。

2014/12/04 10:47
1K
0
【开发者福利】最全面的移动端免费素材合集

在移动端设计风起云涌的今天,移动端的UI和UX设计师任重而道远。巧妇难为无米之炊,好素材就是设计师的底气。这次搜集的移动端免费素材覆盖全面,从教学资源到UI Kit,从开发工具到图标合集,...

2015/01/06 09:54
139
0
惠逛街懂你的时尚Met Gala—2017年主题敲定

惠逛街APP,逛街购物,优惠信息,线下购物,商场品牌

2016/11/18 09:22
6
0
WebAssembly系列2-为什么我们需要WebAssembly—采访Brendan Eich

为什么我们需要WebAssembly—采访JavaScript之父Brendan Eich。

2015/08/06 12:46
936
0

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部