Workspace support

Issue #2 resolved
Former user created an issue

Hi, does libgap support GAP Workspace (http://www.gap-system.org/Manuals/doc/ref/chap3.html#X7CB282757ACB1C09) ?

From the system.c, libGAP_options array it seems it does. But if i had 2 arguments in the argv array of the init function in test.c :

char* argv[14]; .... argv[12] = "-L"; argv[13] = "/tmp/test"; ....
int argc=13;

I have a segfault. Maybe i missed something ?

Comments (12)

  1. Volker Braun repo owner

    I haven't tried to figure out how to use the saved workspace feauture. Presumably the path has to point to an actual saved workspace, perhaps more.

  2. Pierre-Alain BOURDIL

    the path i used point to a saved workspace. The point is workspace speeds up the loading time of GAP. Do you plan to add this feature ?

  3. Volker Braun repo owner

    Its probably not that hard, presumably one just has to see what gap does during startup with the workspace directory argument. It would be great if you could look into it. Feel free to ask if you have any problems.

  4. Dmitrii Pasechnik

    Good news! It's not a real bug, or at least it's something one can live with. One just have to create the workspace from the libGAP. Such a workspace loads into libGAP just fine! (And it does not load into the "normal" GAP).

  5. Dmitrii Pasechnik

    Volker, would you like any special code (a function to do workspace saving, and a parameter, filename of the workspace to be loaded, passed to a libGAP startup function) for handling workspaces implemented in libGAP itself? Or you rather leave it as it is, and only do workspace handling on the Sage side?

  6. Volker Braun repo owner

    I don't think we need anything in libgap (could be wrong). Just pass the right argument in sage.libs.gap.util.initialize() if there is a saved workspace. Do you want to work on it?

  7. Dmitrii Pasechnik

    Well, I promised to either speed up libGAP startup time, or rework a libGAP-based patch into "normal" GAP one. :-) Of course I'd rather work on the former.

    A dedicated libGAP function to generate a workspace might make sense, unless one achieves workspace interoperability with "normal" GAP. No idea how hard the latter is. The issue shows that the workspace layouts are not identical, and this is something I don't feel like trying to figure out myself.

  8. Log in to comment