On Sat, Dec 9, 2017 at 11:37 PM, Alan Thompson <[email protected]> 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 [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
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 [email protected].
For more options, visit https://groups.google.com/d/optout.