zoukankan      html  css  js  c++  java
  • 中语言超酷特性 之 多维泛指

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

    舒生羽  wzyorg@gmail.com

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

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

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

        它的形式大致如下:

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

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

    <>-();

    <>-[]();

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

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

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

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

        下面是程序:

     朴库.标准进出;
    
    
    
    {
        <%质地: %>-[质]<%颜色: %>-[色]
        石: =
        {
            价值: ()->()=(质地 * 7 + 颜色 * 3) * 10;
    
        };
    
    
    }
    道: ()->()=
    {
        坚 :=定 88;
        白 :=定 66;
        玉石: <坚>-[质]<白>-[色]石;
        打印文套("玉石价值几何?\n答曰:%d\n", 玉石.价值());
    }
    
    

        程序的执行结果如下:

     

    官网文件参考:

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

     

  • 相关阅读:
    Pytorch学习(一)基础语法篇
    CSAPP深入理解计算机系统(第二版)第三章家庭作业答案
    理解DP(持续更新)
    LeetCode题解 | 215. 数组中的第K个最大元素
    快速排序
    浅谈设计模式(java)——从lol来看观察者模式
    <小虾米的android学习之旅1>Android框架
    程序员如何用技术变现?
    为了反击爬虫,前端工程师的脑洞可以有多大?
    如何成为一名爬虫工程师?(顺带提供工作机会)
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/2992056.html
Copyright © 2011-2022 走看看