#16137: lazy_list from various input data
-------------------------------------+-------------------------------------
       Reporter:  MatthieuDien       |        Owner:
           Type:  enhancement        |       Status:  needs_work
       Priority:  major              |    Milestone:  sage-7.0
      Component:  misc               |   Resolution:
       Keywords:  LazyPowerSeries,   |    Merged in:
  lazy_list, days57                  |    Reviewers:
        Authors:  Vincent Delecroix  |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:  u/dkrenn/16137     |  8cee245894c11639eac8a6756ce35170041713df
   Dependencies:                     |     Stopgaps:
-------------------------------------+-------------------------------------
Changes (by dkrenn):

 * status:  needs_review => needs_work
 * commit:  5dac074dc5fce5de34818c30e0564d4c35dc1d42 =>
     8cee245894c11639eac8a6756ce35170041713df


Comment:

 I made a couple of smaller/minor changes during review; need cross-review.
 Additionally the following should be addressed/discussed:

 1. `_new_slice` and other private methods: `_new_slice_` (underscore at
 the end as well)?

 2. description, INPUT/OUTPUT of `lazy_list` is missing

 3. should `list(cache)` appear in the code so that the cache cannot be
 changed 8accidentally) from outside since only a reference of the list is
 passed? This would also allow e.g. tuples as well. Or is it meant that
 `cache` really specifies the cache itself and not only the cached
 elements. If so, can we make this clear in the doc somewhere (description
 of `lazy_list`)?

 4. `_fit`, last example: looks incomplete

 5. `__call__`: write oneline description

 6. `update_cache_up_to` everwhere: describe return value

 7. {{{:class:`lazy_list`}}} appears a couple of times, but `lazy_list` is
 not a class anymore

 8. note-block in `lazy_list_from_iterator` description should (also) be in
 `lazy_list`

 9. `cache` in INPUT-blocks: everywhere mention that this is a list (see
 also above)

 10. `__reduce__`: oneline description missing

 11. ticket-description "a pair of finite lists (pre-period, period)":
 remove from description and create separate ticket for this issue?

 12. ticket-description "an update function": this was addressed here, but
 when I see this correctly with a different interface as in the original
 code. "a function that given a buffer..." we do not have that here. I am
 fine with it as it is, but IMHO the description of the ticket does not fit
 anymore. Should this be a separate ticket as well? Maybe also specifying
 the old branch there to not forget about it?

 Moreover, I've did a partial cherry picking of part of the old code of
 this ticket: the two iterators are removed and a simple `yield` in
 `__iter__` now does the job. I adapted it so that it works. Please cross-
 review.

 PS: What about the authorship of this ticket now? !MatthieuDien created
 the original code, that was cherry-picked by me; I've integrated it here
 and made the necessary changes. I would include us two in the ticket-
 author field unless you think the changes were too small... (I this case I
 don't mind)
 ----
 New commits:
 
||[http://git.sagemath.org/sage.git/commit/?id=40851bd945fa4157568d47f49e5f961335b348cb
 40851bd]||{{{Trac 16137 review: update doc-indices}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=bd68b5a97980fc2f98a7de6244e13e1db6e60e7d
 bd68b5a]||{{{Trac 16137 review: some smaller changes}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=c30746f50b166a08b289e94283859aeb5a73cb64
 c30746f]||{{{return value of _fit}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=f092fc31ea350a36b304f1563ade98cf7b38c5cb
 f092fc3]||{{{partial cherr-pick of 8457edf: iterators replaced by
 generators; make this work}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=8cee245894c11639eac8a6756ce35170041713df
 8cee245]||{{{Merge branch 'u/dkrenn/16137' into u/vdelecroix/16137}}}||

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