IRCloggy #perl6 2019-03-29

Logs Search ←Prev date Next date→ Channels Documentation

Provider of IRC logs since 2005.
WARNING: As Freenode became unjoinable and lost all warnings in topics, we cannot log channels on Freenode anymore.

2019-03-29

llfourn left00:00
llfourn joined00:03
llfourn left00:07
llfourn joined00:10
llfourn left00:15
netrino_ left00:15
Xliff ctilmes: LOL! Thinking about it.00:16
ugexe m: print((($_ eq "e") and uc($_) or $_)) for split("", "Perl Weekly Challenge"); # polyglot for the beginner challenge, too00:23
camelia rakudo-moar b5bf7cd4f: OUTPUT: «PErl WEEkly ChallEngE»00:23
learningprogged left00:30
zachk left00:34
ugexe m: my $count; print((($_ eq "e" and $count++) and uc($_) or $_)) for split("", "Perl Weekly Challenge\n"); print($count)00:37
camelia rakudo-moar b5bf7cd4f: OUTPUT: «Perl WEEkly ChallEngE␤5»00:37
ugexe m: my $count; print((($_ eq "e" and ++$count) and uc($_) or $_)) for split("", "Perl Weekly Challenge\n"); print($count)00:37
camelia rakudo-moar b5bf7cd4f: OUTPUT: «PErl WEEkly ChallEngE␤5»00:37
timotimo m: $_ = "perl weekly challenge"; say +tr/e/E/00:40
camelia rakudo-moar b5bf7cd4f: OUTPUT: «5␤»00:40
timotimo m: $_ = "perl weekly challenge"; say +tr/e/E/; .say00:40
camelia rakudo-moar b5bf7cd4f: OUTPUT: «5␤pErl wEEkly challEngE␤»00:40
^020d26 joined00:44
^020d26 left00:44
leont left00:52
onefst250r joined00:53
onefst250r left00:53
w_richard_w joined00:53
dau6 joined00:56
dau6 left00:56
ugexe but mine is way faster01:07
what if you had to run that 100000 times01:07
and only had 2.5s01:07
how would you scale this out?01:10
timotimo i'll multithread it on my swarm of 128-core machines01:13
MidCheck joined01:16
isomorphismes_ joined01:17
RamShadow11 joined01:18
isomorphismes_ Perl 6 seems like the right place to put an end to ^ meaning "BEGINNING" and $ meaning "END" because of the (a) widespread sanity of the community (b) p6 grammars (c) support for unicode01:18
RamShadow11 left01:18
ugexe we doubled down on it and have ^^ and $$ too01:18
isomorphismes_ if I make some commits to rakudo making stuff like https://www.fileformat.info/info/unicode/char/2403/index.html, U+0004 (EOT), alias / synonymous for BEGIN and END, is that likely to be accepted?01:19
ugexe: that's clearer imo01:19
ugexe its not quite the same thing01:19
isomorphismes_ ugexe: ^^ and $$ are clearer to read. But so would END and BEGIN be.01:19
yeah, there are a variety of candidates in https://unicode-search.net/unicode-namesearch.pl?term=END01:19
like "syriac end of paragraph" (sounds likea good one)01:20
U+220e (\xe2 \x88 \x8e), end of proof, could work too01:20
ugexe: dollars aren't quite the same as EOL, either ...01:20
I mean, unless there's going to be a lot of people wanting to match the capital strings BEGIN and END for very common $ and ^ functionality, might as well alias those ascii strings too .... no?01:21
ugexe BEGIN and END are already perl6 things01:21
isomorphismes_ ah sorry01:22
still learning the lang01:22
ugexe m: END say 2; BEGIN say 1;01:22
camelia rakudo-moar b5bf7cd4f: OUTPUT: «1␤2␤»01:22
isomorphismes_ thank you ugexe01:22
https://unicode-search.net/unicode-namesearch.pl?term=START has U+2402 = \xe2 \x90 \x82 = ␂01:24
I just mean, "stuff like this"01:24
Would it be worth the commit? Or no rakudo members will want to take it in?01:24
ugexe m: grammar MyGrammar { token XXX { ^ }; token ZZZ { $ }; token TOP { <XXX> foo <ZZZ> } }; say so MyGrammar.parse("fo"); say so MyGrammar.parse("foo");01:27
camelia rakudo-moar b5bf7cd4f: OUTPUT: «False␤True␤»01:27
ugexe https://docs.perl6.org/language/regexes#Summary_of_anchors01:29
if you want to propose something i would suggest coming up with something that can be applied and consistent across the other anchors (or most of them)01:30
MasterDuke isomorphismes_: you might be able to do it as a slang, which you could publish as a module first01:30
ugexe e.g. if ^ is "START UNICODE THING", then what is ^^?01:30
figure that out for the other anchors, then come up with theoretical examples that demonstrate the added value to the user01:31
making a module out of it is one way to do that01:32
kellabyte29 joined01:33
kellabyte29 left01:33
isomorphismes_ MasterDuke: thank you01:40
ugexe: I was intending just to alias, not replace01:40
see if there is any uptake besides myself01:41
glad you guys use the .party TLD (tpm-regex.perl6.party)01:43
Guest41066 joined01:44
Guest41066 left01:44
ctilmes left01:44
Geth ¦ doc: 39b1b74399 | cfa++ | doc/Language/py-nutshell.pod601:45
synopsebot Link: https://doc.perl6.org/language/py-nutshell01:45
Geth ¦ doc: Fix typo. 01:45
¦ doc: review: https://github.com/perl6/doc/commit/39b1b7439901:45
robijkn11 joined01:57
robijkn11 left01:57
molaf left02:03
llfourn joined02:08
llfourn left02:13
aindilis left02:15
aindilis joined02:19
Ooze7 joined02:23
Ooze7 left02:23
ExtraCrispy left02:30
ExtraCrispy joined02:30
llfourn joined02:32
llfourn left02:37
melezhik joined02:43
melezhik Hi! Has anyone experienced extremly slow zef install for one of their modules. I am stuck with performance issue - https://www.reddit.com/r/perl6/comments/b6hnog/first_perl_weekly_challenge_thoughts_perl5_and/02:45
and really don't know what to do with that02:45
sorry wrong link02:46
that's the one - https://www.reddit.com/r/perl6/comments/b6ilvx/how_to_improve_perl6_source_code_install/02:46
melezhik left02:53
llfourn joined03:10
llfourn left03:15
ufobat__ joined03:22
ufobat_ left03:25
kst left03:51
kst joined03:52
teto1 joined03:57
teto1 left03:57
unicodable6 left04:57
bloatable6 left04:57
quotable6 left04:57
undersightable6 left04:57
reportable6 left04:57
nativecallable6 left04:57
coverable6 left04:57
squashable6 left04:57
statisfiable6 left04:57
releasable6 left04:57
benchable6 left04:57
committable6 left04:57
greppable6 left04:57
bisectable6 left04:57
notable6 left04:57
shareable6 left04:57
evalable6 left04:57
evalable6 joined04:58
ChanServ set mode: +v04:58
squashable6 joined04:58
reportable6 joined04:58
releasable6 joined04:58
ChanServ set mode: +v04:58
statisfiable6 joined04:59
ChanServ set mode: +v04:59
greppable6 joined04:59
undersightable6 joined05:00
notable6 joined05:00
ChanServ set mode: +v05:00
benchable6 joined05:00
ChanServ set mode: +v05:00
bisectable6 joined05:00
committable6 joined05:01
unicodable6 joined05:01
ChanServ set mode: +v05:01
quotable6 joined05:01
ChanServ set mode: +v05:01
bloatable6 joined05:02
coverable6 joined05:02
nativecallable6 joined05:02
ChanServ set mode: +v05:02
shareable6 joined05:02
dustinm` left05:06
sauvin joined05:07
dustinm` joined05:10
llfourn joined05:11
llfourn left05:16
w_richard_w left05:54
domidumont joined06:24
aborazmeh joined06:34
aborazmeh left06:34
aborazmeh joined06:34
pistacchio left06:35
pistacchio joined06:36
molaf joined06:36
kurahaupo_ joined06:44
kurahaupo_kurahaupo06:45
mowcat left06:46
cpan-p6 left06:48
cpan-p6 joined06:49
cpan-p6 left06:49
cpan-p6 joined06:49
Geth ¦ doc: ff25568778 | (JJ Merelo)++ | doc/Language/classtut.pod607:03
¦ doc: Expands explanation on `is rw` trait 07:03
¦ doc:07:03
¦ doc: With new examples, and a reference to `is rw` on the whole class. It07:03
¦ doc: was probably better where it is, in classtut, rather than in the07:03
synopsebot Link: https://doc.perl6.org/language/classtut07:03
Geth ¦ doc: typesystem, which didn't seem to have (at least now, 18 months after07:03
¦ doc: OP) a place for it. This closes #157207:03
¦ doc: review: https://github.com/perl6/doc/commit/ff2556877807:03
¦ doc: 3ea709ac2f | (JJ Merelo)++ | doc/Language/phasers.pod607:03
synopsebot Link: https://doc.perl6.org/language/phasers07:03
Geth ¦ doc: Rephrases LAST explanation to clarify, closes #2701 07:03
¦ doc: review: https://github.com/perl6/doc/commit/3ea709ac2f07:03
|oLa| joined07:03
|oLa| left07:03
llfourn joined07:11
molaf left07:11
domidumont left07:14
llfourn left07:15
reach_satori_ joined07:22
|oLa| joined07:23
reach_satori left07:23
domidumont joined07:29
MidCheck left07:35
w_richard_w joined07:44
|oLa| left07:52
|oLa| joined07:55
|oLa| left07:56
w_richard_w left07:56
reach_satori_ left08:00
nebuchadnezzar left08:13
nebuchadnezzar joined08:13
aborazmeh left08:15
MidCheck joined08:19
ravenousmoose joined08:19
dustinm` left08:20
random_yanek left08:26
|oLa| joined08:28
netrino joined08:28
dustinm` joined08:29
|oLa| left08:30
reach_satori_ joined08:41
rindolf joined08:44
robertle_ joined08:47
squashable6 left08:48
squashable6 joined08:51
ChanServ set mode: +v08:51
llfourn joined08:53
Actualeyes joined09:04
xinming For hyper method call operator, @array>>.meth(); Can I think it is almost the same as await @array.map: start { $_.meth() }; ??09:07
masak xinming: by spec it's parallel like that, yes. I don't know that Rakudo actually parallelizes it.09:08
timotimo i'd probably expect it to be equivalent to @array.hyper.map(*.meth), in particular it'd probably batch many values together to one work unit09:12
hanzi joined09:14
hanzi loop { my $x; say ++$x; }09:14
is this supposed to produce (output) a constant value of $x of 1?09:15
in the documentation i was not able to find any mention of how my causes initialization in each looping of a loop09:16
cgfbee left09:17
moritz hanzi: yes09:18
hanzi many thanks!09:19
moritz hanzi: and you didn't find any documentation because it's not different for loops than for any other block09:19
hanzi where can i find that info in the doc?09:19
was not looking wrt loops, just in general, and did not find09:19
looked in https://docs.perl6.org09:19
and in https://perl6intro.com/09:20
moritz I'd expect something in https://docs.perl6.org/language/variables09:20
cgfbee joined09:21
moritz if not, please open an issue according to https://github.com/perl6/doc/blob/master/CONTRIBUTING.md#reporting-bugs09:21
hanzi ok, thanks, in any case, i think this is rather fundamental info that should be present in the introduction of the my declarator09:23
netrino left09:24
masak hanzi: you're not wrong.09:24
though, as moritz++ points out, it's less to do about loops and more about blocks and block entry09:24
m: sub foo { my $x; say ++$x }; foo() for ^309:25
camelia rakudo-moar b5bf7cd4f: OUTPUT: «1␤1␤1␤»09:25
masak same deal ^09:25
moritz the problem is that everybody has different expectations about what belong into an introduction09:25
hanzi thanks, just to be clear, my example was not meant to focus on loops09:25
was just an example, maybe not the best one09:25
moritz some people are familiar with how lexical variables are initialized in most programming languages, and Perl 6 behaves consistently with that09:25
masak part of the difficulty, I think, is that there's no good *word* for that thing in memory "behind" the lexical variable of which there's one per block entry/frame09:25
El_Che moritz: btw, I saw your fundamentals book in in O'Reilly's safari09:25
not the 2nd one09:25
moritz others find the behavior so intuitive that they don't need an explanation09:26
others want an explanation09:26
zakharyas joined09:26
moritz sure, you can add it, but there simply soooo many things that could be explained in an introduction09:26
what I really want is some semi-interactive website that starts with something like: "Lexical variables are declared with `my`, like in `my $x` or `my $y = 42`09:27
and then there's a small symbol that you click on, which expands to a more detailed explanation of how lexicals work09:27
cpan-p6 left09:28
moritz I think sjn++ was working on a project for books that support something like this, though I don't know if it went anywhere09:28
cpan-p6 joined09:28
cpan-p6 left09:28
cpan-p6 joined09:28
hanzi good info, thanks for the help09:31
molaf joined09:42
random_yanek joined09:49
random_yanek left09:49
random_yanek joined09:50
Black_Ribbon left10:03
Harzilein left10:20
antoniogamiz joined10:26
MidCheck left10:28
Woodi left10:33
pistacchio left10:34
pistacch_ joined10:35
hanzi left10:45
Woodi joined10:46
pistacchio joined10:49
pistacchio left10:51
pistacch_ left10:52
pistacchio joined10:52
domidumont left10:52
MidCheck joined11:07
andrzejku_ joined11:17
andrzejku left11:19
andrzejku_andrzejku11:19
pincher joined11:22
nekomune left11:25
pincher left11:25
nekomune joined11:29
leont joined11:40
andrzejku left11:40
kurahaupo left11:51
pistacchio left11:53
gks what would be the easiest way in perl 6 to download a binary file over HTTP and saving it to a file (with a given name)?11:53
basically i want `curl https://someurl.com > myfile`11:54
pistacchio joined11:54
zakharyas left11:54
tbrowder ctilmes: your DB::SQLite module is excellent! thanks11:54
pecastro joined11:55
tbrowder for an easy-to-use module that eases sqlite use immensely.11:55
timotimo easier than using DBIish?11:56
pistacchio left11:58
kawaii m: say so Nul;12:00
camelia rakudo-moar b5bf7cd4f: OUTPUT: «=== SORRY!=== Error while compiling <tmp>␤Undeclared name:␤ Nul used at line 1. Did you mean 'Nil', 'Num'?␤␤»12:00
kawaii blah12:00
m: say so Nil;12:00
camelia rakudo-moar b5bf7cd4f: OUTPUT: «False␤»12:00
kawaii $level = Nil, which is False, so why does this unless not work? https://www.irccloud.com/pastebin/y7ch9aCq/12:01
tbrowder timotimo: for me, yes. but i haven't tried DBlish in a while and Curt's examples scratched an itch.12:05
abraxxa left12:09
abraxxa joined12:09
lizmat m: my $a is default(42) = 666; say $a; $a = Nil; say $a12:16
camelia rakudo-moar b5bf7cd4f: OUTPUT: «666␤42␤»12:16
lizmat kawaii: ^^^12:16
oops, should have looked at the paste12:17
m: my $a = ~Nil; say "foo" if $a12:17
camelia rakudo-moar b5bf7cd4f: OUTPUT: «Use of Nil in string context␤ in block <unit> at <tmp> line 1␤»12:17
lizmat kawaii: not sure :-(12:19
kawaii bug, maybe?12:19
lizmat m: my $a = ~Nil; say "foo" unless $a # seems to work in this case12:20
camelia rakudo-moar b5bf7cd4f: OUTPUT: «Use of Nil in string context␤foo␤ in block <unit> at <tmp> line 1␤»12:20
lizmat kawaii: do you see that warning as well in your code ?12:20
kawaii Yes, exactly as it says12:20
so I'm certain $level = Nil12:20
https://www.irccloud.com/pastebin/Opb7I2BD/12:21
lizmat no, $level is ""12:21
kawaii lizmat: this code works fine12:21
lizmat stringification of Nil is ""12:21
kawaii ah12:21
lizmat without stringification of Nil, it would be Any12:21
m: my $a = Nil; dd $a12:21
camelia rakudo-moar b5bf7cd4f: OUTPUT: «Any $a = Any␤»12:21
kawaii understood :)12:21
m: say so "";12:22
camelia rakudo-moar b5bf7cd4f: OUTPUT: «False␤»12:22
kawaii even so, it should still work :(12:22
lizmat yeah...12:22
perhaps a "dd $level" before the unless to make doubly sure that $level contains what we think it should contain ?12:23
perhaps it contains 1 for the number of elements ?12:23
leont left12:26
sergot joined12:27
pistacchio joined12:29
kawaii lizmat: `List $level = $("",)`12:30
dd result ^12:30
lizmat m: say "foo" if $("",)12:31
camelia rakudo-moar b5bf7cd4f: OUTPUT: «foo␤»12:31
lizmat so you got a 1 elem list with a "" in it12:31
kawaii let me go look at the code we use to create $level...12:31
lizmat :-)12:32
ctilmes joined12:32
kawaii so this block here handles which routine each detected command runs, and we create $args-str to populate other values based on this... https://www.irccloud.com/pastebin/rpYODJkQ/12:33
I'm going to refactor this anyway, to support a cleaner command syntax i.e. `!level (add|rm|list)` instead of hyphenated commands so probably not worth fixing right now :)12:34
sena_kun joined12:37
kawaii lizmat: wrapping $level in () fixes it for now :)12:38
lizmat yeah, that it would12:38
kawaii thanks for your help debugging!12:39
lizmat yw :-)12:39
domidumont joined12:42
pistacchio left12:49
pistacchio joined12:49
reach_satori_ left12:50
Sigyn left12:52
Sigyn joined12:53
antoniogamiz left12:55
jast left13:00
jast joined13:00
lucasb joined13:01
gfldex lolibloggedalittle: https://gfldex.wordpress.com/2019/03/29/conditional-whenever/13:07
MidCheck left13:08
sena_kun gfldex, "displays to much or to little" <- is it a pun?13:09
gfldex sena_kun: would you believe me it I would say „yes“? :->13:09
sena_kun gfldex, as a non-native folk, I'll do my best. ;)13:10
timotimo gfldex: it look like there's no space between ".tap" and "on the parameter"13:11
lizmat gfldex: also wheneveralways13:12
gfldex: also s/paramter/parameter/13:13
gfldex the spaces are an wordpress editor artifact13:13
I solved it by adding 3 spaces, move the cursor a little and then remove 213:14
lizmat gfldex: is that the new WP editor ?13:14
gfldex yes13:14
otherwise it's really nice13:15
lizmat *phew* glad to be using the old one13:15
gfldex you can inline `code` and start a code block with ```13:15
lizmat for me, it worked actively against my P6W workflow13:15
gfldex and lots other neat stuff13:15
SmokeMachine gfldex: is your script using this? https://github.com/FCO/JSON-Stream13:18
gfldex yes13:18
SmokeMachine :)13:18
gfldex: how was it? many problems?13:19
gfldex the documentation is a bit sparce and it doesn't forward closed input streams13:19
SmokeMachine gfldex: would you mind to open issues?13:20
gfldex SmokeMachine: would not help, because it can't forward that the input Supply is closed without breaking other stuff.13:21
SmokeMachine gfldex: sorry, I didn't get it...13:23
gfldex SmokeMachine: you need something like https://github.com/gfldex/bin/blob/master/iostat.p6#L138 to react to the closed input Supply. But then any script using the module trying to do the same got a problem. Also, 90% of all tests stopped working when I tried to fix it myself.13:28
abraxxa left13:31
skids joined13:38
leont joined13:38
zakharyas joined13:44
MidCheck joined13:45
cpan-p6 New module released to CPAN! Acme::Cow (0.0.3) by ELIZABETH 13:59
reach_satori_ joined14:01
nekomune left14:01
woolfy I love all the puns on this channel.14:01
While most puns make me feel numb, mathematics puns make me feel number.14:01
molaf left14:03
cpage_ joined14:04
cpage left14:06
cpage_cpage14:06
gfldex woolfy: I agree. This is a puntastic channel!14:07
nekomune joined14:08
El_Che don't be a pun in the ass14:09
leont left14:10
moritz you pundits :D14:12
AlexDaniel joined14:22
woolfy It was easy as pi14:26
ctilmes tbrowder: ty14:26
timotimo: For DBIish, SQLite is good because it actually works (DBIish is broken for Pg and MySQL)14:27
timotimo: DB:* are nice because they maintain a cache of handles and you can perform DB actions from different threads without worrying about stepping on simultaneous database actions14:27
Guest46123 left14:28
success joined14:29
successGuest4951514:29
aborazmeh joined14:33
aborazmeh left14:33
aborazmeh joined14:33
ravenousmoose left14:38
learningprogged joined14:43
AlexDaniel gks: there are a bunch of modules, I'm not even sure which one is best :)14:44
gks: if you want it be as close to curl as possible, then there's Net::Curl and LibCurl… and my favorite: just doing `run <curl … …>`14:45
gks: otherwise people nowadays prefer Cro, I think14:45
gks AlexDaniel: ok! i'm doing a thing partly as a way of learning perl6, so just running curl as a shell command felt counterproductive. I can write bash scripts all day long, but i wanna learn perl 6 :)14:47
i'll look into Cro!14:47
jnthn Off the top of my head, `use Cro::HTTP::Client; my $resp = await Cro::HTTP::Client.get($url); spurt :bin $filename, await $resp.body-blob;` :)14:49
bb656 joined14:49
pistacchio hi, yesterday I asked if it's ok to post here snippets of perl6 to have them reviewed for learning purposes and check if there are idioms that i missed or best practices that i ignored. is there a recommended platform to share perl6 files or a github gist would suffice?14:50
lizmat github gist works for most people here :-)14:51
uzl joined14:51
pistacchio https://gist.github.com/pistacchio/9af8d01ad55771a9d76573971c135fbb14:51
uzl Hello #perl6!14:51
pistacchio @lizmat thanks. this is the link, if anyone would like to give me any tip14:51
uzl How do I circumvert circular dependency? I've a class in its own pm6 file (Git::Repository.pm6), which uses some utility functions from another pm6 file (Utils.pm6). However, the Utils.pm6 file has a function (repo-create) that instantiate the class from the first file. I could place this function to the same compilation unit (I think!) as the class but I want to keep all the utility functions in a single file.14:52
Any idea on how to approach this?14:52
http://sprunge.us/p7Pajr14:53
gks jnthn: thanks!14:53
lizmat pistacchio: and the question is exactly? Just about the idioms used ?14:53
pistacchio @lizmat yes. the code works of course, but i'd like to know if it uses idiomatic perl6 or if there is something i'm missing, like doing something in a more convoluted why while there are bits of the language that i don't know and that would turn out useful14:55
it's just a way of learning the language, really14:55
aborazmeh left14:55
mowcat joined14:56
bb656 left14:59
robertle_ left15:00
pistacchio_mob joined15:01
pistacchio_mob left15:02
robertle_ joined15:02
antoniogamiz joined15:05
roguelazer joined15:05
sjn wonders if it's possible to get a perl6 eval bot in another channel here on freenode15:10
moritz sjn: it is15:11
roguelazer left15:18
sjn looks at perl6/whateverable15:18
pistacchio left15:18
AlexDaniel yeah, that is also possible :)15:19
which channel are we talking about and how many bots do you want? :)15:19
moritz sjn: I can also send camelia to another channel if you want15:19
pistacchio joined15:20
sjn moritz: that would be cool :)15:21
AlexDani` joined15:23
uzl Is the `z` file tests enough to check if a directory is empty, meaning not even zero-sized files? Or should I rather `dir $path-to-dir` and then coerce to Int?15:23
AlexDaniel left15:24
sivoais left15:25
sivoais joined15:26
camelia left15:26
camelia joined15:26
ChanServ set mode: +v15:27
sjn p6: "BUTTERFLY".uniparse.say15:31
camelia rakudo-moar b5bf7cd4f: OUTPUT: «🦋␤»15:31
sjn would have assumed a butterfly would be printed there15:31
moritz sees a butterfly15:31
sjn hm. missing font here, then15:32
timotimo uzl: i'd expect a size based on the stat system call to always be the same for folders, or perhaps it depends on the filesystem in use15:33
nekomune left15:35
lucs moritz: What terminal do you use? (urxvt here, no butterfly)15:35
uzl timotimo: The docs say "is dependent on the operating system". Do you think it's a safer bet then to list the files in the path and then coerce that to Int?15:35
timotimo that will give you the number of files in it (excluding . and .. by default)15:36
where an empty file will also show up15:36
moritz lucs: the xfce terminal15:36
lucs Thanks, I'll look it up.15:36
uzl timotimo: I think I'll go with that then.15:36
moritz lucs: but it's typically not a matter of the terminal, but whether UTF-8 is properly configured, and then it's a question of available fonts15:36
uzl timotimo: BTW, do you mind looking at https://colabti.org/irclogger/irclogger_log/perl6?date=2019-03-29#l435?15:37
lucs moritz: I'm not too handy with all that, so thanks for the tip :)15:37
timotimo uzl: one way is always to use run-time module loading using "require", i think15:38
if you need something that happens at compile time, though, that'll mean your "at run time" is actually during the compile time, and that'd be bad news15:38
kawaii Is it normal for Perl 6 applications to be distributed with META6.json files too? To list their dependencies and such?15:40
Or does that only apply to modules?15:40
timotimo that makes them installable, and also a META6.json is required for it to "use" its own modules15:41
and for modules to load each other15:41
kawaii great thanks :)15:41
timotimo unless you're into fiddling with paths manually and putting "use lib" in all your code15:41
having scripts in a bin/ folder will get them installed to the system as launchers15:41
uzl timotimo: I don't understand all the intricacies ;-); I'll have to read the docs again. BTW, do you mean loading the class module into the utility module? Or could it be either way?15:42
timotimo it could probably work either way, you'll have to experiment, and tbh i haven't tried this yet either :S15:43
BBL15:44
uzl I'll have to experiment then. Thanks!15:45
ufobat__ left15:45
learningprogged left15:46
uzl timotimo: One last question. There must be several ways but what's the closest thing of asserting something in P6? Using the Test module? Just checking for definedness or truthness?15:47
moritz Test modules works well for testing15:49
there is no real assert statements, but a die "you are too old" if $age > 42; is quick to write15:49
there are also PRE and POST phasers for routines15:50
which you can use to check things at routine entry and exit15:50
robertle_ left15:52
uzl moritz: I think a die statement will suffice here. I'm asking because I'm following along this Python implementation of a simple Git and the author uses assert.15:52
nekomune joined15:55
robertle_ joined16:04
Guest5277 left16:07
pistacchio left16:12
antoniogamiz left16:17
robertle_ left16:19
pistacchio joined16:20
andrzejku_ joined16:24
andrzejku_andrzejku16:24
squashable6 left16:24
squashable6 joined16:28
reach_satori_ left16:28
zakharyas left16:33
domidumont left16:33
AlexDani` left16:35
andrzejku left16:41
uzl left16:41
uzl joined16:41
uzl left16:46
uzl joined16:48
uzl left16:49
pistacchio left16:53
pistacchio joined16:53
pistacch_ joined16:55
pistacch_ left16:56
pistacch_ joined16:56
pistacchio left16:57
pistacch_ left17:02
isomorphismes_ left17:11
reach_satori joined17:18
sjn huh. a few minutes with camelia in another channel, and we've found a security issue :)17:24
domidumont joined17:25
pistacchio joined17:35
El_Che sjn: there were some know ones, but I forgot what exactly17:45
ravenousmoose joined17:54
vrurg What short term is best to use when referring to the language specification (.c, .d)? Revision?17:57
adu joined18:05
natrys joined18:05
squashable6 left18:09
squashable6 joined18:14
ChanServ set mode: +v18:14
ravenousmoose left18:19
stigo joined18:23
moritz vrurg: version18:25
or simply say v6d18:25
vrurg moritz: But for the build process? Diwali is called 'language specification'18:26
I mean, wouldn't we get teminology ambiguity somewhere?18:26
moritz vrurg: we might have a misunderstanding here, because what you say confuses me18:27
vrurg http://blogs.perl.org/users/zoffix_znet/2018/11/announce-raku-perl-6-diwali-6d-language-specification-release.html – here it is called 'language specification'18:28
But let's assume we get another compiler. It would implement the specification. Yet, they would have versions like: v1.1 of compiler implementing v6.d18:29
This is why I wonder wouldn't it be more correct to call .c and .d not version but specifications?18:30
The reason I'm asking is because I'm redoing Configure.pl and would like to stick to a consistent terminology to avoid future confusions.18:31
zachk joined18:34
adu left18:36
moritz rakudo says "Rakudo version 2019.04 [...] implementing Perl 6.d."18:38
nothing ambiguous about that, IMHO18:38
MidCheck left18:38
vrurg BTW – yes. So, it implements a spec and this is what I'll use. Thanks!18:39
netrino joined18:46
squashable6 left19:14
__jrjsmrtn__ joined19:14
squashable6 joined19:19
ChanServ set mode: +v19:19
snarkyboojum joined19:27
abraxxa joined19:29
AlexDani` joined19:30
TreyHarris Is there a unicode combining backspace? Or some other way to overprint two arbitrary glyphs on outputs that can support that without needing a single font glyph that matches?19:31
(Context: I had a on-screen meter that I can show 9 out of 10 possible values via box characters, but the tenth doesn't exist; if I could print two of the others in the same space it would visually be the tenth)19:32
moritz not that I'm aware of19:34
the best you can try is to find combining characters that make up the right shape of what you want19:34
abraxxa left19:38
cpan-p6 left19:39
cpan-p6 joined19:39
cpan-p6 left19:39
cpan-p6 joined19:39
abraxxa joined19:42
timotimo TreyHarris: for that purpose i'll always just use reverse video19:43
squashable6 left19:44
zachk left19:48
zachk joined19:48
squashable6 joined19:49
ChanServ set mode: +v19:49
kybr commaide.com/download says "The latest Comma Community release is 2019.3.0.1." but the available downloads are 2019.3.0---i tried on Windows and macOS. can someone confirm?19:57
timotimo sena_kun: -^19:57
perhaps the in-program updater will get it for you19:58
sena_kun kybr, well, 2019.3.1 was a fix for Windows. Others are still 2019.3.0, so that's correct.19:58
Linux gives me 3.0, Windows gives me 3.1, all's nice.19:59
there is indeed a bug that Linux version will say to you that 3.1 is ready... But you can just "Ignore this particular update".19:59
kybr ok. well, i submitted a ticket. on macOS, the internal updater claims there is a new version. ah. ok. so the bug is on macOS, FYI.20:00
domidumont left20:14
AlexDani` left20:14
xm joined20:16
xm left20:16
Guest45628 joined20:17
Guest45628 left20:17
lucasb left20:20
ugexe sena_kun: any chance you can fix https://github.com/croservices/cro-openapi-routes-from-definition/issues/6 ?20:21
xm joined20:22
xm left20:23
Guest91453 joined20:23
Guest91453 left20:23
xm joined20:24
xm left20:24
Guest10171 joined20:24
Guest10171 left20:24
snarkyboojum left20:31
patrickb joined20:34
pistacchio left20:37
pistacchio joined20:37
abraxxa left20:41
natrys left20:42
MidCheck joined20:47
patrickb o/20:55
skids left20:57
patrickb Is there an easy way to iterate the chars of a Str? I currently use for `$str.split: '', :skip-empty -> $c {...}`, but I don't need to modify, just access.20:57
snarkyboojum joined21:02
lizmat m: say "foobar".comb21:02
camelia rakudo-moar e84f72706: OUTPUT: «(f o o b a r)␤»21:02
lizmat patrickb ^^^21:02
m: say "foobar".comb(2) # if you want two at a time21:03
camelia rakudo-moar e84f72706: OUTPUT: «(fo ob ar)␤»21:03
snarkyboojum left21:06
patrickb lizmat: thanks!21:07
TreyHarris timotimo: thanks, reverse-video works, and lets me make what I already had look more consistent by making half reverse video, half regular21:11
molaf joined21:12
xm joined21:24
xm left21:25
Guest12241 joined21:25
Guest12241 left21:25
xinming-pad joined21:26
xinming-pad left21:26
xinming-pad joined21:27
xinming-pad left21:27
xinming-pad joined21:27
xinming-pad left21:27
|oLa| joined21:30
|oLa| left21:30
ctilmes left21:31
yht__ left21:36
|oLa| joined21:39
molaf left21:39
pistacchio left21:41
pistacchio joined21:41
sena_kun ugexe, I can't, but I certainly can ping jnthn.21:58
ugexe oh right... thats even mentioned in the issue21:58
jnthn Ah, that even looks like an easy thing to deal with...22:01
sena_kun: Hm, the last commit there is a version bump; I'm guessing that a release with that simply never got shipped to CPAN?22:04
sena_kun jnthn, yeah22:04
jnthn, I'd bet on it, at least.22:04
jnthn yeah, matches what I see22:05
Sorry about that :(22:05
timotimo have more CI for this :)22:06
jnthn Uploaded now22:06
timotimo: I think it's more CD that I need :)22:07
timotimo true22:07
CI is at best a half-measure i suppose22:07
isomorphismes left22:11
isomorphismes joined22:13
leont joined22:14
pecastro left22:34
pecastro joined22:41
__jrjsmrtn__ left22:53
MidCheck left22:57
agentzh left23:07
camelia left23:10
camelia joined23:10
ChanServ set mode: +v23:11
camelia left23:14
Black_Ribbon joined23:14
guifa hmmm23:15
agentzh joined23:15
agentzh left23:15
agentzh joined23:15
guifa p6: my @a = <a b c>; @a[0..1] = <x y>; say @a;23:15
evalable6 guifa, rakudo-moar 507c3c37e: OUTPUT: «[x y c]␤»23:15
guifa p6: my @b = <a b c>, <a b c>; @b[0..1;0] = <x y>; say @b;23:15
evalable6 guifa, rakudo-moar 507c3c37e: OUTPUT: «(exit code 1) Cannot modify an immutable Str (a)␤ in block <unit> at /tmp/qaEWnYj4gs line 1␤␤»23:15
guifa p6: my @c = <a b c>, <a b c>, <a b c>; @c[0..1][0] = <x y>; say @c;23:16
evalable6 guifa, rakudo-moar 507c3c37e: OUTPUT: «[(x y) (a b c) (a b c)]␤»23:16
stigo just fyi: #oslohackerspace was playing around with camelia and found out how to execute commands, I send the following command to it to shut it down to prevent anyone from actually causing any harm: qqx|chmod 0000 evalbot;kill `ps -o ppid= $*PID`|23:19
guifa oh actually it’s even more simple (though frustrating) issue23:20
p6: my @a = <a b>; @a[0] = ‘x’; say @a;23:21
evalable6 guifa, rakudo-moar 507c3c37e: OUTPUT: «[x b]␤»23:21
guifa my @b = <a b>, <a b>; @b[0;0] = ‘x’; say @b;23:21
p6: my @b = <a b>, <a b>; @b[0;0] = ‘x’;23:21
evalable6 guifa, rakudo-moar 507c3c37e: OUTPUT: «(exit code 1) Cannot modify an immutable List ((a b))␤ in block <unit> at /tmp/3ChKcRnbux line 1␤␤»23:21
timotimo stigo: yeah, it just lets you do that23:21
the other evalbots, too23:21
guifa What am I missing for assignment in multidimensional arrays?23:26
aborazmeh joined23:32
aborazmeh left23:32
aborazmeh joined23:32
Juerd guifa: The difference between multidimensional arrays, and arrays of lists23:35
agentzh left23:35
Juerd m: my @b[2;2] = <a b>, <c d>; @b.perl.say; @b[1;0].say;23:36
evalable6 Juerd, rakudo-moar 507c3c37e: OUTPUT: «Array.new(:shape(2, 2), ["a", "b"], ["c", "d"])␤c␤»23:36
Juerd m: my @b = <a b>, <c d>; @b.perl.say; @b[1][0].say;23:36
evalable6 Juerd, rakudo-moar 507c3c37e: OUTPUT: «[("a", "b"), ("c", "d")]␤c␤»23:36
AlexDani` joined23:45
AlexDani` xD23:46
AlexDani`AlexDaniel23:46
AlexDaniel left23:46
AlexDaniel joined23:46
sena_kun left23:54
netrino left23:58
agentzh joined23:58

Logs Search ←Prev date Next date→ Channels Documentation