2009-10-15 61 views
2

我正在编写一个命令行解释器的想法,我怀疑Clojure这样的函数式语言非常适合这项任务。使用功能语言实现命令行解释器

然而,我只有5年没有获得CS学位,而我在功能语言方面的唯一经历与Haskell在第三年语言课程中的经历令人痛心。

那么,Clojure这样的语言是否适合这项任务呢?如果不是,那么理想的语言是什么。

宽松要求:

  • 必须在JVM上运行
  • 提供,用户与像语法CLI
  • 用户命令最终落得使用拨打电话到远程服务输入命令交互的shell肥皂。

谢谢!

+0

因此,您的需求(来自您的需求和标题列表)是“在JVM上运行并在服务器上编译的函数式编程语言通过SOAP连接“? – scravy 2011-12-01 02:00:22

回答

3

您可以使用Clojure和Scala以及Java如果您添加了BeanShell即可近似执行此操作。你可以看看他们已有的REPL设施。

我想这仅适用于复杂的用户。但是,真的很难想象一种在CLI上做不好的语言。

在平台之间做出决定,现代系统越多,脚本语言便利性就越高。

我当然知道我会使用给你的要求:JRuby。 (它也有一个开箱即用的REPL。)

+0

感谢您的线索。我一定会研究它。你对复杂的用户提出了一个非常好的观点。这是主要由那些很难学习函数式编程的系统管理员使用的东西。 我想熟悉Clojure这样的语言,所以我会为那把锤子找到更好的钉子。 谢谢。 – ckovacs 2009-10-15 03:36:32

+0

所以如果你安装了这些,你只需运行'scala',JRuby REPL通过运行'jirb',Clojure REPL通过运行'bin/repl.sh'来获得Scala REPL,我不知道如何运行BeanShell,但如果它是'$ bs'就不会有趣。 :-) – DigitalRoss 2009-10-15 04:02:17

+0

jruby +1 - 它非常适合这种事情 – 2009-10-18 06:51:23

0

我不认为CLI在语言方面有任何特定的要求;你可以用Java或Scala编写它。最终我认为语言选择可以达到:

  1. 哪些是你最舒服的工作。
  2. 哪些对您想要执行的操作(即Web服务)有足够的库支持。