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. :-)