中语言超酷特性 之 --- 多维泛指

中语言计算技术研究与发展联盟

舒生羽  wzyorg@gmail.com

     泛指的基本意义在于使用多个名字来实现指称,并且提供了这些名字的组合,而是是带有计算的组合。我们通过对泛指的分析,深刻的认识到汉语中指称所存在的内在结构。

    事实上,结构在思维和计算中无处不在。如果我们分析这种组合形式的指称方式,那么就会发现在这些有着修饰和限定辞的,参数形式的泛指佐数也是带有结构的,因此我们应该在语言中明确表达这一点。然而在通常的C++的模板方式的模板佐数册子是一个线性的序列,直观上并无结构。当然事实上,通过使用模板类来嵌套模板的方式能够实现一定的结构,但这会变得复杂而不便。

    为此中语言提供了多维泛指的概念来扩展泛指的概念。多维泛指其实也就是在泛指佐数里面引入一个维度概念,使得泛指佐数从一个一维线性结构变成一个二维平面结构。

    它的形式大致如下:

<%参数册子%>-[维名]…. <%参数册子%>-[维名]泛指名字

    在这样的结构下,我们会让程序变得出人意料的富有表达力。首先在可读性可以增加许多,而且几乎通常的汉语都程序了。比如

<>-();

<>-[]();

<>-[]<>-[]();

    当然要使这种形式在实际的编程工作中发挥巨大的效用,我们还需要对程序的基础数据结构和算法方面作些深入研究。然而,这的确带来表达上的根本进步。我们将可以从中语言的华库(等价于C++的高级标准库,以GCC libstdc++v3.0为基础)和中语言内部的计算机代数系统上看到这一点。

    这样形式的符号序列都将是有严格计算意义的程序。但在当前中语言的形式中,由于缺乏丰富的实践和重复的理论思考,以及其它经验上借鉴,维名的严格语义并没有正式定义。有兴趣的朋友可以参与进相关讨论。

    下面是一个使用中语言多维泛指构造的示例程序。这里再次从公孙龙子的一篇文章---《坚白论》出发来构造出一个简单的例子程序。

    下面是程序:

 朴库.标准进出;



{
    <%质地: %>-[质]<%颜色: %>-[色]
    石: =
    {
        价值: ()->()=(质地 * 7 + 颜色 * 3) * 10;

    };


}
道: ()->()=
{
    坚 :=定 88;
    白 :=定 66;
    玉石: <坚>-[质]<白>-[色]石;
    打印文套("玉石价值几何?\n答曰:%d\n", 玉石.价值());
}

    程序的执行结果如下:

 

 

官网文件参考:

http://zhongyuyan.org/ZStudy/超酷程序/多维泛指.html

 

 

posted @ 2013-03-31 18:54  javawebsoa  Views(219)  Comments(0Edit  收藏  举报