发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA

Rust和Haskell比较

         
2016-05-20 14:36
赞助商链接

Rust语言从纯正的函数语言Haskell借鉴了一些设计,两者主要区别是:

Haskell 和 Rust都有:
类型/内存安全(Type/memory-safety)
没有空null出错(No nulls)
默认不可变(Immutability by default)
面向富有表现力的语法(比如if-else返回一个值)
高阶函数
象征性的类型(Nominal types)
代数数据类型 (sum types, tagged unions, "enums with data in em", ...)
模式匹配
泛型函数和类型(parametric polymorphism参数多态性)
类型类(Type class,如traits)
本地类型推导

只Haskell有的:
纯正
懒计算(Laziness)
自动/隐式分配(Automatic / implicit allocation)
更高种类型(Higher-kinded types)
全局类型推断(Global type inference)
多态递归(Polymorphic recursion)
尾调用优化(Tail call elimination)

只Rust有:
严密精确
普遍的unboxed数据(Pervasively unboxed data)
内建过程控制流程
仿射型(Affine types "move semantics")
声明周期管理 (region types, borrowing)
自动解构器(Automatic destructor)
数据竞争消除(Elimination of data races)
防止孤独实例(A ban on orphan instances)
嵌套和递归模块(Nested and recursive modules)

原文见:
glaebhoerl 對 What has Rust borrowed? 的留言
[该贴被banq于2016-05-22 08:42修改过]

RUST语言      Haskell     

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系反馈 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com