Hi, I have gone through sympy and made a list of the functions and methods (of Basic) that are essential "action verbs", like "expand", "simplify", etc. I plan on using sympy with students and for this purpose, I need to have a super clean user interface. My students and I will go crazy if I have to continually answer the "is * a method or function" question. In this email I am only focusing on the user interface (how users call things) NOT on the implementation. Implementation is an entirely different issue.
I have divided the list into 3 categories: 1. The action verb appears as both a global function AND a method of Basic. 2. The action verb appears only as a global function. 3. The action verb appears only as a method of Basic. * I have focused on action verbs that deal with a single expression, so things like sum and product are not included. * I probably have missed some of the more obscure ones. Here is the data: Both global function and Basic method ===================================== evalf series diff integrate limit expand rewrite conjugate Only global function ==================== simplify nsimplify *simp refine cancel invert expand_* apart collect separate together factor Only Basic method ================= subs doit n nseries lseries fdiff extract_multiplicatively This data below suggest that the "action verbs" in sympy are not treated in a consistent manner - in fact, to the untrained eye, it looks like we flip a coin (OK, maybe a 3 sided coin) to determine where we put these action verbs. I would love to help make a decision on how to handle these action verbs in a uniform manner across sympy. If we can reach a decision, I am willing to help implement the decision AND document it clearly throughout the sympy sphinx docs. Here are the options that I see: A. Make all action verbs functions, never methods (the global functions could still call _private implementation methods). B. Make all action verbs methods, never functions (those methods could still call a global but _private implementation function). C. Make all action verbs both function and methods. What do people think? Cheers, Brian -- You received this message because you are subscribed to the Google Groups "sympy" group. To post to this group, send email to sy...@googlegroups.com. To unsubscribe from this group, send email to sympy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sympy?hl=en.