From jonathan.gibbons at oracle.com Wed Feb 5 10:09:19 2014 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 05 Feb 2014 10:09:19 -0800 Subject: micro-resolution Message-ID: <52F27E4F.6000708@oracle.com> I am beginning to consider how to rewrite (micro)resolution in javac in the light of the recent discussions regarding readability, visibility, etc. I know that we have determined that the JDK module graph is acyclic. I think we decided that all module graphs should be acyclic, right? I guess I'm wondering what the text in the JLS might be like in this area. i.e. "it is a compile-time error if ...." -- Jon From forax at univ-mlv.fr Wed Feb 5 10:29:06 2014 From: forax at univ-mlv.fr (Remi Forax) Date: Wed, 05 Feb 2014 19:29:06 +0100 Subject: micro-resolution In-Reply-To: <52F27E4F.6000708@oracle.com> References: <52F27E4F.6000708@oracle.com> Message-ID: <52F282F2.6010304@univ-mlv.fr> On 02/05/2014 07:09 PM, Jonathan Gibbons wrote: > I am beginning to consider how to rewrite (micro)resolution in javac > in the light of the recent discussions regarding readability, > visibility, etc. > > I know that we have determined that the JDK module graph is acyclic. > I think we decided that all module graphs should be acyclic, right? I don't know who is behind 'we', but yes, for the shake of any Java developer minds, all modules should be acyclic, Testing modules that have cycles is not fun ! > > I guess I'm wondering what the text in the JLS might be like in this > area. i.e. "it is a compile-time error if ...." yes > > -- Jon R?mi From david.lloyd at redhat.com Wed Feb 5 13:36:04 2014 From: david.lloyd at redhat.com (David M. Lloyd) Date: Wed, 05 Feb 2014 15:36:04 -0600 Subject: micro-resolution In-Reply-To: <52F27E4F.6000708@oracle.com> References: <52F27E4F.6000708@oracle.com> Message-ID: <52F2AEC4.1010100@redhat.com> On 02/05/2014 12:09 PM, Jonathan Gibbons wrote: > I am beginning to consider how to rewrite (micro)resolution in javac in > the light of the recent discussions regarding readability, visibility, etc. > > I know that we have determined that the JDK module graph is acyclic. I > think we decided that all module graphs should be acyclic, right? > > I guess I'm wondering what the text in the JLS might be like in this > area. i.e. "it is a compile-time error if ...." It's worth pointing out that this should be refined to say "all module graphs *of modules being compiled* are acyclic", or possibly "all module graphs are acyclic *at compile time*" as experience shows that it is quite common to have cycles at run time for various reasons. -- - DML From pascal at rapicault.net Thu Feb 6 18:05:34 2014 From: pascal at rapicault.net (Pascal Rapicault) Date: Thu, 06 Feb 2014 21:05:34 -0500 Subject: micro-resolution In-Reply-To: <52F2AEC4.1010100@redhat.com> References: <52F27E4F.6000708@oracle.com> <52F2AEC4.1010100@redhat.com> Message-ID: <52F43F6E.7060509@rapicault.net> On 05/02/2014 4:36 PM, David M. Lloyd wrote: > On 02/05/2014 12:09 PM, Jonathan Gibbons wrote: >> I am beginning to consider how to rewrite (micro)resolution in javac in >> the light of the recent discussions regarding readability, >> visibility, etc. >> >> I know that we have determined that the JDK module graph is acyclic. I >> think we decided that all module graphs should be acyclic, right? >> >> I guess I'm wondering what the text in the JLS might be like in this >> area. i.e. "it is a compile-time error if ...." > > It's worth pointing out that this should be refined to say "all module > graphs *of modules being compiled* are acyclic", or possibly "all > module graphs are acyclic *at compile time*" as experience shows that > it is quite common to have cycles at run time for various reasons. > > Agreed, this is what we have been supporting in PDE Build for a couple years and this was a must.