<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    莊周夢蝶

    生活、程序、未來
       :: 首頁 ::  ::  :: 聚合  :: 管理

    scheme中文編程

    Posted on 2009-03-20 23:27 dennis 閱讀(3117) 評論(8)  編輯  收藏 所屬分類: 動態語言計算機科學與基礎
        受javaeye上的《Ruby中文編程》啟發,帖子中有人提到如果if這樣的關鍵字都可以定義成中文,那就是真正的中文編程。那時我就想到,這個其實要在scheme中實現是多么簡單,將sicp書中的解釋器稍微修改下就可以了,只要修改解析的部分即可。解釋器的完整代碼放后面,我們先看看有趣的例子:
    (定義 你 '男)
    (當 ((是 你 '男) (打印 '男人是泥土做的))
        ((是 你 
    '女) (打印 '女人是水做的))
        (否則
             (打印 
    '妖怪啊)))

        其實呢,“定義”等價于define,“當”等價于cond,“打印”等價于display,說穿了不值一提,只是有趣罷了。不過設想在某些效率不是攸關的場景嵌入這么一個scheme解釋器來定義DSL給業務人員使用,似乎也是不錯的主意。當然這里還是scheme的前綴表達式,再修改下就可以像自然語言那樣流暢,只不過括號還是少不了呀。

        再看幾個例子:
    (使得 ((a 3)
           (b 
    2))
           (
    + a b))

    (定義 成績 
    90)
    (如果 (
    > 成績 80)
          (打印 
    '良好)
          (打印 '要打PP了))
    ((函數(x) (* x x)) 3)  => 9

    (定義 (平方 x) (* x x))
    (平方 3)               =>9
       
        “使得”就是let,如果就是if,函數就是lambda。這不是中文編程嗎?也許可以考慮申請國家專項資金來扶持:D

        完整的解釋器代碼,在drscheme選擇R5RS標準下測試通過(代碼折疊,請展開):

    解釋器源碼


    評論

    # re: scheme中文編程  回復  更多評論   

    2009-03-21 12:44 by tri
    可見中文編程是一件多么愚蠢的事。
    干脆阿拉伯數字也別用,那是印度人發明的。
    干脆變量都用甲乙丙丁,干脆數學符號都改成“大于”、“乘以”

    # re: scheme中文編程  回復  更多評論   

    2009-03-21 19:03 by ttt
    感覺有點惡心

    # re: scheme中文編程[未登錄]  回復  更多評論   

    2009-03-29 13:38 by edwin
    能幫解決個 小問題嗎?用DRscheme 編段元代碼?
    若愿意的話,請發EMAIL通知我

    davidjondy@hotmail.com

    我將題發給你。。
    等待高手幫解決

    # re: scheme中文編程  回復  更多評論   

    2010-06-11 23:04 by guorui
    @tri
    不能太較真,只是好玩而已,別整那么嚴肅。

    # re: scheme中文編程  回復  更多評論   

    2011-11-14 23:53 by xion
    這個是一個很不錯的主意??!

    # re: scheme中文編程  回復  更多評論   

    2012-03-17 13:15 by coreBugZJ
    正在看 SICP,剛看到解釋器實現,學習了。

    # finance55525  回復  更多評論   

    2015-07-22 21:53 by You'll for certain do not have something to lose w
    You'll for certain do not have something to lose with Adiphene, thus for those that actually need to slim while not losing their time and power, then Adiphene is that the product for you. Perhaps the main reason behind this though is that you have developed a dependence on food. Glucomannan is among the most active hunger suppressants in Adiphene, and it works to suppress yearnings and help you handle your parts.

    # christmasvideogame7405  回復  更多評論   

    2015-10-11 22:46 by Hi! I just wish to offer you a huge thumbs up for
    Hi! I just wish to offer you a huge thumbs up for your excellent info you have got right here on this post. I'll be returning to your web site for more soon.
    主站蜘蛛池模板: 亚洲一卡一卡二新区无人区| 亚洲综合久久成人69| 亚洲欧美日本韩国| 黄色片在线免费观看| 亚洲精品在线网站| 久久www免费人成看片| 亚洲视频精品在线观看| 91嫩草免费国产永久入口| 亚洲欧洲日产v特级毛片| 无人在线观看完整免费版视频| 91嫩草亚洲精品| 女人18毛片a级毛片免费| 亚洲av日韩综合一区久热| 国产免费av片在线播放| 无人视频在线观看免费播放影院| 四虎在线播放免费永久视频| 一级毛片高清免费播放| 亚洲成a人片77777kkkk| 亚洲精品视频免费看| 亚洲JIZZJIZZ妇女| 亚洲精品亚洲人成在线观看下载| baoyu777永久免费视频| 亚洲精品国产手机| 爽爽日本在线视频免费| 亚洲第一视频在线观看免费 | 卡1卡2卡3卡4卡5免费视频| 国产AV无码专区亚洲AV蜜芽| 亚洲午夜爱爱香蕉片| 三年片在线观看免费观看大全动漫 | 亚洲天堂2017无码中文| 免费的一级片网站| 91免费在线视频| 亚洲成_人网站图片| 亚洲AV无码乱码在线观看| 亚欧免费一级毛片| 亚洲爆乳无码专区www| 亚洲国产精品无码成人片久久| 免费看h片的网站| 免费VA在线观看无码| 亚洲国产午夜精品理论片| 亚洲精品动漫人成3d在线|