请在2024 Clojure 状态调查中分享您的想法!

欢迎!请查看关于页面以了解更多关于如何使用本网页的信息。

0
ClojureCLR

REPL 没有正确处理退格字符,即使在“user=>”提示符后面回退,但似乎在评估过程中完全没有被捕获。而且,当我尝试评估“clojure-version”时,这是我所发生的事情:输入"clojure " <----space(而不是 "clojure- <-----破折号)。

$ mono Clojure.Main.exe
Clojure 1.5.0
user=> clojure CompilerException System.InvalidOperationException: 在此上下文中无法解析符号:clojure
at clojure.lang.Compiler.ResolveIn (clojure.lang.Namespace n, clojure.lang.Symbol symbol, Boolean allowPrivate) (link: 0x00000) in :0
at clojure.lang.Compiler.Resolve (clojure.lang.Symbol symbol) (link: 0x00000) in :0
at clojure.lang.Compiler.AnalyzeSymbol (clojure.lang.Symbol symbol) (link: 0x00000) in :0
at clojure.lang.Compiler.Analyze (clojure.lang.CljCompiler.Ast.ParserContext pcontext, System.Object form, System.String name) (link: 0x00000) in :0 , compiling: (NO_SOURCE_PATH:0:0)

...之后的所有输入都将被忽略,需要使用 ^C 来退出。

4 个答案

0

评论者:shlomocomputer

标记损坏了我的错误报告显然,嗯。我意思是说,我在星号后打空格而不是破折号。

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报告)
...