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) 在 :0 ,编译:(NO_SOURCE_PATH:0:0)

...并且将忽略进一步输入,需要使用 ^C 退出。

4 个回答

0

评论者:shlomocomputer

标记破坏了我的错误报告,显然我指的是在asterisk clojure后按空格,而不是破折号。

0

评论者:dmiller

这个问题从Mono一开始就存在。
我向几个人询问过这个问题,但我没有解决方案。
我将在邮件列表上提出一个查询,看看是否有人有建议。

0

评论者:shlomocomputer

就其价值而言,C1. REPL 与兼容 Mono 配套,运行良好。REPL 代码是一个900行程序,使用了1000行的getline库。后者没有对系统命名空间之外的依赖,这是好事,但我不太清楚它会如何与MS .NET兼容。无论如何,我已经将其附加供您参考(在Ubuntu "mono"包源中的路径是mcs/tools/csharp/getline.cs)。

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