【问题标题】:How to add a Clojure REPL to an existing .NET application?如何将 Clojure REPL 添加到现有的 .NET 应用程序?
【发布时间】:2011-02-04 12:07:10
【问题描述】:

如何将交互式 Clojure REPL 添加到现有 .NET 应用程序中,以便可以将其用作实时调试辅助工具? (理想情况下,这将是一个 C# REPL,但这些都有些偏离(也许是 .NET 5.0?)我最后听到的:http://channel9.msdn.com/blogs/pdc2008/tl16

我知道 GitHub 上有 Clojure-CLR 项目,但我想知道是否有人已经提出了将 Clojure-CLR REPL 集成到现有应用程序的指南或简单库?

【问题讨论】:

    标签: .net clojure read-eval-print-loop


    【解决方案1】:

    我不知道 Clojure CLR 与常规 Clojure 有何不同,所以这可能没有帮助,但您应该看看这些 REPL 的实现:

    我很容易将 Enclojure REPL 集成到 Redcar Editor 中,所以如果您将 Enclojure 移植到 Clojure CLR,这可能是您的一个选择?关于 Enclojure REPL 的代码非常简洁,所以我认为这不会是一项巨大的工作。

    如果您不想要任何花哨的东西,您可以随时使用 load-string 函数推出自己的 REPL。

    【讨论】:

    • 这是一个非常可怕的答案。他不希望 clojure repl 用于 clojure,他希望 clojure repl 与缺少的平台互操作。
    • @Matt 使用普通的 clojure repl,您可以与 JVM 的其余部分进行交互。我假设您可以像使用 Clojure-CLR 一样与 CLR 交互?我误会了什么?
    • 因为所有这些都涉及严重的黑客攻击(例如 vimclojure 使用的 Nailgun),或者高度依赖 JVM(就像与 netbeans 相关的任何事情)
    • enclojure repl 确实与netbeans无关。服务器是250行clojure,50行java。我几乎不会考虑移植问题吗?除非 Clojure-CLR 的功能如此不同以至于不切实际?
    • 确实如此。我为反应的激进表示歉意。我以为您并没有真正理解这个问题,只是链接到对他没有任何帮助的随机 repl 实现,因为它们都是基于 jvm 的。删除downvote(需要先编辑,这样我的投票才能解锁)
    【解决方案2】:

    如果我正确理解您的问题,您会想要一个 C# REPL,但如果您正在寻找任何类型的基于 .NET 的 REPL,那么 Clojure 似乎是一种可能性,因为它已经有一个 REPL,并且有一个Clojure 的 .NET 端口。

    如果是这样,您可以考虑集成 F# REPL、F# Interactive。一,已经是integrated into the open-source MonoDevelop IDE,所以有源代码可以参考。

    【讨论】:

    【解决方案3】:

    我最终的解决方案是采用 IronPython。正如 Joel 正确指出的那样,我与 Clojure 并没有特别的联系(我的问题是不恰当的),任何支持交互式开发的语言都可以。

    Looking for eval function in any .NET language

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-10
      • 1970-01-01
      • 2016-10-28
      • 2016-09-25
      • 2013-12-08
      • 1970-01-01
      • 2014-09-28
      • 2012-01-27
      相关资源
      最近更新 更多