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

unix脚本最好的lisp/scheme是什么?

  •  18
  • jshen  · 技术社区  · 14 年前

    书名很能说明一切。我在主要项目中使用clojure,但它不是一种好的脚本语言,因为jvm启动速度慢,并且不能很好地与一些unixy事物进行交互。因此,我正在寻找一个能很好地工作的lisp脚本语言,例如有一个很好的界面来管理unix进程,很容易使用异步io等。

    7 回复  |  直到 14 年前
        1
  •  14
  •   Nietzche-jou    14 年前

    Scsh(它代表“Scheme shell”)可以在 http://www.scsh.net . 它是“方案48(一个R5RS兼容的新技术方案系统)的变体…”。。。专为编写真实的独立Unix程序和shell脚本而设计。”

    有关it系统管理的详细介绍,请访问 http://www.theillien.com/Sys_Admin_v12/html/v11/i01/a2.htm .

        2
  •  9
  •   SingleNegationElimination    14 年前

    许多常见的unix工具都有 Guile . 如果您的目标是自动化这些工具中的任何一个,那么这可能是一个不错的地方。

        3
  •  8
  •   Tim McNamara    14 年前

    Racket 是一个非常好的方案实现。它相当强大。它的介绍之一是从头开始开发web服务器。

        5
  •  5
  •   Rainer Joswig mmmmmm    14 年前

    CLISP 是一个公共Lisp的实现,对于Unix脚本非常有用。

    CLISP有许多扩展,使其对脚本编写非常有用:Unicode支持、正则表达式、各种命令行选项、套接字流、管道。。。

    另外,C Lisp占用的空间相对较小,为便于移植而用C编写,并且对于一个通用的Lisp来说启动速度很快。

        6
  •  1
  •   Thorsten    13 年前

    带Elisp的Eshell供交互使用:

    “Eshell能够调用Emacs中加载的几乎所有elisp函数。这种灵活性是无与伦比的,没有外壳可以近似Eshell能做什么。事实上,这个功能被大量使用(并且受到鼓励!)埃舍尔。如果您想在Emacs中打开foobar.txt文件,只需调用find file foobar.txt,Eshell就会将其映射到elisp调用(find file“foobar.txt”)并为您打开该文件

    http://www.masteringemacs.org/articles/2010/12/13/complete-guide-mastering-eshell/

        7
  •  1
  •   Warbo    8 年前

    在寻找一种将一些越来越不习惯的bash脚本移植到一种更理智的语言中的好方法时,我遇到过几次这个页面。因为这些脚本已经调用了一些Racket脚本,所以删除一层间接寻址并对所有内容使用Racket是有意义的。

    经过一番搜查,我发现 shell-pipeline 球拍包装。从文档中:

    这个库使外部程序和racket函数的unix风格的管道变得容易。你可以简单地写 (run-pipeline '(cat /etc/passwd) '(grep root) '(cut -d : -f 1)) ,它将打印 "root\n" 到stdout(在unix系统上)并将返回 0 . 要将输出作为字符串,请使用 run-pipeline/out 同样的方式。你也可以把球拍功能放在流水线上。如果你有一个 grep 打电话 my-grep ,你可以 (run-pipeline '(cat /etc/passwd) `(,my-grep root) '(cut -d : -f 1)) 得到同样的结果。因此,您可以在Racket中编写各种过滤函数,而不是使用shell命令。