-
-
Notifications
You must be signed in to change notification settings - Fork 654
Description
Once #26902 is complete, and Sage itself has no internal dependency on the pexpect interface to GAP, it should probably be deprecated entirely.
Completing work on #26902 will likely expose additional, previously unknown deficiencies in the libgap interface, but once those are all resolved there will be little (if any?) advantage to using the pexpect interface.
Here's a proposed strategy for deprecating the gap pexpect interface (henceforth referred to as "gapx" to avoid confusion) and eventually making the libgap interface the default gap interface:
-
Rename the global variable
gap
togapx
. I chose the namegapx
because it is reminiscent of "gap ex" and also "gap peXpect", but not "xgap" because that is too easily confused with the xgap interface. -
The
gap
global will, for now, still be the pexpect interface, but will produce a deprecation warning stating that in the next versiongap
will become thelibgap
interface, and also link to a code porting guide. -
After this deprecation period, change the
gap
global to be the libgap interface (keepinggapx
for the pexpect interface). Leavelibgap
as an alias forgap
but don't deprecate it.
?. Do we do anything with the _gap_
and _libgap_
magic methods? I think they should be renamed similarly _gap_
-> _gapx_
but this could be harder to manage.
Depends on #26902
Component: interfaces
Keywords: gap libgap
Issue created by migration from https://trac.sagemath.org/ticket/26963