代码之家  ›  专栏  ›  技术社区  ›  adhanlon

什么是最好的方案解释器或编译器?[关闭]

  •  43
  • adhanlon  · 技术社区  · 16 年前

    大家好,我想开始使用这个方案,我有两个问题。首先,您是否建议对方案使用解释器或编译器?为什么?其次,您会推荐哪种方案的解释器或编译器,为什么?谢谢!

    5 回复  |  直到 10 年前
        1
  •  26
  •   alexei Shaun07776    12 年前

    对于初学者,我强烈推荐 DrRacket (以前叫Dr.Scheme),因为它为您提供了一个非常好的工作环境,支持方案的多种方言,并提供了非常好的失败和调试信息。我相信方案的大多数实现都是解释器,尽管有可能存在编译器。

    如果你是一个像我一样的命令行瘾君子,你可以考虑的另一个选择是运行 racket 直接解释器,基本上和Racket博士一样,但是没有图形环境和命令行界面。或者,使用启动源文件 #! /usr/bin/env racket 并使其可执行 chmod +x source.rkt .

        2
  •  26
  •   Electric Coffee    10 年前

    我知道你已经接受了这个答案,但对于未来的访问者,我建议 Chicken Scheme . 它往往产生 许多的 比MzScheme更小的可执行文件。以下面的Hello World应用程序为例:

    (define (say-hello name)
      (print (string-append "Hello, " name))
      (newline))
    
    (say-hello "Earthling")
    

    用mzc编译--exec mztest hello.scm:3.3m

    用csc hello.scm编译-o ctest:16k

    如果你想得到图书馆的支持,鸡会提供 Eggs Unlimited 就像是Mzscheme的行星(或者红宝石的行星)。

        3
  •  10
  •   iKlsR    13 年前

    我建议你 Gambit-C 方案:

    • 它符合R5RS。
    • 它有一个解释程序和一个编译器。您也可以编译为ANSIC。
    • 它是开源的。
    • 它是便携式的。(它运行在Linux、Windows、Mac OS X甚至iOS上。)
    • 它具有简单的外部功能接口(FFI)。

    粗略的检查显示,鸡肉似乎并不令人满意,而bigloo可能是一个严重的竞争者。但我不能对他们评论太多。

        4
  •  8
  •   Jerry Coffin    16 年前

    我建议您不要担心它是作为编译器、解释器实现的,还是作为它们的组合实现的——尤其是从一开始,帮助文件的质量(例如)将比它的实现方式更重要。

    至于哪一个, PLT Scheme 是我最经常使用的。

        5
  •  3
  •   Mike Weller    15 年前

    PTL方案已更名为Racket( http://racket-lang.org/ ,但仍然大致相同。Racket博士是一个非常漂亮的开发环境,有一个shell,要编写这个方案,您所需要的就是 #lang scheme 在文件的顶部。