Andy mentioned files, but yes, in a pipe this is true. Still, it's not true on the REPL; I can't think of an obvious use case there, and if there is one then having the programmer work around something like *interactive-print-length* would be reasonable.
Note that we are talking about an infinite data structure here, not an infinite loop. As a specific example, say we wanted to produce a /dev/random like command, you would not achieve this by printing an infinite random list because you'd get a "(" a the beginning which was never closed. You'd loop. So, this would not be affected by a limit on the size of a single data structure. Gary Trakhman <gary.trakh...@gmail.com> writes: > It's possible for an infinite print to be just fine, it's a streaming API > after all, consider invoking a clojure program in the middle of some unix > pipes. > > > On Tue, Apr 1, 2014 at 12:58 PM, Phillip Lord > <phillip.l...@newcastle.ac.uk>wrote: > >> >> Of course, in this circumstances, infinitely long lists are not going to >> behave well either. >> >> But, it seems to me, that this is (or should be) independent of >> interactive use in the REPL. The current behaviour is never nice. >> Probably, there needs to be a *interactive-print-length* var or >> equivalent. >> >> Andy Fingerhut <andy.finger...@gmail.com> writes: >> >> > One argument for default value of *print-length* being nil: Plenty of >> > people print Clojure data structures to files and later read them back >> in. >> > The data would be corrupted if *print-length* was a too-small numeric >> value >> > for your particular data. It might not be obvious until much later that >> > you have lost data. >> > >> > Andy >> > >> > >> > On Tue, Apr 1, 2014 at 9:00 AM, Andreas Liljeqvist <bon...@gmail.com> >> wrote: >> > >> >> Is there any good reason for not providing a default value for >> >> *print-length*? >> >> I think that if you *really* want to print a list containing 100K items, >> >> you would have to set *print-length*. >> >> >> >> Basically it seems less harmful to set it to a nice value by >> default(42?) >> >> than possible locking up the REPL. >> >> >> >> >> >> On Tue, Apr 1, 2014 at 2:49 AM, Gary Trakhman <gary.trakh...@gmail.com >> >wrote: >> >> >> >>> http://clojuredocs.org/clojure_core/clojure.core/*print-length* >> >>> >> >>> >> >>> On Mon, Mar 31, 2014 at 8:49 PM, Christopher Howard < >> cmhowa...@alaska.edu >> >>> > wrote: >> >>> >> >>>> Is there some kind of "safe" function for printing representations of >> >>>> lazy, infinite data structures? I'm finding I like using them inside >> >>>> other data structures here and there. However, when I go to play >> >>>> around with things in the REPL, sooner or later my workflow is >> >>>> interrupted by 3 million characters streaming across the console. >> >>>> >> >>>> I don't imagine there would be any way for the REPL to detect that a >> >>>> lazy sequence was infinite. However, if it would simply refuse to >> >>>> evaluate lazy sequence (say, represent them by some special >> identifier) >> >>>> that >> >>>> would be good enough for me. >> >>>> >> >>>> -- >> >>>> You received this message because you are subscribed to the Google >> >>>> Groups "Clojure" group. >> >>>> To post to this group, send email to clojure@googlegroups.com >> >>>> Note that posts from new members are moderated - please be patient >> with >> >>>> your first post. >> >>>> To unsubscribe from this group, send email to >> >>>> clojure+unsubscr...@googlegroups.com >> >>>> For more options, visit this group at >> >>>> http://groups.google.com/group/clojure?hl=en >> >>>> --- >> >>>> You received this message because you are subscribed to the Google >> >>>> Groups "Clojure" group. >> >>>> To unsubscribe from this group and stop receiving emails from it, send >> >>>> an email to clojure+unsubscr...@googlegroups.com. >> >>>> For more options, visit https://groups.google.com/d/optout. >> >>>> >> >>> >> >>> -- >> >>> You received this message because you are subscribed to the Google >> >>> Groups "Clojure" group. >> >>> To post to this group, send email to clojure@googlegroups.com >> >>> Note that posts from new members are moderated - please be patient with >> >>> your first post. >> >>> To unsubscribe from this group, send email to >> >>> clojure+unsubscr...@googlegroups.com >> >>> For more options, visit this group at >> >>> http://groups.google.com/group/clojure?hl=en >> >>> --- >> >>> You received this message because you are subscribed to the Google >> Groups >> >>> "Clojure" group. >> >>> To unsubscribe from this group and stop receiving emails from it, send >> an >> >>> email to clojure+unsubscr...@googlegroups.com. >> >>> For more options, visit https://groups.google.com/d/optout. >> >>> >> >> >> >> -- >> >> You received this message because you are subscribed to the Google >> >> Groups "Clojure" group. >> >> To post to this group, send email to clojure@googlegroups.com >> >> Note that posts from new members are moderated - please be patient with >> >> your first post. >> >> To unsubscribe from this group, send email to >> >> clojure+unsubscr...@googlegroups.com >> >> For more options, visit this group at >> >> http://groups.google.com/group/clojure?hl=en >> >> --- >> >> You received this message because you are subscribed to the Google >> Groups >> >> "Clojure" group. >> >> To unsubscribe from this group and stop receiving emails from it, send >> an >> >> email to clojure+unsubscr...@googlegroups.com. >> >> For more options, visit https://groups.google.com/d/optout. >> >> >> >> -- >> Phillip Lord, Phone: +44 (0) 191 222 7827 >> Lecturer in Bioinformatics, Email: >> phillip.l...@newcastle.ac.uk >> School of Computing Science, >> http://homepages.cs.ncl.ac.uk/phillip.lord >> Room 914 Claremont Tower, skype: russet_apples >> Newcastle University, twitter: phillord >> NE1 7RU >> >> -- >> You received this message because you are subscribed to the Google >> Groups "Clojure" group. >> To post to this group, send email to clojure@googlegroups.com >> Note that posts from new members are moderated - please be patient with >> your first post. >> To unsubscribe from this group, send email to >> clojure+unsubscr...@googlegroups.com >> For more options, visit this group at >> http://groups.google.com/group/clojure?hl=en >> --- >> You received this message because you are subscribed to the Google Groups >> "Clojure" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to clojure+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. >> -- Phillip Lord, Phone: +44 (0) 191 222 7827 Lecturer in Bioinformatics, Email: phillip.l...@newcastle.ac.uk School of Computing Science, http://homepages.cs.ncl.ac.uk/phillip.lord Room 914 Claremont Tower, skype: russet_apples Newcastle University, twitter: phillord NE1 7RU -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.