Hi,

On Sat, Nov 23, 2013 at 04:30:04PM +0100, Harald Schilly wrote:
> > (1) plot is already a specific command that means something, and is
> > not obscure by any definition.
> 
> I proposed "plots." (for me quite logical, since there is also
> "groups."), sage.plot.* is also very good but not quite that ;-)

+1 for "plots.", though "graphics." could also make sense (wrt Graphics()
constructor).

Currently, none of plot<TAB> or sage.plot.<TAB> allows to discover
implicit_plot, which i discovered by reading ask.sagemath.org.

+1 also for "rings." and "fields.", even if we keep ZZ, QQ, AA,... in the
global namespace as well, since they correspond to very standard objects.
As well as with "plots.implicit", those will help the user to discover
what is available in Sage.

Having a unified naming scheme for constructors and related examples will
ease teaching Sage. A single mechanism you can explain in 5 minutes is
much better for the user's autonomy than a lot of shortcuts that maintain
the user in manipulating magic recipes, even if those recipes seem
appealing in a first discovery (for example the icosahedron() method plots
an object that can not be manipulated further than having a fancy picture,
but polytopes.icosahedron().plot() makes much more sense ; the same holds
for circle() that returns a picture, not the plot of something that comes
from a Curve() construction).

I agree that it is somehow cool to be able to show some fancy things that
work out of the box in Sage, so perhaps should we move those in a "demo."
namespace ?

We have a partial "Object()" "objects." correspondance for constructors
and examples, that should be generalised:
 - Graph() graphs.
 - Matroid() matroids.
 - Word() words.
 - CubicalComplex() cubical_complexes.
 - Poset() posets.
 - ToricVariety() toric_varieties.
 - ... (the list is not exhaustive, i may have missed some)

Some are less consistent and should be fixed:

 - Polyhedron() polytopes. (i prefer "Polytope() polytopes." over
   "Polyhedron() polyhedrons." since polyhedron is usually specific to
   dimension 3).

 - BlockDesign()/IncidenceStructure() designs. (note that "Design" is
   unused).

 - Matrix() matrix. (not matrices.). The other issue here is that
   "Matrix.<TAB>" gives you examples (as should "matrices." do). Also,
   matrix is equal to Matrix, so there is a useless redundancy which does 
   not help. Moreover, it is incomplete, for example cartan_matrix or
   hadamard_matrix or coxeter_matrix are provided by a function, but not 
   by Matrix.<TAB>. I propose to deprecate matrix and create matrices. 
   with cartan, hadamard, coxeter...

 - SetSpecies/PartitionSpecies/SubsetSpecies/CombinatorialSpecies/ 
   CharacteristicSpecies/SingletonSpecies/EmptySetSpecies/CycleSpecies/
   LinearOrderSpecies/PermutationSpecies/EmptySpecies/SumSpecies/
   ProductSpecies/CompositionSpecies/FunctorialCompositionSpecies species. 
   Perhaps should there be a Species() overlay to all those ?

That said, i understand the CamelCase/lowercase convention, but what
explains the singular/plural one?
 
Ciao,
Thierry

-- 
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