On Sat, Aug 3, 2019 at 3:44 PM Steven D'Aprano <steve@pearwood.info> wrote:
On Sat, Aug 03, 2019 at 03:52:31AM +1000, Chris Angelico wrote:
Also a bit old-school (it took me many years to learn the value of syntax highlighting), and an educator, and I've seen students start out with Jupyter. As an alternative to the vanilla REPL, I think it's awesome [...] But for discoverability, incl tab completion? It's great
*scratches head*
Yeah, you kinda edited me to having a quite different meaning there. That wasn't what I said, thank you.
Do people forget that the vanilla Python REPL has come with tab completion for nearly 20 years, and on by default for something like seven years?
https://hg.python.org/cpython/rev/d5ef330bac50 https://docs.python.org/release/2.0/lib/module-rlcompleter.html
(At least on Linux/POSIX systems. I don't know if it works on Windows or Macs.)
1) I don't trust it on arbitrary (mostly Windows) systems, so when I'm recommending to other people, I can't be confident of it. 2) Until recently, tab completion conflicted with tab indentation, making the default REPL very annoying. 3) In many terminals, tab completion of an entire module's contents is impractical. It's fine when you already have the beginning of what you're looking for (eg 1.1.as <tab> to get as_integer_ratio), but this thread is about discoverability, and a lot of modules have enough in them that modulename.<tab><tab> is just going to spam your terminal. GUI tools tend to do better at this. I'm not discounting the value of the vanilla REPL's tab completion, but it is not the ultimate in discoverability. ChrisA