On Sat, Dec 9, 2017 at 11:37 PM, Alan Thompson <clooj...@gmail.com> wrote:
> Hi - Just downloaded the new Clojure 1.9.0 package. When I tried the repl > I noticed that it doesn't respond to either `exit` or `quit` as one might > expect from the lein repl: > > ~/cool/tools > clj > Clojure 1.9.0 > user=> (+ 2 3) > 5 > user=> exit > CompilerException java.lang.RuntimeException: Unable to resolve symbol: > exit in this context, compiling:(NO_SOURCE_PATH:0:0) > user=> > user=> quit > CompilerException java.lang.RuntimeException: Unable to resolve symbol: > quit in this context, compiling:(NO_SOURCE_PATH:0:0) > user=> ^D > ~/cool/tools > > > > Lein repl for comparison: > > ~/tupelo > lein repl > nREPL server started on port 37115 on host 127.0.0.1 - Clojure 1.9.0 > tupelo.core=> exit > Bye for now! > > ~/tupelo > > > ~/tupelo > lein repl > nREPL server started on port 40639 on host 127.0.0.1 - Clojure 1.9.0 > tupelo.core=> quit > Bye for now! > ~/tupelo > > > > The new repl does terminate upon CRTL-D or CRTL-C, but many users will > probably be confused that `quit` and `exit` are not accepted. > To recap, my lein repl starts with the following help banner: Docs: (doc function-name-here) (find-doc "part-of-name-here") Source: (source function-name-here) Javadoc: (javadoc java-object-or-class-here) Exit: Control+D or (exit) or (quit) Results: Stored in vars *1, *2, *3, an exception in *e That doesn't suggest that `exit` alone without the function call is going stop the main loop. The problems begin when one tries to use it in the middle of an unfinished s-expr, a primary reason could be that the user doesn't understand the changed prompt: user=> (+ 1 #_=> exit #_=> ) CompilerException java.lang.RuntimeException: Unable to resolve symbol: exit in this context, compiling:(/tmp/form-init4088985676787273132.clj:1:1) Actually, a more likely scenario is like this: user=> (+ 1 #_=> exit #_=> quit #_=> help #_=> why are you doing this to me? Nor does (exit) call works, which is contrary to the help doc: user=> (+ 1 #_=> (exit)) CompilerException java.lang.RuntimeException: Unable to resolve symbol: exit in this context, compiling:(/tmp/form-init4248691177104478700.clj:2:1) An interesting thing is the same issue is discussed currently on the PostgreSQL mailing list about behavior of psql: https://www.postgresql.org/message-id/flat/94e59791-e788-4ebb-80a9-9c871ff5df64%40manitou-mail.org In particular, the following suggestion seems to provide a reasonable way out of this problem: https://www.postgresql.org/message-id/flat/94e59791-e788-4ebb-80a9-9c871ff5df64%40manitou-mail.org#1735.1512761160%40sss.pgh.pa.us Not sure if this can be done with Clojure, short of employing reader macros in some way? Cheers, -- Alex -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.