In the sage.libs.gap package, in the assigned_names.py module, there
is a function called just list_functions() [1] which is documented to
"Return the GAP documented global functions".

This is used in the all_documented_functions.py [2] module to create
Python wrappers for "all documented GAP functions, they can be thought
of as the official API of GAP".

This turns out to create a bit of a problem: The GAP function
IsDocumentedWord, which this code uses to determine if a function is
"documented", works by searching for the function's name in all
documentation known to GAP.  By default this is just the standard GAP
reference docs.  However, if you have any GAP packages installed, it
will *also* search the docs for those packages.

If you have lots of packages installed that means this is *extremely*
slow, even if we're just searching for terms that we only care about
being in the main GAP docs.

Though perhaps it is a faulty assumption that this is "the official
API of GAP" in the first place.  Or at the very least, perhaps we
don't really need to care about whether or not the function is
"documented", and that just returning all global functions is good
enough for a first pass.

But I'm not sure.  Volker wrote this code originally so he would know
best.  But what do we want to present as the "API" provided by Sage's
GAP interface?






[1] 
https://gitlab.com/sagemath/sage/blob/master/src/sage/libs/gap/assigned_names.py#L118
[2] 
https://gitlab.com/sagemath/sage/blob/master/src/sage/libs/gap/all_documented_functions.py

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to