Differences between revisions 5 and 37 (spanning 32 versions)
Revision 5 as of 2008-02-09 07:14:41
Size: 562
Editor: CraigCitro
Comment:
Revision 37 as of 2008-03-16 11:53:16
Size: 2099
Editor: robertwb
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
=== Files to fix === === Files to fix (Make all parents conform to the spec) ===

Useful script to list all parents in a given module that still need work: [attachment:list_parents.sage]
Line 4: Line 6:
 * catalogue, dsage, databases, ext, games, media, stats, server, plot, logic  * catalogue, dsage, databases, ext, games, media, stats, server, plot, logic, tests lfunctions, misc, numerical,gsl, quadratic_forms
Line 6: Line 8:
 * coding
 * functions
 * lfunctions
 * tests

Done
 * coding, functions, graphs
 * matrix [http://sage.math.washington.edu/home/robertwb/coerce/coerce-all.hg]
 * complex, real [http://sage.math.washington.edu/home/robertwb/coerce/coerce-real-complex.hg]
 * modules [attachment:coerce-free-module.patch]
 * quotient rings
 * finite fields (including natural embeddings into each other when Conway polynomials are used)
 * calculus
 * number fields
 * sets
 * geometry
 * libs
 * probability
 * interfaces

In progress
 * groups
 * polynomials
 * combinat

Little to do
Line 12: Line 32:
 * calculus
Line 14: Line 33:
 * combinat
Line 16: Line 34:
 * geometry
Line 18: Line 35:
 * graphs
 * groups
 * gsl
 * interfaces
 * libs
 * matrix
 * misc
Lots to do
Line 26: Line 38:
 * modules
Line 28: Line 39:
 * numerical
 * probability
 * quadratic_forms
Line 32: Line 40:
 * sets
Line 35: Line 42:
  * complex
  * real
  * polynomial
  * padic
  * padics
Line 41: Line 45:
Base classes
Line 44: Line 48:
=== Coercion doctesting ===

Comment from William:
{{{
teragon:sage was$ sage -coverage categories/action.pyx
structure/element.pyx structure/coerce.pyx |grep SCORE
SCORE categories/action.pyx: 0% (0 of 22)
SCORE structure/element.pyx: 18% (28 of 153)
SCORE structure/coerce.pyx: 2% (1 of 39)

I tried to understand and use the coercion model code to trac down the issue with #2079 and
was amazed at how nonexistent the doctesting and documentation of
functions is there.
In order for people to write lots of coercion code all of Sage, it's critical that they can
read the coercion model code so they can track down -- for themselves -- what is going
wrong when they run into trouble. I would put getting the coverage of the above files
(and whatever else is related to coercion) up to 100% as the first step in your coercion
model stuff. Seriously. And don't say it can't be doctested, since even though there are
a lot of things not easily accessible now from the interpreter, such as the coercion model
}}}

Files to fix (Make all parents conform to the spec)

Useful script to list all parents in a given module that still need work: [attachment:list_parents.sage]

Nothing to do

  • catalogue, dsage, databases, ext, games, media, stats, server, plot, logic, tests lfunctions, misc, numerical,gsl, quadratic_forms

Done

In progress

  • groups
  • polynomials
  • combinat

Little to do

  • algebras
  • categories
  • crypto

Lots to do

  • modular
  • monoids
  • schemes
  • rings
    • padics
    • other

Base classes

  • structure

Coercion doctesting

Comment from William:

teragon:sage was$ sage -coverage categories/action.pyx
structure/element.pyx structure/coerce.pyx |grep SCORE
SCORE categories/action.pyx: 0% (0 of 22)
SCORE structure/element.pyx: 18% (28 of 153)
SCORE structure/coerce.pyx: 2% (1 of 39)

I tried to understand and use the coercion model code to trac down the issue with #2079 and
was amazed at how nonexistent the doctesting and documentation of
functions is there.
In order for people to write lots of coercion code all of Sage, it's critical that they can
read the coercion model code so they can track down -- for themselves -- what is going
wrong when they run into trouble.  I would put getting the coverage of the above files
(and whatever else is related to coercion) up to 100% as the first step in your coercion
model stuff.   Seriously.   And don't say it can't be doctested, since even though there are
a lot of things not easily accessible now from the interpreter, such as the coercion model

Categories to implement

days7/coercion/todo (last edited 2009-07-29 19:16:15 by robertwb)