Feedback and comments on ARM proposal

Joshua Bloch jjb at
Sun Mar 15 10:14:10 PDT 2009

Sorry if I wasn't clear.  The proposed construct is aimed at types with a
single termination method that must be called when the program will never
use the resource again.  The purpose of the document is to enumerate the
many existing types that fit this usage pattern, so that we can assess the
applicability of the construct to these types, and tune it if necessary.

If a type doesn't fit this usage pattern but you think it belongs in the
document, it should be placed below the line. The
 java.util.concurrent.locks.Lock type doesn't fit the pattern because it is
reused after it is "terminated" (unlocked). The
java.util.Iterator&AutoDisposable type doesn't fit the pattern because it
isn't found in any existing Java APIs.



P.S. The notations [1] and [2] were designed to identify types that appear
to obey the above usage pattern but aren't important for other reasons.

On Sun, Mar 15, 2009 at 8:07 AM, Neal Gafter <neal at> wrote:

> On Fri, Mar 13, 2009 at 11:05 AM, Joshua Bloch <jjb at> wrote:
> > I have created a document for this purpose (
> >, and anyone who wants
> can
> > add to it.  Please participate (constructively)!
> I'm confused about how this document is to be used.  On the one hand,
> the preface appears to set conventions about notes that can be used in
> the discussion to classify use cases.  On the other hand, you (Josh)
> appear to have moved some use cases below a line whose title disagrees
> with the annotations, along with a command not to move any of them.
> I'm fine with consistently using annotations (which most of the
> discussion does) or consistently using sections, but mixing the two
> isn't working out so well.

More information about the coin-dev mailing list