Re: Help with %?RESOURCES variable

2023-04-19 Thread Polgár Márton
I mean, yes... the program runs at runtime. Anything available to the 
program is "available during runtime". Yes, you can look up the content 
at runtime - e.g from the place where it's installed. It is NOT advised 
to try and change the content that you can look up with %?RESOURCES - 
you aren't even supposed to know where it is; but as static data, you 
can always access it during runtime.


Regardless, what Brad Gilbert says seems to be consistent with what I 
can recall from a couple of months ago: it is only set in *modules* of a 
distribution. It can be set even if the module isn't precompiled but 
either way - it's not set in a mere raku script, even if it is located 
under the root folder of a distribution.


On 2023. 04. 19. 21:54, yary wrote:

https://docs.raku.org/language/variables says

|%?RESOURCES|is a compile-time variable available to the code of
aDistribution .

It contains a hash that provides compile and runtime access to
files associated with the Distribution of the current compilation
unit.


 The intent of that reads as - the value is set during compilation, 
and is available during runtime. Seems like either the doc is wrong, 
or the implementation is incomplete. I'm hoping that the doc is right, 
because it's useful to be able to read %?RESOURCES during runtime, and 
in general useful to set a variable once during compile, then read it 
forever at runtime.


-y


On Wed, Apr 19, 2023 at 3:00 PM Brad Gilbert  wrote:

Unless things have changed since I was last active, only modules
are precompiled. `?` Twigilled variables are set at compile time.
So if it had any values, they wouldn't be useful, because they
would be created anew every time.

On Mon, Apr 17, 2023, 11:48 AM David Santiago 
wrote:


Hi Polgár

A seg, 17-04-2023 às 18:08 +0200, Polgár Márton escreveu:
> I think this is the classic case of ?-twigilled, "compile-time"
> variables only being available in modules. It kind of forces
you to
> always have the pattern of: heavy-lifting in a module inside
lib, and
> the script just uses the module.
>



yes, that was the case. It works inside a module. I guess i
have to
think differently on how to organize the code.

Thanks and best regards,
David Santiago


Re: Help with %?RESOURCES variable

2023-04-19 Thread yary
https://docs.raku.org/language/variables says

> %?RESOURCES is a compile-time variable available to the code of a
> Distribution .
>
> It contains a hash that provides compile and runtime access to files
> associated with the Distribution of the current compilation unit.
>

 The intent of that reads as - the value is set during compilation, and is
available during runtime. Seems like either the doc is wrong, or the
implementation is incomplete. I'm hoping that the doc is right, because
it's useful to be able to read %?RESOURCES during runtime, and in general
useful to set a variable once during compile, then read it forever at
runtime.

-y


On Wed, Apr 19, 2023 at 3:00 PM Brad Gilbert  wrote:

> Unless things have changed since I was last active, only modules are
> precompiled. `?` Twigilled variables are set at compile time.
> So if it had any values, they wouldn't be useful, because they would be
> created anew every time.
>
> On Mon, Apr 17, 2023, 11:48 AM David Santiago  wrote:
>
>>
>> Hi Polgár
>>
>> A seg, 17-04-2023 às 18:08 +0200, Polgár Márton escreveu:
>> > I think this is the classic case of ?-twigilled, "compile-time"
>> > variables only being available in modules. It kind of forces you to
>> > always have the pattern of: heavy-lifting in a module inside lib, and
>> > the script just uses the module.
>> >
>>
>>
>>
>> yes, that was the case. It works inside a module. I guess i have to
>> think differently on how to organize the code.
>>
>> Thanks and best regards,
>> David Santiago
>>
>>


Re: Help with %?RESOURCES variable

2023-04-19 Thread Brad Gilbert
Unless things have changed since I was last active, only modules are
precompiled. `?` Twigilled variables are set at compile time.
So if it had any values, they wouldn't be useful, because they would be
created anew every time.

On Mon, Apr 17, 2023, 11:48 AM David Santiago  wrote:

>
> Hi Polgár
>
> A seg, 17-04-2023 às 18:08 +0200, Polgár Márton escreveu:
> > I think this is the classic case of ?-twigilled, "compile-time"
> > variables only being available in modules. It kind of forces you to
> > always have the pattern of: heavy-lifting in a module inside lib, and
> > the script just uses the module.
> >
>
>
>
> yes, that was the case. It works inside a module. I guess i have to
> think differently on how to organize the code.
>
> Thanks and best regards,
> David Santiago
>
>