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

欢迎!请参阅关于页面获取更多关于是如何工作的信息。

0
ClojureCLR

REPL无法正确处理退格字符,甚至倒退过“user=>”提示,显然在评估过程中根本没有捕获。此外,在尝试评估“clojure-version”时,当我输入"clojure " <----空格,而不是"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 发布

标记破坏了我的错误报告显然,哎呀。我的意思是,我按下星号的clojure后打空格,而不是连字符。

0

评论由:dmiller 发布

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

0

评论由:shlomocomputer 发布

关于这个版本,值得一提的,Mono 随着C1. REPL一起提供,并且运行良好。REPL 代码是一个900行的程序,它使用了一个1000行的getline库。后者不依赖于 System 命名空间之外,这是好的,但我不知道它将如何与 MS .NET 一起工作。无论如何,我已经附上了它供您考虑(在 Ubuntu "mono" 软件包源中的路径是 mcs/tools/csharp/getline.cs)。

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