2024 年 Clojure 状态调查!中分享您的想法。

欢迎!有关如何使用本站的信息,请参阅关于页面。

0票数
ClojureCLR

REPL 不能正确处理退格字符,即使退回到 "user=>" 提示符,也似乎在评估过程中根本未被捕获。此外,当我尝试评估 "clojure-version" 时,这就是我所输入的 "clojure " <----空格(而非)clojure-" <----破折号"时出现的情况:

$ mono Clojure.Main.exe
Clojure 1.5.0
user=> clojure 编译器异常 System.InvalidOperationException: 无法在当前上下文中解析符号: clojure
在 clojure.lang.Compiler.ResolveIn (clojure.lang.Namespace n, clojure.lang.Symbol symbol, Boolean allowPrivate) (链接: 0x00000) 中进行 (在 :0)
在 clojure.lang.Compiler.Resolve (clojure.lang.Symbol symbol) (链接: 0x00000) 中进行 (在 :0)
在 clojure.lang.Compiler.AnalyzeSymbol (clojure.lang.Symbol symbol) (链接: 0x00000) 中进行 (在 :0)
在 clojure.lang.Compiler.Analyze (clojure.lang.CljCompiler.Ast.ParserContext pcontext, System.Object form, System.String name) (链接: 0x00000) 中进行 ,编译:(NO_SOURCE_PATH:0:0)

......之后的所有输入都被忽略,需要按 ^C 以退出。

4 个答案

0票数

评论者为:shlomocomputer

格式化弄乱了我的错误报告,哎呀。我的意思是,我在 clojure 后面按了空格而不是破折号。

0票数

评论者为:dmiller

这从一开始就是 Mono 上的一个问题。
我曾向几个人询问过,但还没有找到解决方案。
我将会在邮件列表上发布一个查询,看看是否有人有建议。

0票数

评论者为:shlomocomputer

值此机会,值得我们注意的是,Mono随C1. REPL一起提供,且工作良好。REPL代码是一个900行的程序,使用了一个1000行的getline库。后者没有任何对System命名空间的依赖,这是好的,但我不清楚它与MS .NET是如何工作的。无论如何,我已将其附加供您参考(在Ubuntu "mono"软件包源中的路径是mcs/tools/csharp/getline.cs)。

0票数
参考:https://clojure.atlassian.net/browse/CLJCLR-33(由shlomocomputer报告)
...