Still NYI (2017.11, HEAD(5929887))

On 2015-09-04 08:25:24, jn...@jnthn.net wrote:
> On Thu Sep 03 05:57:58 2015, dakkar wrote:
> > Consider this snippet:
> >
> > constant NOW = DateTime.now;
> >
> > That is a BEGIN-time declaration + initialisation. C<NOW> will
> > contain
> > the time of compilation.
> >
> > On the other hand:
> >
> > my \NOW = DateTime.now;
> >
> > does run-time initialisation, so you get a different time at each
> > run.
> >
> > There does not seem to be a nice way of having a C<constant> with an
> > INIT-time initialiser:
> >
> > constant NOW = INIT DateTime.now;
> >
> > sets C<NOW> to C<Mu>, since a BEGIN time that INIT block has not run.
> >
> Correct, and there's no sensible way to make that work.
>
> > Is there already a working way to do that? Should there be?
> >
> Yes, an "our" scoped variable should have its initializer run at our
> time:
>
> our \NOW = DateTime.now;
>
> That's not implemented yet, so re-purposing this ticket for
> implementing that. :-)

Reply via email to