设计一个编程语言
时间:2011-06-07 来源:诺贝尔
本文记录一些离散的想法。
1.算法设计的改进。现在的语言内置的是for,while等循环语句,我想能不能集成一个更好的书写范式。
比如递归的几个基本结构:
a。基础条件
b。递归循环
c。终止条件
把这几个要素的结构写清楚点。然后不管是尾递归还是什么递归,自动让编译器优化对应的代码出来。
然后是穷举法的算法结构
a。集合
b。穷举
讲这些一般的算法结构给总结出来,作为语言的一部分,程序员只需要按照格式套进去,而不需要管具体是什么数据。
2.对集合操作的改进。现在很多语言都只是关注元素的操作,而对集合操作很少兴趣。
有很多集合操作还是比较有用的,如果基于集合来定义操作,那么集合怎么划分,怎么多线程分配都是编译器的事情,这样减少很多程序员的工作。有很多问题其实都是集合相关的,但是大部分并不是定义为集合操作,而是让你自己用循环来遍历集合,然后针对每一个元素来书写内容。理论上每一个元素的操作都可以不同,但是大部分集合操作不需要这种灵活度,而是普遍相同的。通过对集合操作的定义,能够让编译器做更好的优化。
理想的形式如下:
int[100] f ;
f++; //所有元素都+1
f.printf(); //打印所有元素
f.foreach(a->a / 2? a : 0;)
f = f x f;
这样就能减少很多遍历语法结构。
相关阅读 更多 +