#19795: GAP3 does not have IsIdenticalObject
-------------------------------------+-------------------------------------
Reporter: vbraun | Owner:
Type: defect | Status: needs_review
Priority: major | Milestone: sage-7.0
Component: packages: | Resolution:
standard | Merged in:
Keywords: | Reviewers:
Authors: Travis Scrimshaw, | Work issues:
Janoš Vidali | Commit:
Report Upstream: N/A | 8ff1fe8c5e9a3c1a3eaff48c4ef6b38333d5a82d
Branch: | Stopgaps:
public/interfaces/fix_gap3-19795 |
Dependencies: |
-------------------------------------+-------------------------------------
Comment (by aschilling):
Replying to [comment:4 tscrim]:
> Replying to [comment:3 jaanos]:
> > > - a subclass of the GAP interpreter for backwards compatibility with
GAP3 which just has the one difference in `function_call()`,
> >
> > There already is a separate class for GAP3 which inherits from
`Gap_generic`.
>
> Good; let us use that.
>
> > The cleanest solution IMO would be to have a method
`_identical_function` in `Gap_generic` (parallel to `_equality_symbol`
etc.), say:
> > {{{
> > #!python
> > def _identical_function(self):
> > return "IsIdenticalObj"
> > }}}
> > and then have it overridden in `Gap3`.
>
> I think it should be a class-level attribute instead of a method because
it speed cost and a method is IMO somewhat overkill (because no work is
done).
>
> Anne, can you check to see if this works?
> ----
> New commits:
>
||[http://git.sagemath.org/sage.git/commit/?id=8ff1fe8c5e9a3c1a3eaff48c4ef6b38333d5a82d
8ff1fe8]||{{{Adding an identical function class attribute.}}}||
With this branch applied, I still get an error
{{{
sage: gap=Gap3('/Applications/gap3r4p4/bin/gap')
sage: gap.RequirePackage('"specht"')
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call
last)
<ipython-input-2-c539883f0214> in <module>()
----> 1 gap.RequirePackage('"specht"')
/Applications/sage/local/lib/python2.7/site-
packages/sage/interfaces/interface.pyc in __call__(self, *args, **kwds)
605
606 def __call__(self, *args, **kwds):
--> 607 return self._parent.function_call(self._name, list(args),
kwds)
608
609 def _sage_doc_(self):
/Applications/sage/local/lib/python2.7/site-
packages/sage/interfaces/gap.pyc in function_call(self, function, args,
kwds)
920 self.eval(marker)
921 res = self.eval(cmd)
--> 922 if self.eval(self._identical_function +
'(last,__SAGE_LAST__)') != 'true':
923 return self.new('last2;')
924 else:
/Applications/sage/local/lib/python2.7/site-
packages/sage/interfaces/gap.pyc in eval(self, x, newlines, strip,
split_lines, **kwds)
568 if not input_line.endswith(';'):
569 input_line += ';'
--> 570 result = Expect.eval(self, input_line, **kwds)
571 if not newlines:
572 result = result.replace("\\\n","")
/Applications/sage/local/lib/python2.7/site-
packages/sage/interfaces/expect.pyc in eval(self, code, strip,
synchronize, locals, allow_use_file, split_lines, **kwds)
1237 elif split_lines:
1238 return '\n'.join([self._eval_line(L,
allow_use_file=allow_use_file, **kwds)
-> 1239 for L in code.split('\n')
if L != ''])
1240 else:
1241 return self._eval_line(code,
allow_use_file=allow_use_file, **kwds)
/Applications/sage/local/lib/python2.7/site-
packages/sage/interfaces/gap.pyc in _eval_line(self, line, allow_use_file,
wait_for_prompt, restart_if_needed)
766 return ''
767 else:
--> 768 raise RuntimeError(message)
769
770 except KeyboardInterrupt:
RuntimeError: Gap3 produced error output
Error, Variable: 'IsIdenticalObj' must have a value
executing IsIdenticalObj(last,__SAGE_LAST__);
}}}
I will be traveling for at least 15 hours now and won't have any internet
on the plane ....
--
Ticket URL: <http://trac.sagemath.org/ticket/19795#comment:5>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.