SymPy makes REPL to stuck

Confirmed related, disabling the v1.11 REPL hinting in one of the ways that issue linked makes this go away for me, and re-enabling the hinting brings back the freeze. Before it did, using the up-arrow to find and rerun the line worked fine.

julia> Base.active_repl.options.hint_tab_completes = false
false

julia> sympy.apart(ex)
      1        1
- ───────── + ───
  3⋅(n + 3)   3⋅n

julia> Base.active_repl.options.hint_tab_completes = true
true

julia> sympy.apart(ex) # up-arrow to previous line
      1        1
- ───────── + ───
  3⋅(n + 3)   3⋅n

julia> sympy.apart(e

I’m surprised that hinting does type inference for an incomplete call, I thought it would only need to search the scopes for names. This also doesn’t explain why the a = sympy.apart; a(ex) workaround worked; does REPL hinting just not bother inferring a(e there? Whatever it does, I’d definitely want it to give up right after I type another character, on a single thread too.

2 Likes