莊周夢蝶

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

          Scheme interpreter in clojure

          Posted on 2011-01-24 10:42 dennis 閱讀(3805) 評論(0)  編輯  收藏 所屬分類: my open-source 、計算機科學與基礎 、Clojure
               昨天晚上用clojure搞了個scheme解釋器,基本上是sicp里的解釋器的clojure翻譯版本,可能唯一值的一提的是對transient集合的使用,實現副作用的set!??偣泊a包含注釋才366行,支持的feature包括

          Feature Supported Comment
          define yes
          lambda yes
          variable lookup yes
          primitive procedure evaluation yes
          compound procedure evaluation yes no tail recursion yet
          if yes
          cond yes
          let yes

          let* yes
          no named let* yet
          letrec no
          begin yes

          set! yes

          quote yes
          quasiquote no
          unquote no
          delay no
          define-syntax no

                 支持的primitive procedure包括常見的四則運算、car/cdr、list以及display、newline等。代碼放在了github上:https://github.com/killme2008/cscheme,有興趣的可以玩玩吧。
          主站蜘蛛池模板: 文化| 原平市| 磐安县| 长白| 岱山县| 米易县| 汉沽区| 红河县| 沁源县| 万盛区| 长沙县| 无极县| 龙陵县| 曲松县| 贵定县| 拉孜县| 蒙山县| 于都县| 梁山县| 望都县| 凤庆县| 吉水县| 辽中县| 英吉沙县| 临夏市| 阿拉善左旗| 磐安县| 贡觉县| 大田县| 石林| 通州市| 眉山市| 佛学| 通许县| 蒙自县| 德令哈市| 郧西县| 剑阁县| 周至县| 万山特区| 和田市|