groovy-starter.conf support (especially for import deletes) would have my
strong support. The Tuple imports do work fine; I was using them as another
example of collisions with the auto-imported namespaces where I'd like a
project-level delete.

On Mon, Jun 2, 2025, 06:32 Paul King <pa...@asert.com.au> wrote:

> The current proposal doesn't extend to the format and temporal
> subpackages. With just the java.time classes and Groovy's datetime
> extensions, you can go a long way. If you want all the bells and
> whistles, then you'll need to import some classes/packages.
>
> While it is outside the scope of this proposal, it would be
> interesting to consider whether a custom type checker could be used
> with CompileStatic to auto-import what looked like known classes.
>
> Cheers, Paul.
>
> On Mon, Jun 2, 2025 at 6:47 AM MG <mg...@arscreat.com> wrote:
> >
> >
> >
> > I think the idea is, that if the older java.util.Date family of classes
> gets auto-imported, then its newer counterpart should also be, which makes
> sense to me.
> >
> > (As I understood it,  java.time.format & java.time.temporal would be
> auto-imported under the proposal (?))
> >
> > I do however see the problem of where to draw the line with regards to
> other often used java.* packages (not related to the date-time domain).
> >
> > Perhaps instead of auto importing more and more packages, Groovy could:
> >
> > Issue a special kind of error if a script does not compile and it finds
> class names that match ones from well known / often used Java packages.
> >
> > The error message could include the required import statements ready to
> copy into the script, if the user so chooses.
> >
> > That would evidently not solve the "single line Groovy script" case, but
> how many people actually use Groovy that way... ?
> > Single-line usage is always very limited in any case.
> >
> > Support "compound imports", analogue to existing AnnotationCollector for
> annotations.
> >
> > e.g.:
> >
> > import all java // all but the most obscure Java libs
> > import all java_core // all often used Java libs
> > import all datetime // all DateTime related libs
> > import all text // all text realted libs
> > etc
> >
> > Groovy then could come with some predefined "compound imports" like in
> the examples given above, as well as letting people define their own...
> >
> > Cheers,
> > mg
> >
> >
> > Am 01.06.2025 um 14:56 schrieb Alexander Veit via users:
> >
> > Am 31.05.25 um 09:36 schrieb Paul King:
> >
> > We have a feature request, and potential PR, to add java.time.* as a
> > new default import:
> >
> > https://issues.apache.org/jira/browse/GROOVY-11513
> > https://github.com/apache/groovy/pull/2156
> >
> >
> > I would vote against this proposal. Here are some arguments why:
> >
> > First of all, I'm generally not in favor of adding more default default
> imports to the language, since I suspect negative impacts on
> maintainability of scripts and the efficiency of the compilation process.
> >
> > Apart from Instance, LocalDateTime and ZonedDateTime most of the classes
> in java.time are probably rarely used. Does this justify to add 16 extra
> classes?
> >
> > The classes in java.time are not fully usable without classes from other
> packages like java.time.format or java.time.temporal which should then also
> be default imports.
> >
> > There are many good points about including such a star import
> >
> >
> > This argument also holds for other packages like java.nio.* or java.text.
> >
> >
> >
>

Reply via email to