On Fri, Nov 23, 2012 at 5:46 PM, Per Bothner <[email protected]> wrote:
> On 11/22/2012 06:22 PM, John Cowan wrote:> Per Bothner scripsit: > > How can infinite output be human-readable? Humans don't have infinite > > life spans. > > A multi-GB output file isn't human-readable either, but that isn't the > point. The point is that programs may continue executing "for-ever" > (i.e. until the computer is rebooted), and some some such programs > generate unbounded output - perhaps to some logging device. > > > Infinite output can be truncated by another process, but > > in that case `write-simple` or `write-string` is probably the Right > Thing. > > write-simple adds quotation marks and other escapes. write-string > might work in practice - mainly because display does emit delimiters > for strings and vectors, which you wouldn't want anyway if you want > unbounded output. I just feel checking for cycles is not the job > of display. > > On 11/22/2012 11:58 PM, John Cowan wrote: > > Shiro Kawai scripsit: > > > >> The current wording can be read a bit wider than requiring labels on > >> circular objects; that is, it can be read as display must terminate on > >> any objects (even if the object is implementation's extension), which > >> concerns me. If I can read it that the behavior only describes on the > >> domain of r7rs, I'm ok with it. > > > > I've changed "However, `display` must always terminate" to "However, > > `display` must not loop forever on circular lists or self-referencing > > vectors". > > I still think it is more consistent, as well as simpler, to allow > cyclic structures to produce infinite unbounded output. > I still find this a surprising concept. Do you have programs which currently produce infinite unbounded output intentionally? -- Alex
_______________________________________________ Scheme-reports mailing list [email protected] http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports
