- 授权协议: BSD
- 开发语言: C/C++
- 操作系统: 跨平台
- 软件首页: http://daoscript.org
- 软件文档: http://daoscript.org/document
- 官方下载: http://daoscript.org/download/
软件介绍
道(Dao)语言是一个轻量级、支持可选类型申明的程序语言。它支持很多高级特性,对基于多核的并行编程有很好的支持。它的C编程接口简单易用,方便嵌入或扩展。
主要特性:
支持可选类型标注,类型推导和静态检查;
支持基于类和接口的面向对象编程;
支持代码块方法(替代函数式方法);
对并行编程有内置的原生支持;
有并行的基于垃圾回收的内存管理;
支持带类型检查的协程;
支持闭包,匿名函数和类;
有类BNF语法宏系统;
设计和实现为基于寄存器的虚拟机;
使用跨平台的标准C实现;
有简单易用的C编程接口,方便嵌入或扩展;
有基于LLVM的及时编译器;
有基于Clang的自动封装工具;
使用简化的BSD许可发布。
示例代码:
# 类型别名:
type Address = tuple<number:int,street:string>
# 带有显示参数类型的函数:
routine Rout( name : string, index = 123 ) => int
{
io.writeln( name, index )
return 123
}
Rout( 'abc' )
class InheritanceBase
{
var address : Address = ( 123, 'Main St' )
}
class MixinBase { var name = 'Joe' }
# 定义一个包含MixinBase,并继承InheritanceBase的类:
class Klass ( MixinBase ) : InheritanceBase
{
static state : enum<off,on> = $off
}
someone = Klass()
# 闭包:
closure = routine( x ){ io.writeln( x ) }
for( i = 1 : 5 ) defer { closure( i ) }
routine Producer( chan : mt::channel<int> )
{
for( index = 1 : 10 ) chan.send( index )
chan.cap(0)
}
routine Consumer( chan : mt::channel<int> )
{
while(1){
data = chan.receive()
if( data.status == $finished ) break
}
}
chan = mt::channel<int>(2)
Producer( chan ) !! # 开始生产者tasklet;
Consumer( chan ) !! # 开始消费者tasklet;
# 并行的代码块方法:
mt::apply( [1.0:100], 4 ){[x] log(x) }
C语言常用算法分析
明日科技 / 2012-1 / 39.80元
《C语言学习路线图•C语言常用算法分析》共分为4篇,第1篇为算法基础篇,包括程序之魂——算法、数据结构基础、查找与排序算法、基本算法思想等内容;第2篇为常用算法篇,包括数学算法、矩阵与数组问题、经典算法等内容;第3篇为趣味算法篇,包括数学趣题、逻辑推理题等内容;第4篇为算法竞技篇,包括计算机等级考试算法实例、程序员考试算法实例、信息学奥赛算法实例等内容。 《C语言学习路线图•C语言常用算法分......一起来看看 《C语言常用算法分析》 这本书的介绍吧!
UNIX 时间戳转换
UNIX 时间戳转换
RGB HSV 转换
RGB HSV 互转工具
