#19163: LatticePoset creation: Empty argument, better error reporting
-------------------------------------+-------------------------------------
       Reporter:  jmantysalo         |        Owner:
           Type:  enhancement        |       Status:  needs_review
       Priority:  minor              |    Milestone:  sage-7.1
      Component:  combinatorics      |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  Jori Mäntysalo     |    Reviewers:
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  u/jmantysalo/latticeposet_creation__empty_argument__better_error_reporting|  
b42c0e7cabca4264e55291ff5e6114d1d00a0a7b
   Dependencies:                     |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by tscrim):

 Replying to [comment:11 jmantysalo]:
 > Replying to [comment:10 tscrim]:
 > > I think this approach of parsing the error message just makes things
 needlessly more complicated (and takes extra time if you, say, want to
 check if a set of posets are meet-semilattices).
 >
 > ?? Error message is only parsed when there is a message. And to just
 check use `is_meet_semilattice()`. I can't see how this would slow down
 anything.

 Suppose you iterate over a collection of posets and you want to determine
 which of them are (semi)lattices. Then for those that are lattices, you do
 some extra processing on them. Being Pythonic (and to avoid double
 checking things), you just cast the poset to a lattice and do nothing if
 an error is thrown. That is where the slowdown comes in.

 > > Instead, I would just allow the error from calling
 `self._hasse_diagram.meet_matrix()` to propagate up.
 >
 > It is very irritating if the elements of the lattice are integers. Then
 we may got error saying that 5 and 8 have no meet, when actually it is 6
 and 10 that have no meet.

 That is a good point. However, I would much rather have a less informative
 error message than the (IMO fugly) string parsing code you currently have.
 It seems like Volker's suggestion of doing a custom error class will be
 what you want (if you think it is important to see (only) one instance
 where the lattice property fails).

--
Ticket URL: <http://trac.sagemath.org/ticket/19163#comment:12>
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.

Reply via email to