[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

brief summary of issue "Eliminate Forced Consing"



Common Lisp programmers need a way of specifying already-allocated data
structures as the source of sequence, list, and string computations.
Allow this via use of a :target keyword argument for those functions
where this is useful.  The TARGET argument should be a sequence of the
appropriate type which is filled in with the result of the computation
This is returned rather than a newly-allocated data structure.  The
proposal also mentioned a couple of analogous additions to allow similar
specification of storage to use as the result of appending and concatenating,
along with allowing specification of a string to use for string-output-
streams.

Jeff Dalton pointed out that you'd like to be able to read into a specified
buffer sometimes instead of consing, particularly with READ-LINE.

The whole idea is to allow re-use of old data structures to minimize GC's
and new allocation.

Skip the discussion and just read the preceding parts of the message to
avoid the admittedly verbose discussion but still get the changes suggested.