On 2013-06-26, Christian Stump <christian.st...@gmail.com> wrote:
> Hi Nathan --
>
>> I was thinking of our find_stat battle from one week ago, and I
>> wondered if you could answer the questions I raised in my answer to
>> your post. In particular (but not only) about the methods added to
>> Graph and Poset ?...
>
> Given the level of "shrillness" to which you certainly contributed, I
> didn't actually plan to answer again. But okay...
>
> I keep voting for having the methods added to Graphs and to Posets. I
> just looked again at the list of methods for graphs, and there are 280
> of them. For me (and some others, whichever reason we might have)
> these two methods are useful for our "mathematics research" and that
> makes it already a strong case for keeping them. 

it seems to be some kind of ongoing project
which might be very important for you, but outsiders have no clue
what it is, it seems. Indeed, check out
http://en.wikipedia.org/wiki/Combinatorial_map :-)

Moreover, your methods are little more than some kinds of tags,
hidden in the decorator.


> If you feel like
> there are too many methods, why not deleting "am" as a shortcut for
> "adjacency_matrix", or replacing the almost 50 "is_???" by
> "has_property(???)", including "antisymmetric" which should rather be
> "is_antisymmetric", or replacing all "to_???" by a single method. If
> there is a majority to delete them, or a particular reason why exactly
> these methods out of the 280 should be deleted (I do not see either of
> the two in this discussion currently), I would certainly be okay with
> doing so. Simply "you want these methods for a 3rd party project, and
> I don't like that" is not convincing to me.

it is however might sound convincing that you basically pollute the codebase 
with
stuff that only you and your collaborators know about.

Imagine NSA got interested in certain maths stuff,
wrote little @PRISM_map decorator and put it all over Sage ;-)

> Concerning the general design of the combinatorial_map decorator: I
> implemented it in a way which did not interfere with other peoples
> code or usage of Sage AND it made Sage better for several users. I
> think that makes it a valid contribution.
>
> It might have downsides. But you basically wrote "I don't like it the
> way it is done" without giving any reason. 

the reason is as stated above, it seems - polluting the codebase with strange 
stuff...

> An example: You mentioned
> that it does run code each time the method is called, and this cannot
> be avoided in the current implementation. This is true for ANY method
> in Sage, with or without this decorator.
> You and others asked if it slows down the methods or the
> initialization of objects, and we did disprove both.
> You said that you do not like decorators, that's okay but your
> personal preference.
> You do not like that the method gets a thin layer around, but you did
> not argue why this is (or might become) a problem - so far, the
> infected methods seemed to be doing okay.
>
> If you do not like its design (for whatever reason), feel free to
> provide improvements and discuss your improvements (I did ask about
> the combiatorial_map decorator at various occasions, including the
> mailing list, and no one complained). 

Did you? The first time combinatorial_map features in the subject line
of sage-devel is this very thread. Just googling combinatorial_map
doesn't seem to produce meaningful hits either.

> However such improvements might
> look like, I want to stay able to ask which methods for a
> "combinatorial set" are maps to "combinatorial sets" (see the method
> combinat.combinatorial_map.combinatorial_maps_in_class), and (though
> this would only come in a little while in the current implementation)
> I want to tag such maps with mathematical information (okay, the
> docstring could be used for such information, but this could become
> complicated since the docstring is then used to provide the user with
> infos, and to be (partially) machine interpretable at the same time).

Well, again, are you sure it's OK to liberally tag library code for your own
projects? Do you make marks on pages of library books just because it is
convenient for you?

Dima


>
> Cheers, Christian
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to