# Can I read a Gap file into my current Gap session within Sage?

I have a collection of functions defined for Gap, and I'd like to be able to read their definitions and use them from Sage. I've noticed the load_package function, but this seems to require that my function definitions be installed as a Gap package. I'd like to be able to do something like

sage: gap('Read("gap_defs.g");')


and then

sage: X = gap('customFunction()')


to return the Sage-wrapped output of my gap function. However this doesn't seem to work, and nor do any of the (many) variants I've tried. Suggestions?

If installing the definitions as a Gap package is necessary, could someone tell me where the files should be put so that Sage's copy of Gap can find them? (i.e. what is the Gap root for Sage's Gap?)

edit retag close delete

Sort by » oldest newest most voted

You should be able to do the following:

sage: gap.Read('"gap_defs.g"') #similarly gap.eval('Read("gap_defs.g");')
sage: X = gap.customFunction() #assuming customFunction() returns an object


If that isn't working for you, you'll have to be more specific as to what the error is.

Note that doing

sage: gap('Read("gap_defs.g");')


is equivalent to doing something like

sage24 := Read("gap_defs.g");


in GAP. If you want to just evaluate a command in the session, use gap.eval('XXX').

more

just what I needed -- thanks!  ( 2010-12-11 12:51:21 -0500 )edit