Skip to content

deprecate pexpect interface to GAP #26963

@embray

Description

@embray

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:

  1. Rename the global variable gap to gapx. I chose the name gapx because it is reminiscent of "gap ex" and also "gap peXpect", but not "xgap" because that is too easily confused with the xgap interface.

  2. The gap global will, for now, still be the pexpect interface, but will produce a deprecation warning stating that in the next version gap will become the libgap interface, and also link to a code porting guide.

  3. After this deprecation period, change the gap global to be the libgap interface (keeping gapx for the pexpect interface). Leave libgap as an alias for gap 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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions