【问题标题】:How to call external commands in Scheme?Scheme中如何调用外部命令?
【发布时间】:2019-01-14 18:33:55
【问题描述】:

在 Unix 系统上是否可以在 Scheme 中调用外部命令?最简单的方法是什么?

谢谢。

【问题讨论】:

  • @assefamaru 与guile 之后提出的问题不同,而这个问题不是。
  • 你已经尝试了什么?您是否尝试过阅读手册 - 听起来很老式 - 但 Scheme 系统通常有一些文档。我希望 Unix 上的大多数 Scheme 实现都可以调用外部程序。
  • 我到处找,包括这个网站,但我没有找到任何具体的方案。

标签: scripting scheme lisp


【解决方案1】:

没有这样的特性,而且 FFI(外来函数接口)不是 Scheme 标准的一部分。

有些实现用其他特性扩展了 Scheme,Racket 就是其中之一。

Chicken Scheme 有一个 extension to call a command 和几个 FFI,包括 Lazy FFI

Racket 可以通过Processes 执行命令,它还具有FFI,可以与您机器上的任何东西进行交互。

Scheme 有一个related question specific to Guile 版本。

由于您已标记 Lisp,因此有一个 related question specific to Common Lisp

【讨论】:

  • 嗯...鉴于通常无法在方案中调用外部二进制文件,您是否知道任何方案派生语言允许这样做并适用于 unix 脚本? (我宁愿不使用球拍,因为它有点臃肿,简单和“好”是我试图摆脱 bash 的原因。
  • @user279540 我已经添加了鸡,但我用得不多。您可能可以查看 different implementations 并找到最适合您的。
  • @user279540 有 scsh 但似乎有一段时间没有人更新了。
  • MacOS 上最小的球拍发行版是一个 8.6MB 的 DMG 文件,不是那么大。
  • 我听说过 scsh,但出于这个原因不愿意使用它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-30
  • 1970-01-01
  • 2015-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多