On Wed, Jul 27, 2011 at 10:48 AM, Jason Grout
<jason-s...@creativetrax.com> wrote:
> On 7/27/11 10:08 AM, Andrey Novoseltsev wrote:
>>
>> To get these lists, it seems to me that one can execute the code
>> "f(75)" in a profiler, collect used functions, and then look for
>> substrings (either modules or particular functions) from a list that
>> gives matches of substrings to components. This list has to be
>> manually maintained, as in general this matching is probably non-
>> trivial, but authours of particular functions and interfaces can
>> easily add them, I think. As a bonus such automated citer will include
>> proper versions for everything.
>
> IIRC, someone (Mike Hansen, I believe) wrote something that would track
> pexpect interfaces or something to see what software was being used.  I
> cannot find the command name for his function, though.

I said *exactly* that in my message too, including not being able to
remember or find the function!

I just asked Mike, and he told me it's sage.misc.citation.  And indeed:

sage: import sage.misc.citation
sage: sage.misc.citation.get_systems("expand(sin(2*x))")
['ginac']
sage: sage.misc.citation.get_systems("integrate(expand(sin(2*x)),x)")
['ginac', 'Maxima']
sage: sage.misc.citation.get_systems("SymmetricGroup(3).cardinality()")
['GAP']

This is clearly not just tracking pexpect interfaces, since ginac is
not pexpect.

 -- William

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to