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