🦋 Welcome to Raku! raku.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: colabti.org/irclogger/irclogger_log/raku Set by ChanServ on 14 October 2019. |
|||
00:03
vike joined
00:14
sena_kun joined
00:16
Altai-man left
00:19
oddp left
00:59
bocaneri is now known as Sauvin
01:00
__jrjsmrtn__ joined
01:02
_jrjsmrtn left
01:11
AlexDaniel left
01:20
zacts left
01:43
molaf left
01:55
molaf joined
01:56
aborazmeh joined,
aborazmeh left,
aborazmeh joined
01:58
zacts joined
02:05
Manifest0 left
02:06
Manifest0 joined
02:14
Altai-man joined
02:16
sena_kun left
02:18
zacts left
02:53
guifa2 left
02:55
guifa2 joined
02:59
aborazmeh left
03:03
stu002 left
03:20
ensamvarg3 joined
03:25
zacts joined,
epony left
03:26
zacts left,
epony joined
03:37
stu002 joined
03:52
MasterDuke left,
wamba joined
04:14
sena_kun joined
04:17
Altai-man left
|
|||
raku-bridge | <stu002> Are there ways to embed mathematical expressions (e.g. LaTeX) inside pod6 text? I can go some way towards this with Unicode math characters, but expressions generally need something richer. | 04:20 | |
04:23
stu002 left
04:28
Guest2056 is now known as aluaces
05:27
leont joined
05:44
Sgeo left
06:14
Altai-man joined
06:16
sena_kun left
06:30
ab5tract joined
06:54
rindolf joined
06:59
qiqi joined
07:04
qiqi left
07:30
stoned75 joined
07:33
dakkar joined
07:34
JJMerelo joined
07:43
BR_ joined
07:45
Black_Ribbon left
07:56
reach_satori left,
reach_satori joined
07:57
Black_Ribbon joined
07:59
BR_ left
08:00
Doc_Holliwood joined
|
|||
Doc_Holliwood | m: say ().min | 08:00 | |
camelia | Inf | ||
Doc_Holliwood | why the heck is that Infinity? | 08:01 | |
just got bitten by it | 08:04 | ||
m: my @A = (7, 8, 3, 12, 10); | |||
say gather for 1 .. +@A-1 -> $i { take @A[ 0..$i-1 ].grep( * < @A[$i] ).min }; | |||
camelia | ( no output ) | ||
Doc_Holliwood | the heck? that says (7 Inf 3 3) on my computer | ||
08:05
oddp joined
|
|||
Doc_Holliwood | m: my @A = (7, 8, 3, 12, 10); say gather for 1 .. +@A-1 -> $i { take @A[ 0..$i-1 ].grep( * < @A[$i] ).min }; | 08:07 | |
camelia | (7 Inf 3 3) | ||
Doc_Holliwood | see? I expected Nil there, or something else that's falsy | 08:08 | |
but not Inf | |||
08:09
cpan-raku left
08:14
sena_kun joined
08:16
Altai-man left
|
|||
JJMerelo | m: my @a = 1,2; .say for @a, |@a | 08:19 | |
camelia | [1 2] 1 2 |
||
JJMerelo | m: my @a = 1,2; .say for $[@a, |@a ] | ||
camelia | [[1 2] 1 2] | ||
08:19
cpan-raku joined,
cpan-raku left,
cpan-raku joined
|
|||
JJMerelo | m: my @a = 1; .say for [@a ] | 08:32 | |
camelia | 1 | ||
JJMerelo | m: my @a = 1,2; .say for [@a ] | ||
camelia | 1 2 |
||
JJMerelo | m: my @a = 1,2; .say for [[@a ]] | ||
camelia | 1 2 |
||
08:35
domidumont joined
|
|||
JJMerelo | m: my @a = 1,2; .say for ([@a]) | 08:37 | |
camelia | 1 2 |
||
JJMerelo | m: my @a = 1,2; .say for ((@a)) | ||
camelia | 1 2 |
||
JJMerelo | m: my @a = 1,2; .say for @a, | 08:38 | |
camelia | [1 2] | ||
JJMerelo | m: my @a = 1,2; .say for @a,; | ||
camelia | [1 2] | ||
JJMerelo | m: my @a = 1,2; .say for [@a,]; | 08:43 | |
camelia | [1 2] | ||
08:43
rindolf left
|
|||
JJMerelo | m: my @a = 1,2; .say for [[[@a,]]]; | 08:44 | |
camelia | [1 2] | ||
JJMerelo | m: my @a = 1,2; .say for $[[[@a,]]]; | ||
camelia | [[1 2]] | ||
Geth | doc: 3a7cee5649 | (JJ Merelo)++ | doc/Language/list.pod6 Clarifying single argument rule Deletes a confusing explanation based on iterators refs #3268 and adds an example to clarify also #600 |
08:50 | |
doc: df50cbd622 | (JJ Merelo)++ | doc/Language/list.pod6 More clarifications and examples for single argument rule Hope this finally closes #3268 and closes #600, since it includes links to all relevant documents, and shows exceptions. |
|||
linkable6 | Link: docs.raku.org/language/list | ||
linkable6 | DOC#3268 [closed]: github.com/Raku/doc/issues/3268 [RFE][docs] The documentation about the single argument role is confusing | ||
DOC#600 [closed]: github.com/Raku/doc/issues/600 [docs] Explanation of the "Single Arg Rule" | |||
08:59
MasterDuke joined
09:01
Black_Ribbon left
09:27
JJMerelo left
09:31
domidumont left
09:35
lichtkind joined
09:46
JJMerelo joined
09:47
domidumont joined
|
|||
ab5tract | .tell JJMerelo post is (finally) scheduled for tomorrow :D | 09:52 | |
tellable6 | ab5tract, I'll pass your message to JJMerelo | ||
ab5tract | .tell JJMerelo can't wait to read what you think! | ||
tellable6 | ab5tract, I'll pass your message to JJMerelo | ||
10:02
molaf left
10:05
rindolf joined
10:07
Altai-man joined,
sena_kun left
|
|||
JJMerelo | ab5tract thanks! Checking it. | 10:08 | |
tellable6 | 2020-08-10T09:52:14Z #raku <ab5tract> JJMerelo post is (finally) scheduled for tomorrow :D | ||
2020-08-10T09:52:32Z #raku <ab5tract> JJMerelo can't wait to read what you think! | |||
10:11
wamba left
|
|||
codesections | m: run <ls ..> | 10:38 | |
camelia | camelia geth larry moritz nine timo zoffix |
||
codesections | m: dd '../camelia'.IO.parent | 10:39 | |
camelia | IO::Path.new("../../camelia", :SPEC(IO::Spec::Unix), :CWD("/home/camelia")) | ||
codesections | Isn't ^^^^ a bug? The parent of `../camelia` should be `..`, right? not `../../camelia` | 10:40 | |
Oh, maybe that's what the docs mean by saying «the returned parent is the physical and not the logical parent of symlinked directories». I'd read that, but didn't realize it applied to `..` | 10:41 | ||
m: dd '../camelia'.IO.resolve.parent | 10:43 | ||
camelia | IO::Path.new("/home", :SPEC(IO::Spec::Unix), :CWD("/")) | ||
codesections | That's better | ||
nevermind | |||
10:51
molaf joined
10:55
didi joined
11:07
JJMerelo left
11:15
sena_kun joined
11:16
Altai-man left
11:19
TheAthlete joined
11:36
MasterDuke left
11:40
finsternis left
11:53
patrickb joined
12:01
TheAthlete left
|
|||
guifa | stu002: I don’t think so. I would honestly personally use a code block, I think, if it got extremely complicated, and make it ASCII art style | 12:04 | |
12:12
Sgeo joined,
finsternis joined
12:26
domidumont left
|
|||
lizmat | And another Rakudo Weekly News hits the Net: rakudoweekly.blog/2020/08/10/2020-...ey-please/ | 12:31 | |
codesections | m: class A {has $b}; say A.^methods(:local) | 12:34 | |
camelia | (BUILDALL) | ||
lizmat | m: class A {has $.b}; say A.^methods(:local) | 12:35 | |
camelia | (b Submethod+{is-hidden-from-backtrace}.new) | ||
lizmat | hmmm... why did BUILDALL disappear here | 12:36 | |
codesections | I was curious about why BUILDALL appeared at all with a `:local` filter | 12:38 | |
jnthn | Well, most immediately because one is generated per class | 12:39 | |
I'm suspecting there's an optimized path when there's nothing to build, and it isn't marked with is-hidden-from-backtrace | 12:40 | ||
codesections | Do you think it should be marked with is-hidden-from-backtrace? Or maybe is-implementation-detail? I'm currently working on a project to scan the docs for methods that show up via introspection but that aren't documented, and that script currently says BUILDALL is missing from 181 types :D | 12:44 | |
(Obviously it's easy to exclude it from the script. But that got me thinking about whether BUILDALL _is_ a :local method) | 12:45 | ||
12:50
patrickb left,
skids joined
|
|||
jnthn | I think it should be consistently marked that way | 12:51 | |
m: class A {has $.b}; say A.^methods(:local)>>.name | |||
camelia | (b BUILDALL) | ||
jnthn | Notice that BUILDALL *is* here, just rendered differently due to the mixin | 12:52 | |
codesections | Right. But you're saying that's a bug? Because it should be consistently marked with is-impelemetation-detail? | ||
(which I know is new) | 12:53 | ||
jnthn | I'm not saying anything about is-implementation-detail at the moment, just the (rather easier) point about is-hidden-from-backtrace | ||
Granted the generated empty method would never show up in a backtrace 'cus it does nothing... :) | 12:54 | ||
codesections | Oh, ok. I didn't realize that is-hidden-from-backtrace is easier than is-implementation-detail. | ||
Does is-hidden-from-backtrace keep it out of ^methods(:local) or just from the backtrace | 12:55 | ||
jnthn | Just from the backtrace | ||
codesections | Well, if you think/decide that built-in types should have BUILDALL methods marked with is-implementation-detail, I'd be happy to work on a PR marking them. I am not to the point where I can substantively hack on Rakudo, but I could add marker traits :) | 12:57 | |
jnthn | I'm not immediately sure if it's in the spirit of `is implementation-detail`, but it feels rightish | ||
13:14
Altai-man joined
13:16
domidumont joined
13:17
sena_kun left
13:26
lucasb joined
13:29
molaf left
|
|||
guifa | lizmat++ | 13:31 | |
13:42
domidumont left
13:51
rindolf left
13:56
rindolf joined,
domidumont joined
13:58
aborazmeh joined,
aborazmeh left,
aborazmeh joined
14:08
bumblee_ joined
14:18
bumblee_ left
|
|||
oddp | Oh yeah, it's weekly time! Thanks again! | 14:19 | |
14:20
gnufr33dom joined
14:23
gnufr33dom left
14:25
stoned75 left
14:27
stoned75 joined
14:28
khoguan joined
14:30
gnufr33dom joined
|
|||
khoguan | I tried to install p6doc by `zef --force-test install p6doc`. At the end, it said, ===> Installing: p6doc:ver<1.006.d>:auth<perl6>4 bin/ scripts [lwp-get.p6 lwp-download.p6 pod2onepage Extractor.raku] installed to:/usr/local/Cellar/rakudo/2020.07/share/perl6/site/bin | 14:31 | |
why is there no p6doc in the rakudo/2020.07/share/perl6/site/bin? | 14:32 | ||
14:36
aborazmeh left
14:37
molaf joined
|
|||
jdv79 | the docs have BUILD-ALL. weird. | 14:50 | |
14:50
didi left
15:04
gnufr33dom left
15:05
orinthe left,
orinthe joined
15:13
MilkmanDan left
15:14
sena_kun joined
15:17
Altai-man left
15:20
rockxloose left
15:22
zacts joined,
rockxloose joined
15:24
zacts left
15:25
zacts joined
15:31
JJMerelo joined
15:32
MilkmanDan joined
15:48
domidumont left
15:49
domidumont joined
15:55
kensanata joined
15:57
demostanis joined
16:03
rir joined
|
|||
rir | Hello Rakuelists. Question X: Can I get a memory-locationish of a Int? Y-ed: How to explain immutability to a beginnerish? | 16:07 | |
^ How to demonstrate. | 16:09 | ||
rypervenche | rir: Hi there. Someone will answer you soonish. :) It might be a little bit, depending on how busy everyone is. | 16:10 | |
16:11
khoguan left
|
|||
timotimo | rakudo has .WHERE which will do that, though memory location of objects will change in moarvm, because it has a generational semispace-copying nursery-and-old-gen GC | 16:11 | |
there is a cache for small integers, too, which can confuse things a little | |||
rypervenche | m: say 5.WHERE; | 16:12 | |
camelia | 140711122320384 | ||
16:12
khoguan joined
|
|||
rockxloose | m: say 666.WHY; | 16:13 | |
16:13
khoguan left
|
|||
camelia | No documentation available for type 'Int'. Perhaps it can be found at docs.raku.org/type/Int » | 16:13 | |
16:18
JJMerelo left
|
|||
demostanis | Is the right way to find a value from multiple keys in a hash is by doing: for %hash { if $_ eq 'hello'|'world" { say $_ } }; Or is there a shorter way? I feel like Raku has many features but I'm missing some. | 16:19 | |
tellable6 | 2020-08-09T17:21:56Z #raku <melezhik> demostanis: "sparrowfile ... isn't being fetched from an untrusted somewhere else" - correct | ||
timotimo | "a" value from multiple keys? | ||
you want to find keys at which the hash has the desired value? | 16:20 | ||
m: my %foo = <one bloop two bleep three hello four noway five yesway six world seven hello>; .keys.say for %foo.grep(*.value eq 'hello' | 'world') | 16:21 | ||
camelia | (six) (three) (seven) |
||
timotimo | m: my %foo = <one bloop two bleep three hello four noway five yesway six world seven hello>; .key.say for %foo.grep(*.value eq 'hello' | 'world') | ||
camelia | seven six three |
||
rypervenche | rir: As for immutability, it basically means that "it can't be changed/updated". A simple example would be with a list (immutable) and an array (mutable) | ||
demostanis | Yep, 'a', I forgot to add a 'last' | ||
I only want one value | |||
timotimo | ah | ||
demostanis | Thanks, that's what I was looking for | ||
timotimo | m: my %foo = <one bloop two bleep three hello four noway five yesway six world seven hello>; .say for %foo.first(*.value eq 'hello' | 'world') | ||
camelia | seven => hello | ||
demostanis | Does the Whatever operator creates a subroutine? | 16:22 | |
timotimo | basically, yeah | ||
rir | @timotimo: If nothing is happening in a REPL, I would think the mem-object would not move. ?? And though the concept is apt for constants, I think the key to understanding is more with vars and mem-locations, containers, identifiers, boxing, and the thing/value itself. (I'm getting 'boxing' for Sather, IIRC.) | ||
rypervenche | m: my @list := (1,2); say @list.WHAT; @list[0] = 10; | ||
camelia | (List) Cannot modify an immutable List ((1 2)) in block <unit> at <tmp> line 1 |
||
rypervenche | m: my @array = (1,2); say @array.WHAT; @array[0] = 10; | ||
camelia | (Array) | ||
timotimo | rir: i'm not sure i understand; if your program is doing absolutely nothing, things shouldn't move | 16:24 | |
16:24
dyske joined,
dyske left
|
|||
demostanis | WhateverCode is Code is Callable {} | 16:24 | |
16:25
dyske joined,
dyske left
16:26
MilkmanDan left,
JJMerelo joined
|
|||
rir | timotimo: I'm new enough with Raku, that I wanted to be sure before I demostrate; my kid is reading a python book that basicly says "This is an immutable, which means it can't be changed. This is how you change this ...". He is confused, I just wanted to be doubly sure. Thanks. rypervenche, thanks. | 16:30 | |
16:31
cpan-raku left
|
|||
guifa loves it when peopel write standards documents and hand wave how stuff should be calculated | 16:35 | ||
GMT time formatting is given by a time pattern, but then in their examples, the time pattern is shortened as if by magic | 16:36 | ||
16:36
dakkar left
16:42
cpan-raku joined,
cpan-raku left,
cpan-raku joined
16:46
JJMerelo left
16:58
ldv87 joined
|
|||
ldv87 | Hi !!!! | 16:58 | |
someone knows how to do a basic auth with the package WWW | 16:59 | ||
?? | |||
i want to use the option that i use on the linux terminal | |||
curl -u $apikey: www.something.com | 17:00 | ||
17:00
MasterDuke joined
|
|||
rypervenche | You might want to look into HTTP::UserAgent. | 17:01 | |
ldv87 | Hi rypervenche!!! | 17:02 | |
i see already but i don't understand how what i need of it lol | |||
for the page that i want to use | 17:03 | ||
dont have a user and password, only a single key | 17:04 | ||
my command is very simple | 17:05 | ||
curl -u $apikey: api.planet.com/data/v1/item-types/...73008_0f4a | |||
where apykey has to be replaced with a string | |||
demostanis | HTTP auth works with headers. So you simply need to specify 'Authorization' header. It can easily be done with WWW, | 17:11 | |
say get "api.planet.com/...", Authorization => $api-key | 17:12 | ||
ldv87: ^ | 17:13 | ||
ldv87 | :O | ||
17:13
zacts left
17:14
Altai-man joined
17:17
sena_kun left
|
|||
demostanis | weekly | 17:22 | |
What bot manages it? | |||
timotimo | "notable" | 17:24 | |
demostanis | Thanks | ||
17:25
zacts joined
|
|||
demostanis | Sadly HubToDate isn't in Rakudo Weekly :( | 17:25 | |
timotimo | lizmat mentioned it isn't in the ecosystem | 17:27 | |
did you add it to the meta list on the ecosystem repo, or upload it to cpan? | 17:28 | ||
17:29
lichtkind left
17:31
Kaiepi left,
Kaiepi joined
|
|||
demostanis | Not yet, but I think I'm gonna try to do it today. How do I specify in the META.json a list of commands to execute to properly install HubToDate? | 17:33 | |
17:34
oddp left
17:35
MilkmanDan joined
17:36
zacts left
|
|||
demostanis | Also, when did lizmat mentioned it isn't in the ecosystem? I don't see anything in IRC logs | 17:36 | |
Oh ok, in #raku-dev... | 17:40 | ||
lizmat | demostanis: if it's not in the ecosystem, it is invisible | 17:46 | |
will mention it next week when it is! | |||
demostanis | Ok, thanks, but for HubToDate to install properly, it needs to run scripts as root | ||
to copy rules into /usr/share/hubtodate/rules, set permissions, create configuration files... | 17:47 | ||
17:47
oddp joined
|
|||
demostanis | Is there a way to specify that in the META6.json> | 17:47 | |
? | |||
17:47
ensamvarg3 left
|
|||
demostanis | lizmat: ^ ? | 17:51 | |
rypervenche | Are there plans to change the META6.json filename? | 17:56 | |
17:56
john_parr_ joined
|
|||
codesections | There's something with containerization that I'm still not quite getting my head around. | 17:56 | |
Why does the first list below flatten, but the second doesn't? | |||
m: my @a = [1, 2, 3]; my @b = [4, 5, 6]; (@a, @b).flat | |||
camelia | ( no output ) | ||
codesections | er | ||
m: say my @a = [1, 2, 3]; my @b = [4, 5, 6]; (@a, @b).flat # first | 17:57 | ||
camelia | [1 2 3] | ||
codesections | m: say my %h = a => [1, 2, 3], b => [4, 5, 6]; %h.values.flat; #second | ||
camelia | {a => [1 2 3], b => [4 5 6]} | ||
codesections | err, say in the wrong place.grr | 17:58 | |
m: my %h = a => [1, 2, 3], b => [4, 5, 6]; say %h.values.flat; #second | |||
camelia | ([1 2 3] [4 5 6]) | ||
18:02
ldv87 left
18:11
john_parr_ left
|
|||
CIAvash | m: my @a = [1, 2, 3]; my @b = [4, 5, 6]; say [@a, @b].flat # the difference, I think | 18:12 | |
camelia | ([1 2 3] [4 5 6]) | ||
18:16
Black_Ribbon joined
|
|||
codesections | Hmm, but `[@a, @b]` creates an Array of Arrays. `%h.values` creates a Seq of Arrays. | 18:17 | |
m: my @a = [1, 2, 3]; my @b = [4, 5, 6]; say Seq(@a, @b).flat | |||
camelia | (1 2 3 4 5 6) | ||
CIAvash | m: my @a = [1, 2, 3]; my @b = [4, 5, 6]; say [@a, @b].Seq.flat | 18:18 | |
camelia | ([1 2 3] [4 5 6]) | ||
CIAvash | probably it depends on how the seq is created | ||
18:19
sjm_uk joined
|
|||
CIAvash | m: my @a = [1, 2, 3]; my @b = [4, 5, 6]; say (@a.item, @b.item).flat | 18:19 | |
camelia | ([1 2 3] [4 5 6]) | ||
demostanis | lizmat: I'm not sure that HubToDate would fit in the p6c ecosystem, it isn't a module meant to be used in one's code, but more like a program for anyone to use, even people without much experience with Raku. It would however fit well in Rakudo Weekly as it's written in Raku. | 18:25 | |
El_Che | I don't think there is something wrong with offering apps through p6p | ||
META6.json knows how t handle script files | 18:26 | ||
18:27
Sauvin left,
vrurg_ is now known as vrurg
|
|||
demostanis | How do I handle script files in META6.json? And how can I tell it must be installed as root? | 18:28 | |
El_Che | root you can't control | ||
demostanis | It won't work without root | ||
El_Che | and with sudo? | 18:29 | |
demostanis | Yeah, sudo is to get root. What if the user uses doas? | 18:30 | |
I can have in my script something checking if uid is 0. But zef would already have downloaded files. | |||
El_Che | there a several ways to run as run, so just install it, and document it needs root rights | 18:31 | |
(and leave to the the user) | |||
(and exit with a clear message if you encounter ownership problems) | |||
jdv79 | why would META6.json change? | 18:32 | |
El_Che | add your script in a bin/ directory | ||
demostanis | How do I handle scripts anyway? | ||
El_Che | docs.raku.org/language/modules#Basic_structure | ||
put them in bin in your tree | 18:33 | ||
18:33
sjm_uk left
|
|||
demostanis | It's not a module, it's a shell script | 18:33 | |
El_Che | and I guess you could use "provides" | ||
is there should be some examples in the ecosystem | 18:36 | ||
demostanis | It requires to run a shell script as root to create folders and copy default rules. It has a Raku script in bin/ folder to run the CLI | ||
jdv79 | probably resources would be teh place to put non-raku files | ||
El_Che | modules.raku.org/dist/Bailador:cpa...6.json#L88 | 18:37 | |
resources there | |||
Provides here: github.com/jnthn/p6-app-installerm...6.json#L13 | 18:38 | ||
demostanis | Oh ok, thanks.. But Zef won't execute the shell script in 'resources'? | 18:40 | |
El_Che | execute? | ||
demostanis | It needs to execute a shell script | ||
El_Che | at install time? | ||
demostanis | Yes | 18:41 | |
jdv79 | its not like rpm or apt or whatever - zef operates without system privs | ||
El_Che | docs.raku.org/language/modules#Pre...the_module | ||
have a look at "If your module requires extra processing" | |||
however, if your app does weird stuff at install time it will get banned by everyone with some security sense | 18:42 | ||
demostanis | jdv79: I know, I was recommended to put it in the ecosystem, knowing it may not work | ||
It just copies files without overwritting | |||
El_Che | to system locations? | 18:43 | |
if that's the plan: don't | 18:44 | ||
demostanis | So I don't put it in the ecosystem?? | ||
El_Che | if it just needs a location, it can be copied to ~/.raku | ||
if you copy to system locations, don't release it until you fix it | |||
demostanis | It musn't be placed to user directory | 18:45 | |
El_Che | claim a directory in /opt or /usr/local if you want a global install | ||
but don't touch system dirs | |||
jdv79 | why not a user dir? | 18:47 | |
demostanis | It will install software as root, using user-provided commands. If anyone but root can write to files (thus changing the commands which will be ran), that's a security issue | ||
jdv79 | now i'm curious what this "thing" is | ||
demostanis | github.com/demostanis/hubtodate | 18:48 | |
El_Che | so, the user can't change files he himself installed | 18:49 | |
I don't see much the security problem there, unless it's no a user run service/program but a system one | |||
in that case deb/rpm/docker would be a better fit | 18:50 | ||
e.g. if I want to run hubtodate on my laptop as the only user (with the files in my home), what is the risk there | |||
jdv79 | just skimming it - there is nothing that requires root per se. many frameworks/apps/tools have multiple locations that can be used for fs/config stuff | 18:51 | |
El_Che | what bit needs root? | ||
lizmat | demostanis: App::Mi6 is an app with similar characteristics, and it lives in the ecosystem? | 18:52 | |
afk again& | |||
El_Che | my 2c: whatever your app does, if it doesn't really needs root for a very valid reason, people won't even try the app | 18:53 | |
I know I wouldn't | |||
demostanis | El_Che: What you're telling is as if /etc/apt/sources.list could be placed in user directory | 18:54 | |
El_Che | I am telling you that there is no way I would let an app touch apt config | 18:55 | |
demostanis | My app doesn't touch apt config | ||
El_Che | /etc/apt/sources.list ? | ||
demostanis | and apps can't touch apt config because it's root-owned | 18:56 | |
Same for HubToDate | |||
El_Che | you don't want to write to /etc/apt/sources.list, just read it? | ||
by default is 664, so world readable | |||
jdv79 | you don't need root during install but you could require it at runtime so you can call apt/rpm/etc... | 18:57 | |
demostanis | No that was a comparison... | ||
My app doesn't call apt | |||
jdv79 | dpkg, whatever | ||
El_Che | ok, not being difficult, just missing the root part | ||
demostanis | Using dpkg depends on the user | 18:58 | |
El_Che | ok, you use dpkg | ||
jdv79 | github.com/demostanis/hubtodate/bl...xample#L23 for instance is about runtime, not installation of hubtodate | ||
El_Che | what jdv79 says | ||
jdv79 | you could jsut install it and it'll be painfully clear, if your error handling is good, what happened:) | ||
El_Che | or use sudo as a failback | 18:59 | |
(and be clear why you're asking) | |||
18:59
thundergnat joined
|
|||
rypervenche | jdv79: What the "why would META6.json change" to me? If so, I was just curious if there were plans on removing the 6 from it or if that would just be one of those historical things that stays around. | 18:59 | |
thundergnat | m: my %h = a => [1, 2, 3], b => [4, 5, 6]; say %h<a b>».Slip.flat; | 19:00 | |
camelia | (1 2 3 4 5 6) | ||
[Coke] | I would expect that we eventually allow META.json but I think there's no rush | ||
tellable6 | 2020-08-05T10:23:48Z #raku <tbrowder> Thundergnat thanks for auto-abbreviate on rosettacode.org | ||
jdv79 | but point is - install of hubtodate itself requiring root and poking about the fs like root just for it's own needs seems like a bad idea | ||
[Coke] | anyone report any issues on rakudo.org website lately? | ||
jdv79 | raku is still v6 is it not? | ||
19:01
domidumont left
|
|||
thundergnat | .tell tbrowder Glad Rosettacode was useful for you. There's a lot of interesting code on there (and some not so good too... ) | 19:01 | |
tellable6 | thundergnat, I'll pass your message to tbrowder | ||
demostanis | HubToDate has its rules folder root-owned and with mode 600 so that a malware can't change them and replace 'install = ...' in rules by a malware which will then execute as root | ||
19:02
thundergnat left
|
|||
jdv79 | sounds like the sec is a bit too wide there | 19:02 | |
[Coke] | jdv79: right, but I wouldn't expect us to change the number in the META file going forward (it was "as opposed to 5"), so we don't need to track 7,8,9, etc. and I think it makes sense to eliminate the # if we're not trying to say "not 5" | ||
demostanis | Also it needs to be run as root because it may be run inside a crontab, where user can't be prompted for his password | 19:03 | |
jdv79 | idk, like El_Che said, if a raku module asked me for root to install it - eh, i'd likely not | ||
demostanis | Ok so I put it to the ecosystem then? | ||
jdv79 | [Coke]: i guess... iirc it was partly to differentiate it from the perl META.json file | 19:04 | |
at least at pause i believe | 19:05 | ||
El_Che | demostanis: personally I would keep your code base simple, add a good readme and provide a dockerfile of how you think the app/service should be run | ||
jdv79 | yup | ||
demostanis | There's a Dockerfile already | 19:06 | |
and the README is good | |||
and the Dockerfile runs as ROOT | |||
19:06
fridim left
|
|||
El_Che | demostanis: I use podman, so they don't run as root on my laptop | 19:07 | |
the app *thinks* it runs as root though | |||
jdv79 | i guess its kinda like the Perl6 -> Raku, we could do it but its not like the old will ever be deprecated. maybe... | ||
wrt to the subdir at cpan i was referring | |||
El_Che | demostanis: I think that with me and jdv79 you found a tough audience :) | ||
19:09
Kaiepi left
19:10
Kaiepi joined
19:14
sena_kun joined
|
|||
rypervenche | I imagine it might never be deprecated. I just like consistency, and so far Raku has been doing a great job at creating consistency, especially with regards to the name change. | 19:15 | |
jdv79 | what would it be chagned to? | ||
rypervenche | I imagine META.json would be fine. | ||
jdv79 | not without breaking hge cpan ecosystem | 19:16 | |
19:16
Altai-man left
19:17
rindolf left
|
|||
jdv79 | if it was to be renamed to META.json then an alternative "this is raku" flag would have to be devised for raku dists | 19:17 | |
right now, the presence of that file is the sole flag at pause | 19:18 | ||
Grinnz | that can be adjusted (and I did promise to look into that at some point) | 19:19 | |
jdv79 | maybe looking at the contents of hte meta file | ||
Grinnz | the sole flag *should* be the Perl6/Raku subdir | ||
as it is for metacpan et al | |||
jdv79 | it used to be. but soemone thought it was a good idea to subvert that. | ||
in pause, specifically | |||
19:20
epony left
|
|||
jdv79 | perhaps, though it might cause more grief than its worth, we could pair the subdir rename with tne meta file rename | 19:23 | |
19:23
stoned75 left
|
|||
Grinnz | no need to pair anything. pause can recognize both, as other things do | 19:23 | |
the switch can be made at one's leisure subsequently | |||
jdv79 | i'm not sure using META.json is a great idea cause then we lose the ability to detect, and possible repair, a raku dist not uploaded under Perl6 or Raku | 19:31 | |
Grinnz | belt and suspenders is certainly a good policy, and there's really no reason to stick to that naming to begin with | 19:32 | |
but that's a bikeshed for you all to have ;) | 19:33 | ||
19:33
rindolf joined
|
|||
jdv79 | rypervenche: need a better name!:) | 19:36 | |
19:38
lichtkind joined
|
|||
rypervenche | That would work too :) I'm probably the least qualified to help with that though. There are so many things I wish I could help with, but I still have a lot to learn about the language, community, and ecosystem. | 19:42 | |
demostanis | lizmat: Is there still chance I can appear on Rakudo Weekly even if my project isn't on p6c ecosystem? | 19:43 | |
jdv79 | rypervenche: i'll try to remember | 19:49 | |
i was planning on looking at "eco stuff" more deeply soonish | 19:50 | ||
20:03
kensanata left
20:11
ab5tract left
|
|||
codesections | m: [].Set.raku.say; Set.new.raku.say | 20:18 | |
camelia | set() Set.new() |
||
codesections | These two empty sets ^^^ have different `raku` print representations. Are they actually different, or do they just happen to print differently? | 20:19 | |
(`eqv` returns True) | |||
timotimo | sourceable6: Set.new.raku | 20:23 | |
sourceable6 | timotimo, github.com/rakudo/rakudo/blob/a849...u.pm6#L818 | ||
timotimo | sourceable6: set().raku | 20:24 | |
sourceable6 | timotimo, github.com/rakudo/rakudo/blob/a849...u.pm6#L818 | ||
timotimo | d'oh | ||
of course | 20:26 | ||
sourceable6: set().perl | |||
sourceable6 | timotimo, github.com/rakudo/rakudo/blob/a849...Mu.pm6#L14 | ||
timotimo | sourceable6: Set.new().perl | 20:27 | |
sourceable6 | timotimo, github.com/rakudo/rakudo/blob/a849...Mu.pm6#L14 | ||
timotimo | excuse? | ||
AlexDaniel` | sourceable6: Set.new().perl() | 20:28 | |
sourceable6 | AlexDaniel`, github.com/rakudo/rakudo/blob/a849...Mu.pm6#L15 | ||
20:34
epony joined
|
|||
cpan-raku | New module released to CPAN! HTML::Canvas (0.0.9) by 03WARRINGD | 20:37 | |
rypervenche | Is it possible to use prompt or get and have the result be used directly in a sub? Or will have have to assign the result of prompt/get to a variable and then pass it to a sub so I can then have it check that the signature is correct? | 20:42 | |
moritz | you can absolutely do something like sub square(Int() $x) { $x * $x }; say square prompt 'Number to square: '; | 20:47 | |
note that in this case, I made the argument to sub square coerce to Int | |||
probably not really necessary, since prompt uses val() on its return value, so it'd retuern an IntStr anyway | 20:48 | ||
rypervenche | Oh, very interesting. | 20:49 | |
20:54
astronavt___ left
|
|||
guifa | that type of chaining is one of the reasons I love intelligently designed function names | 20:55 | |
20:55
astronavt joined
|
|||
guifa | being able to string along a semi intelligible phrase | 20:55 | |
20:58
astronavt left
21:00
rindolf left
21:14
Altai-man joined
21:16
sena_kun left
21:33
raku-bridge left,
raku-bridge joined,
raku-bridge left,
raku-bridge joined
21:37
rockxloose left
21:38
rockxloose joined
21:45
raku-bridge left,
raku-bridge joined,
raku-bridge left,
raku-bridge joined
21:47
raku-bridge left
21:49
raku-bridge joined
21:51
demostanis left
21:52
raku-bridge left
21:55
raku-bridge joined,
raku-bridge left,
raku-bridge joined
22:02
camelCaser left
|
|||
rypervenche | Is it possible to divide every element of an array by 100? Possibly using >> | 22:08 | |
I guess a map would do what I want. | 22:13 | ||
lizmat | m: my @a = ^10; @a >>/=>> 100; dd @a | 22:14 | |
camelia | Array @a = [0.0, 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09] | ||
lizmat | rypervenche ^^ | ||
rypervenche | Oooh, thanks. | 22:19 | |
22:29
oddp left
22:33
camelCaser joined
22:49
pecastro joined
23:05
leont left,
Sgeo left
23:07
pecastro left
23:08
Sgeo joined
23:14
vrurg left
23:15
vrurg_ joined
23:20
jmcgnh left
23:32
silug6 joined,
silug left,
silug6 is now known as silug
|
|||
rypervenche | How might I get a subset like: subset NonnegativeRat of Rat where * ≥ 0; but also accept UInt. Is that possible to do in the same subset? | 23:39 | |
23:49
lichtkind left
|
|||
rypervenche | Hmm, I think I was able to get what I wanted with: subset NonnegativeRat of Numeric where { ($_ ~~ UInt or $_ ~~ Rat) and $_ > 0 }; | 23:52 | |
Is there a shorter/more idiomatic way of doing this? | |||
23:53
MilkmanDan left
|