On Sat, Jan 31, 2015 at 3:17 PM, Shiro Kawai <shiro.kawai@gmail.com> wrote:
On Fri, Jan 30, 2015 at 5:32 PM, Alex Shinn <alexshinn@gmail.com> wrote:
From the user perspective there is no separation between
the port and any backing store, and they otherwise have no
way to free the resources.  You should be able to reliably
accumulate a very large port and free it, or alternately
maintain many medium ports and not worry about them
hogging memory after closing.

If you lose the reference to the port, won't the memory be GC'ed?

It is generally a bad practice to rely on freeing external resources, such
as file descriptors, by GC.  But for memory, usually we rely on GC.

Indeed, but for ports people expect resources are freed
immediately on closing (at least I do).  Users may assume
that closed ports only take a constant amount of memory,
and not bother to free references to them.

Are you arguing in favor of allowing this behavior?  The
only other 3 implementors to comment were all opposed.
Regardless, making a change in favor of this would be
adding new implementation requirements post-facto, and
would be beyond the scope of an errata.  As-is, the result
is unspecified, and if all of the WG members agree we
could explicitly say it "is an error," but anything more than
that should be left for R8RS.

-- 
Alex