【问题标题】:What is the best Scheme implementation for (sys-admin) shell scripts?(sys-admin) shell 脚本的最佳方案实现是什么?
【发布时间】:2009-10-21 21:04:58
【问题描述】:

我已经阅读了有关 Scheme 的学术内容(阅读 SICP、The Little Schemer、The Seasoned Schemer、TSPL)并把 Scheme 当作玩具玩了一段时间。

但我想变得实用。 今天我需要写一个shell脚本来做一些批处理文件,并想“为什么不在Scheme中做呢?”。我做到了,很高兴。

现在我不得不想知道对于 shell 脚本类型的东西最好的实现是什么。 我知道所有实现在 R5RS 之外的实现方面都不同。 (基本上,它们在脚本语言中所需的所有有用和实用的扩展方面都不同)。

所以我想选择一种实现方式并坚持下去。我正在寻找这样的东西:

  1. 是跨平台(Linux、OS X、Windows)。
  2. 具有可用于日常 shell 脚本的扩展,这些扩展是基本安装的一部分。
  3. 易于安装。 (例如,有许多预构建的二进制文件,和/或它是许多发行版上的标准包。)
  4. 积极开发,拥有活跃的社区。​​li>
  5. 支持 Unicode。

到目前为止,我一直在使用 Gambit。它似乎满足上述约束。 PLT 似乎有点矫枉过正。想知道 Guile、MIT/GNU 等。

【问题讨论】:

  • 抱歉,我修改了问题的标题。我不清楚我打算用 Scheme 做 sys-admin 类型的东西。问题是 Scheme 环境是您无法在大多数机器上找到的。当我 ssh 进入一个没有 Scheme 环境的盒子时,我宁愿不必为了运行一些小脚本而安装一个 40MB 的下载文件,其中包括一个 IDE、文档、几种语言变体、示例应用程序等。另一位发帖人告诉我,我可以只安装 MzScheme 运行时。这听起来对我来说是一个更好的选择。
  • FWIW,您甚至可以将一些代码“编译”成可执行文件,这基本上是您自己的可执行文件的副本,最后附加了字节码。因此,只要您的机器具有相同的库等,类似的东西就可以工作。

标签: shell scheme


【解决方案1】:

PLT Scheme 符合您的所有条件。由于您似乎已经知道这一点,因此您应该使用 MzScheme 包。 MzScheme 是构建所有 PLT 的运行时。

如果您要下载完整的 PLT Scheme 安装,它会显得很大,因为它除了运行时之外还包含大量文档和 IDE。

【讨论】:

  • 谢谢。我实际上想知道类似的事情,但在 PLT 网站上似乎很难找到该链接。事实上,知道它的存在并没有更清楚地说明如果他们不知道它,他们将如何在 PLT 网站上找到它。
  • 看来MzScheme包的等价物现在是“Racket Textual”。
【解决方案2】:

你听说过scsh吗?我没用过,但听起来很像你想要的。

【讨论】:

  • 嗯...只是看看。 "scsh 的最新版本是 0.6.7,2006 年 5 月 16 日发布:"也许它已经很完美了,不需要更新?
  • Scheme 总是如此。 :)
  • @Nathan 告诉 R6RS 委员会。
  • 我愿意,但我拒绝承认 R6RS 的存在。 :P
  • @z5h 它仍然运行良好。它可能确实需要一些改进,但在大多数情况下它确实运行良好。
【解决方案3】:

我推荐Gauche,即:

  1. 在 Linux、OS X、Windows 上运行 Cygwin 和其他一些UNIX-like platforms
  2. 基本安装包含 符合 POSIX 的系统库和 有用的模块,例如 网络协议、文件系统、 DBM、多线程等...
  3. MacPorts、apt-get、yum 等几个包系统可用 (或者直接说configuremakemake install),
  4. 有活跃的英语和日语邮件列表,
  5. 支持 UTF-8 作为内部编码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    • 1970-01-01
    • 1970-01-01
    • 2010-12-14
    • 2015-02-23
    • 2017-12-21
    • 1970-01-01
    相关资源
    最近更新 更多