#16353: A cached_function with selective memory
-------------------------+-------------------------------------------------
       Reporter:         |        Owner:
  ncohen                 |       Status:  needs_review
           Type:         |    Milestone:  sage-6.3
  enhancement            |   Resolution:
       Priority:  major  |    Merged in:
      Component:         |    Reviewers:
  performance            |  Work issues:
       Keywords:         |       Commit:
        Authors:         |  7eb8f900f1a143c6cc85b9382a365b57a9c42ecc
  Nathann Cohen          |     Stopgaps:
Report Upstream:  N/A    |
         Branch:         |
  u/ncohen/16353         |
   Dependencies:         |
-------------------------+-------------------------------------------------

Comment (by nbruin):

 Replying to [comment:37 ncohen]:
 > It is not an internal routine.
 >
 > > If you want an always-safe-to-mutate result, you would always need to
 *copy* into cache (or copy the result once it's written into the cache),
 which is not what is proposed on this ticket. In fact, copying is a
 complicated, data type dependent operation (think tuple of lists, for
 instance -- how deep do you have to go with copying?)
 >
 > I repeat : I do *NOT* want to cache this output.

 How can you tell from the input parameters whether the caller is going to
 mutate the result you're returning? Surely a non-internal routine will
 have uniform input/output specifications, i.e., always return either
 mutable types or immutable types?

--
Ticket URL: <http://trac.sagemath.org/ticket/16353#comment:38>
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 http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to