Opened 2 years ago

Last modified 6 weeks ago

#28281 new enhancement

polymake: Do not add global functions as member functions

Reported by: mkoeppe Owned by:
Priority: major Milestone: sage-9.6
Component: interfaces: optional Keywords:
Cc: SimonKing, jipilab, dimpase Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description

Adding the global functions (1) causes some unfortunate clashes (bounding_box example in #22705) and (2) puts a lot of useless member functions in the tab completion of every object.

I assume the decision to add these global functions was done to allow for this:

sage: M = polymake.new_object("Matrix", [[1, 2], [3, 4]])
sage: M.det()
-2

which is not possible in polymake itself, which requires us to use a global function:

sage: polymake.det(M)
-2

This convenience, however, probably does not justify adding hundreds of monstrosities such as M.bipyramid, M.containing_outer_cone to the tab completion of every object.

Change History (6)

comment:1 Changed 2 years ago by embray

  • Milestone changed from sage-8.9 to sage-9.1

Ticket retargeted after milestone closed

comment:2 Changed 22 months ago by mkoeppe

  • Milestone changed from sage-9.1 to sage-9.2

pushing these forward to 9.2

comment:3 Changed 17 months ago by mkoeppe

  • Milestone changed from sage-9.2 to sage-9.3

comment:4 Changed 12 months ago by mkoeppe

  • Milestone changed from sage-9.3 to sage-9.4

Setting new milestone based on a cursory review of ticket status, priority, and last modification date.

comment:5 Changed 6 months ago by mkoeppe

  • Milestone changed from sage-9.4 to sage-9.5

comment:6 Changed 6 weeks ago by mkoeppe

  • Milestone changed from sage-9.5 to sage-9.6
Note: See TracTickets for help on using tickets.