Alex Shinn <alexsh...@gmail.com> writes: > On Fri, Jan 6, 2012 at 9:50 PM, David Kastrup <d...@gnu.org> wrote: >> Alex Shinn <alexsh...@gmail.com> writes: >> >>> On Fri, Jan 6, 2012 at 9:26 PM, David Kastrup <d...@gnu.org> wrote: >>>> Alex Shinn <alexsh...@gmail.com> writes: >>>>> >>>>> This analogy is meaningless, but for the record >>>>> you should be using fold or reduce here. >>>> >>>> I don't think it is the task of a language to enforce arbitrary >>>> aesthetic criteria. He "should be using"? >>> >>> This has nothing to do with style, but performance >>> and scalability. "apply" will blow up in most implementations >>> depending on the length of the list. >> >> Do you think that we should remove the passage >> >> `concatenate' is the same as `(apply append LIST-OF-LISTS)'. It >> exists because some Scheme implementations have a limit on the >> number of arguments a function takes, which the `apply' might >> exceed. In Guile there is no such limit. >> >> from the manual in order not to seduce people into using Guile? > > I think it should be removed because it's no longer true: > > scheme@(guile-user)> (apply + (iota 1000000)) > standard input:1:0: In procedure #<procedure 102329220 at standard > input:2:0 ()>: > standard input:1:0: Throw to key `vm-error' with args `(vm-run "VM: > Stack overflow" ())'.
A "Stack overflow" does not look like a limit in the number of function arguments but rather a general computation limit. -- David Kastrup