-
-
Notifications
You must be signed in to change notification settings - Fork 452
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
libgap attribute access #26959
Comments
Changed keywords from none to libgap attribute access |
comment:2
I agree. We had a long e-mail thread sort of discussing this, and it led to frustratingly few useful conclusions. The problem is that right now there is a hard-coded list of what global variables in GAP can be accessed via attribute access on the I'm not totally sure this matters though. It should still be understood that the |
comment:3
A further complication is that what's working in GAP depends upon the set of GAP packages installed and/or loaded. |
comment:4
In the ECL wrapper I decided against this. If
If you view these instructions like the "import" statements required in python, it won't seem so onerous. It would be possible to create a namespace object that does have the above semantics, but caches the wrapper (it would basically be a defaultdict). This could then be used for permanent objects, such as functions (perhaps have some technology that also tries |
comment:5
Replying to @nbruin:
Yes, that is what I was afraid of. And actually in the p_group_cohomology version that I am testing right now, I do what you suggest: I define So, I wouldn't mind to close this ticket as "won't fix". |
comment:6
There's still something to be done here. See also the thread from https://groups.google.com/d/msg/sage-devel/iPTfFXUk8XU/UX3qr42xAQAJ It's just not 100% clear to me, as a non-GAP user, what the best way forward is. I asked Alex Konovalov (specifically w.r.t. how to determine what functions in GAP are "standard") and he wasn't sure either, or didn't understand the question. |
comment:7
Replying to @nbruin:
I don't follow you here. In the GAP interface there is no substantive difference between these cases: It still has to create a The only thing about the attribute getter is that it has some code for slightly fast-tracking functions, but even it is unnecessary (it effectively is just skipping checking the object's TNUM) and brittle (it assumes that everything in our hard-coded list of "common GAP functions" is still actually a function, when really GAP allows names to be redefined quite easily a la Python). For functions that are used frequently there is also |
comment:8
Retarging tickets optimistically to the next milestone. If you are responsible for this ticket (either its reporter or owner) and don't believe you are likely to complete this ticket before the next release (8.7) please retarget this ticket's milestone to sage-pending or sage-wishlist. |
comment:9
Removing most of the rest of my open tickets out of the 8.7 milestone, which should be closed. |
comment:10
This is fixed since a while ago by #27911. It is further improved on in #31404, since gappy does not use |
If
foo
is defined in libgap, thenlibgap.foo
should access it. Currently it doesn't:I guess
libgap.fail
would be more pythonic thanlibgap.eval('fail')
.Note that only part of the above works in the pexpect interface:
CC: @dimpase
Component: interfaces
Keywords: libgap attribute access
Issue created by migration from https://trac.sagemath.org/ticket/26959
The text was updated successfully, but these errors were encountered: