»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
AlexDaniel libuv has uv_fs_utime, which apparently should also do something on windows 00:00
geekosaur (you can't represent a 0-byte write in a buffer, so it would need to either flush, ignore it, or throw)
00:16 khisanth_ left 00:18 tildedave_ joined, Ven` joined 00:19 p6bannerbot sets mode: +v tildedave_, p6bannerbot sets mode: +v Ven` 00:20 lizmat left 00:21 tildedave_ left 00:22 Ven` left 00:26 lizmat joined, p6bannerbot sets mode: +v lizmat 00:30 khisanth_ joined, p6bannerbot sets mode: +v khisanth_ 00:45 leont left, leont joined 00:46 p6bannerbot sets mode: +v leont 00:56 sjlxF joined, sjlxF left 01:07 kerframil left 01:20 leont left
Geth doc: abc261c9b9 | Coke++ | doc/Language/syntax.pod6
whitespace
01:35
synopsebot Link: doc.perl6.org/language/syntax
k-man i just got my copy of learning perl6 01:42
the example at the bottom of p8, is perhaps missing a ++ on the $count in: print $count, "\r"; 01:43
i mean it works fine without it but seems pointless without a ++ in there somewhere
02:25 saki joined, saki left 02:32 Herby__ joined, saki joined, saki left, p6bannerbot sets mode: +v Herby__ 02:33 kurahaupo left
fake_space_whale Is there a builtin way to do factorials in perl6? or perhaps a cpan module? 02:34
02:34 kurahaupo joined 02:35 p6bannerbot sets mode: +v kurahaupo 02:40 Zoffix joined, p6bannerbot sets mode: +v Zoffix
Zoffix fake_space_whale: just use `*` with the reduce meta op 02:40
m: say [*] 1..5 02:41
camelia 120
fake_space_whale Thank you
Herby__ Zoffix: o/
Zoffix m: my $fac := (1, {$_*++$}... *); say $fac[5] 02:43
camelia 120
Zoffix m: my @fac = 1, {$_*++$} ... *; say @fac[5]
camelia 120
02:43 saki joined
Zoffix fake_space_whale: can also make a Seq with the sequence op like above and it'll cache the already-generated factorials 02:43
02:44 p6bannerbot sets mode: +v saki
fake_space_whale okay 02:44
02:46 indymN joined, indymN left, Zoffix left 02:50 ufobat_ joined 02:51 p6bannerbot sets mode: +v ufobat_ 02:54 ufobat left
Herby__ trying to learn some OO 03:08
I have a class called Comic. it has an attribute called Number. Can I require that the number is > 0? 03:09
has Int $.number where self.number > 0
or something like that
03:16 sacomo left 03:33 dmaestro joined, p6bannerbot sets mode: +v dmaestro
lucs class Foo { has Int $.i where * > 0 }; Foo.new(i => 42).i.say; Foo.new(i => -3).i.say 03:36
m: class Foo { has Int $.i where * > 0 }; Foo.new(i => 42).i.say; Foo.new(i => -3).i.say
camelia 42
Type check failed in assignment to $!i; expected <anon> but got Int (-3)
in block <unit> at <tmp> line 1
03:36 dmaestro_ joined, p6bannerbot sets mode: +v dmaestro_ 03:38 dmaestro left
Herby__ lucs: thanks! 03:41
03:47 Herby__ left 03:52 saki left 04:19 Ven` joined, p6bannerbot sets mode: +v Ven` 04:23 Ven` left 04:33 itaipu left 04:34 Ven` joined 04:35 p6bannerbot sets mode: +v Ven` 04:39 Ven` left 04:44 robertle_ joined 04:45 p6bannerbot sets mode: +v robertle_ 04:50 sauvin_ joined, p6bannerbot sets mode: +v sauvin_ 04:51 krkini joined, p6bannerbot sets mode: +v krkini 04:52 avar left, nightfrog left, robertle left, sauvin left, Hor|zon left, MilkmanDan left, ribasushi left, f3ew_ left, gfldex_ left, |oLa| left, chsanch left, eythian left, x[LGWs4x4i]uG2N0 left, kini left, agentzh left 04:53 hph^ joined, |oLa| joined, hph^ left 04:54 ribasushi joined, hph^ joined, p6bannerbot sets mode: +v hph^, p6bannerbot sets mode: +v |oLa|, p6bannerbot sets mode: +v ribasushi 04:55 p6bannerbot sets mode: +v hph^ 04:57 avar joined, nightfrog joined, Hor|zon joined, MilkmanDan joined, niven.freenode.net sets mode: +vvvv avar nightfrog Hor|zon MilkmanDan, gfldex_ joined, f3ew_ joined, chsanch joined, eythian joined, niven.freenode.net sets mode: +vvvv gfldex_ f3ew_ chsanch eythian, x[LGWs4x4i]uG2N0 joined, agentzh joined, niven.freenode.net sets mode: +vv x[LGWs4x4i]uG2N0 agentzh, p6bannerbot sets mode: +v avar, p6bannerbot sets mode: +v MilkmanDan, p6bannerbot sets mode: +v eythian, p6bannerbot sets mode: +v agentzh, p6bannerbot sets mode: +v nightfrog, p6bannerbot sets mode: +v Hor|zon, p6bannerbot sets mode: +v x[LGWs4x4i]uG2N0, p6bannerbot sets mode: +v f3ew_, p6bannerbot sets mode: +v chsanch, p6bannerbot sets mode: +v gfldex_
SmokeMachine m: my UInt $a = 1; say $a; $a = 0; say $a; $a = -1 # Herby_ 05:07
05:07 itaipu joined
camelia 1
Type check failed in assignment to $a; expected UInt but got Int (-1)
in block <unit> at <tmp> line 1

0
05:07
05:08 p6bannerbot sets mode: +v itaipu 05:12 jmerelo joined, itaipu left 05:13 p6bannerbot sets mode: +v jmerelo 05:24 domidumont joined 05:25 p6bannerbot sets mode: +v domidumont 05:31 domidumont left 05:33 zju_xcp joined, zju_xcp left 05:37 hph^ left, hph^ joined 05:38 hph^ left, hph^ joined 05:39 hph^ left, hph^ joined 05:40 hph^ left, hph^ joined 05:41 hph^ left, hph^ joined 05:42 hph^ left 05:43 AlexDaniel left
Geth doc: 4e3ce8efbe | (JJ Merelo)++ | doc/Language/haskell-to-p6.pod6
Revises and rephrases, refs #2357
05:45
doc: 0a1b9c1d5e | (JJ Merelo)++ | doc/Language/5to6-nutshell.pod6
Dels already addressed comment refs #2277
synopsebot Link: doc.perl6.org/language/haskell-to-p6
synopsebot Link: doc.perl6.org/language/5to6-nutshell
05:51 troys left
jmerelo Working with the perl5-to-6 pages, I had this doubt and went to SO stackoverflow.com/q/52659124/891440 05:55
05:56 fake_space_whale left
tyil samcv: ^ 05:58
06:05 sauvin_ is now known as Sauvin 06:06 domidumont joined 06:07 p6bannerbot sets mode: +v domidumont 06:10 rindolf joined 06:11 p6bannerbot sets mode: +v rindolf
samcv tyil: thx 06:14
06:17 erana joined 06:18 p6bannerbot sets mode: +v erana 06:21 rindolf left 06:35 leont joined 06:36 p6bannerbot sets mode: +v leont 06:44 daemon left 06:45 benchable6 left, jmerelo left 06:46 rindolf joined, AlexDaniel joined 06:47 p6bannerbot sets mode: +v rindolf, p6bannerbot sets mode: +v AlexDaniel, daemon joined, daemon left, daemon joined, p6bannerbot sets mode: +v daemon 06:48 p6bannerbot sets mode: +v daemon 06:50 AlexDaniel left 06:51 lichtkind joined 06:52 p6bannerbot sets mode: +v lichtkind
lichtkind is HOW implemented? 06:59
07:10 Sgeo_ left 07:11 Sgeo joined, p6bannerbot sets mode: +v Sgeo 07:12 leont left
geekosaur yes. but it's somewhat magic; it has to be recognized and handled by the compiler, so some "method-y" things don't work as you might expect 07:18
07:32 joy_ left 07:36 benchable6 joined 07:37 p6bannerbot sets mode: +v benchable6 07:39 attilioQZ joined, attilioQZ left 07:44 AlexDaniel joined 07:45 p6bannerbot sets mode: +v AlexDaniel
AlexDaniel squashable6: status 07:45
squashable6 AlexDaniel, ⚠🍕 Next SQUASHathon in ≈2 hours (2018-10-06 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
07:48 reportable6 left, shareable6 left, committable6 left, reportable6 joined, kensanata joined, p6bannerbot sets mode: +v kensanata, bisectable6 joined, shareable6 joined, undersightable6 left, committable6 joined, ChanServ sets mode: +v committable6, evalable6 left, undersightable6 joined, ChanServ sets mode: +v undersightable6, releasable6 joined, evalable6 joined 07:49 p6bannerbot sets mode: +v reportable6, p6bannerbot sets mode: +v bisectable6, p6bannerbot sets mode: +v shareable6, p6bannerbot sets mode: +v committable6, p6bannerbot sets mode: +v undersightable6, p6bannerbot sets mode: +v releasable6, p6bannerbot sets mode: +v evalable6 07:55 cognominal-p6 left 07:58 [particle] left 07:59 HaraldJoerg joined, robertle_ left 08:00 p6bannerbot sets mode: +v HaraldJoerg 08:01 robertle joined 08:02 p6bannerbot sets mode: +v robertle 08:05 rindolf left 08:06 [particle] joined 08:07 p6bannerbot sets mode: +v [particle] 08:11 saki joined, saki left, rindolf joined 08:12 chsanch left, p6bannerbot sets mode: +v rindolf 08:13 chsanch joined 08:14 p6bannerbot sets mode: +v chsanch 08:15 robertle left 08:16 joy_ joined, p6bannerbot sets mode: +v joy_ 08:21 robertle joined, p6bannerbot sets mode: +v robertle 08:27 saki joined 08:28 robertle left, p6bannerbot sets mode: +v saki 08:34 saki left
timotimo i'll finally set up squashathon stuff 08:35
08:36 saki joined, saki left 08:37 robertle joined 08:38 p6bannerbot sets mode: +v robertle
squashable6 Webhook for timo/SDL2_raw-p6 is now active! Keep it logically awesome. 08:41
timotimo i hope this is a good idea :P
lichtkind geekosaur, thanks a lot 08:44
08:45 [particle]1 joined 08:46 p6bannerbot sets mode: +v [particle]1, [particle] left 08:48 MasterDuke left
timotimo there's no mention of what tag to use for issues on the squashathon wiki page; do we just use "hacktoberfest"? 08:50
AlexDaniel timotimo: yes that's a good idea
08:51 dalek left
timotimo to add it to the wiki, or just to do that? 08:51
AlexDaniel timotimo: both :)
timotimo github.com/timo/SDL2_raw-p6/issues/10 - does this seem like a good issue? 08:52
AlexDaniel maybe! 08:54
08:58 [particle]1 left
timotimo .tell jmerelo can you figure out why there's a faulty line in the river csv file? 08:59
yoleaux timotimo: I'll pass your message to jmerelo.
AlexDaniel squashable6: status 09:07
squashable6 AlexDaniel, ⚠🍕 Next SQUASHathon is in 52 minutes (2018-10-06 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
Webhook for timo/json_fast is now active! Keep it logically awesome.
timotimo ah, i'm glad i've still started with it before it officially began
09:24 [particle] joined 09:25 p6bannerbot sets mode: +v [particle] 09:33 pmurias joined, p6bannerbot sets mode: +v pmurias
jkramer What's the squashaton theme this time? 09:40
09:41 pmurias left
jkramer Just look for modules that need help and help? 09:41
09:42 pmurias joined, p6bannerbot sets mode: +v pmurias, AlexDaniel left 09:49 pecastro joined 09:50 p6bannerbot sets mode: +v pecastro
timotimo yeah, pretty much 09:55
09:56 [particle]1 joined, p6bannerbot sets mode: +v [particle]1
jkramer Ah ok I found the repo list :) 09:57
09:57 [particle] left 10:00 xinming_ left
timotimo i didn't put mine in yet 10:05
it seems like AlexDaniel did it for me 10:07
or maybe a script?
10:21 sena_kun joined 10:22 p6bannerbot sets mode: +v sena_kun 10:31 Sgeo left 10:40 ExtraCrispy joined 10:41 p6bannerbot sets mode: +v ExtraCrispy
squashable6 🍕 timo++ labeled issue “factor out framerate info from examples” (enhancement): github.com/timo/SDL2_raw-p6/issues/11 10:41
🍕🍕🍕 First contribution by timo++! ♥
🍕 timo++ opened issue “factor out framerate info from examples”: github.com/timo/SDL2_raw-p6/issues/11
🍕 timo++ labeled issue “factor out framerate info from examples” (help wanted): github.com/timo/SDL2_raw-p6/issues/11
🍕 timo++ labeled issue “factor out framerate info from examples” (hacktoberfest): github.com/timo/SDL2_raw-p6/issues/11
timotimo it hath started 10:42
10:55 AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel
buggable New CPAN upload: Getopt-Advance-1.1.3.tar.gz by ALOREN modules.perl6.org/dist/Getopt::Adva...pan:ALOREN 10:57
erana I finished the movement code of my pharo Zelda 1. I am wondering if I can make a zelda-o-matic
yoleaux 4 Oct 2018 19:57Z <[Coke]> erana: FYI, a perl mongers group != "the perl foundation".
erana Should read lots of AI books then :-) 10:58
AlexDaniel timotimo: I do it manually, there are not too many repos for it to be a problem 11:00
timotimo OK
AlexDaniel though I wish it was a problem
timotimo sorry about that :( 11:01
AlexDaniel wait, why is that your fault? :)
timotimo i could have more modules, and i could have put up more issues for beginners in them, too :) 11:02
or i could have blasted the squashathon message on all of my social media channels
squashable6 🍕 timo++ labeled issue “build a little benchmark suite” (enhancement): github.com/timo/json_fast/issues/48 11:05
🍕 timo++ labeled issue “build a little benchmark suite” (hacktoberfest): github.com/timo/json_fast/issues/48
🍕 timo++ opened issue “build a little benchmark suite”: github.com/timo/json_fast/issues/48
🍕 timo++ labeled issue “build a little benchmark suite” (help wanted): github.com/timo/json_fast/issues/48
timotimo i can't eat all this digital pizza
also, maybe "opened issue" should come before "labeled issue" :P
AlexDaniel well, for most people Saturday is tomorrow, so you can still create ten more modules and run a full blown social media marketing campaign :) 11:06
timotimo let me go ahead and buy a thousand twitter bots
AlexDaniel yesterday I almost got my changes to Sake committed, that's after what… two months of them being shelved? :S 11:07
but maybe today!
and if that happens, there will be some LHFs :)
11:09 abraxxa left
squashable6 🍕 timo++ opened issue “add an example that show…”: github.com/timo/SDL2_raw-p6/issues/12 11:10
🍕 timo++ labeled issue “add an example that show…” (hacktoberfest): github.com/timo/SDL2_raw-p6/issues/12
🍕 timo++ labeled issue “add an example that show…” (help wanted): github.com/timo/SDL2_raw-p6/issues/12
11:12 kurahaupo left 11:13 araraloren joined 11:14 p6bannerbot sets mode: +v araraloren
tyil I have this in a signature: `IO::Path:D $target where *.f && *.extension eq "zip",` 11:18
when I Run the script, it warns Useless use of "eq" in expression ".extension eq \"zip\"" in sink context
but I want to ensure the extension is zip 11:19
squashable6 Webhook for lizmat/P5pack is now active! Half measures are as bad as nothing at all.
sena_kun tyil, you probably want something like... 11:20
subset B of IO::Path:D where { .f && .extension eq "zip" }
tyil I want to make subsets of it later, yes
sena_kun ah, sorry, well, subset thing is unnecessary.
I just was lazy to type a sub
tyil oh
the accolades
sena_kun I mean, your `where` condition probably should have brackets
At least it does not gives a warning. :) 11:21
tyil Malformed double closure;
sena_kun hmm
tyil `IO::Path:D $target where { *.f && *.extension eq "zip" }`
the * should make it a closure already
squashable6 🍕 lizmat++ labeled issue “Need more tests” (Hacktoberfest): github.com/lizmat/P5pack/issues/5 11:22
🍕🍕🍕 First contribution by lizmat++! ♥
tyil I could use $_ isntead of *, but those are slower
sena_kun hmm, it is broken in sub case for me too.
tyil it does seem to work as expected, apart from the warning that the `eq` is apparently useless
sena_kun then can't help, sorry. :/ 11:23
tyil :(
maybe someone else knows 11:24
otherwise I'll post it on SO later
araraloren evalable6: sub f(IO::Path:D $target where *.f && *.extension eq "zip") { }; say f ".".IO;
evalable6 (exit code 1) WARNINGS for /tmp/WKZTVG9P1A:
Useless use of "eq" in expression ".extension …
araraloren, Full output: gist.github.com/7c74c45d8f5823783a...c12615602b
araraloren evalable6: sub f(IO::Path:D $target where { .f && .extension eq "zip" }) { }; say f ".".IO;
evalable6 (exit code 1) Constraint type check failed in binding to parameter '$target'; expected ano…
araraloren, Full output: gist.github.com/86d666b5c36c6211d0...fb7df69402
araraloren evalable6: sub f(IO::Path:D $target where { *.f && *.extension eq "zip" }) { }; say f ".".IO;
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/ZBvMdksnWZ
Malform…
araraloren, Full output: gist.github.com/3448140b3df245738f...277c3f0986
lizmat tyil: you're mixing up WhateverCode and just a Block 11:27
m: dd (* + *)(42,666) # using two *'s means you need 2 params 11:28
camelia 708
tyil the error is not clear that that's the issue at all
:/
lizmat m: {* + *}(42,666)
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed double closure; WhateverCode is already a closure without curlies, so either remove the curlies or use valid parameter syntax instead of *
at <tmp>:1
------> 3{* + *}7⏏5(42,666)
11:29
11:29 noganex left
tyil that's a different error :( 11:29
lizmat m: dd {* && *}(42,666)
camelia Too many positionals passed; expected 0 or 1 arguments but got 2
in block <unit> at <tmp> line 1
lizmat well, submit an issue with expectancy :-) 11:30
araraloren so, what's the * && * mean ? 11:31
tow or one Whatever ?
two
lizmat I have no idea
araraloren hmm
lizmat --target=ast shows that it is anding two Whatever type objects
so no magic whatsoever 11:32
11:35 ChoHag joined 11:36 p6bannerbot sets mode: +v ChoHag 11:40 thegass joined
AlexDaniel speaking of two or one Whatever, how the hell does that work? github.com/AlexDaniel/6lang-golf-c...eec7d8R168 11:41
m: 1…*.say×*>10
camelia Potential difficulties:
Useless use of … in sink context
at <tmp>:1
------> 031…7⏏5*.say×*>10
1
2
3
4
5
6
7
8
9
10
AlexDaniel it prints numbers from 1 to 10 (though with a warning), but why? 11:42
11:43 tobs` joined, p6bannerbot sets mode: +v tobs` 11:46 thegass left
timotimo because it evaluates the rhs of … for every value to see if it should be kept 11:50
AlexDaniel timotimo: yes, but, there are two `*`, right?
timotimo yeah 11:51
AlexDaniel and both of them represent the same value?
timotimo i assume it'll pass the same value for each
like it does with postcircumfix:<[ ]>
AlexDaniel so the WhateverCode in question still has two parameters, but it passes the same value to both? 11:52
timotimo yeah, that's what i suspect 11:53
12:01 kensanata left
tbrowder__ hi, #perl6 12:04
tyil hi tbrowder__ :D 12:06
lizmat hmmm... looks like none of the CX:: classes are documented :-(
tbrowder__ grammar question: when one declares a :my var on a token, does that var and its value stay with a match?
tyil: hi, getting close to pod data blocks
tyil :D 12:07
nice
tbrowder__ i should say closer, still lots of build cycles ahead 12:08
tyil I'm not in a hurry 12:10
I have plenty other things to do lately
jnthn tbrowder__: No, the variable is just a normal lexical variable (or dynamic if `:my $*foo = ...`)
timotimo tbrowder__: it's a lexically scoped variable, so it doesn't
jnthn Not associated with the Match object in any way
timotimo jnthn: dynamic vars defined inside a regex like that won't survive into the action method, right? 12:11
jnthn Yes, they will :)
timotimo nice 12:12
jnthn Because the action method is called from the regex
timotimo very good
12:12 pmurias left
jnthn I've used that in a few places :) 12:12
12:12 pmurias joined, p6bannerbot sets mode: +v pmurias
tobs` I'd like to start a Proc::Async and ideally return a Supply which transforms its stdout. I can't see how I can simultaneously arrange for an exception to be thrown in case the program dies instead of producing output. 12:12
hastebin.com/pawitaboge.pl is a start 12:13
timotimo tobs`: sounds like you want a supply block, or do you want to suck up all output until it's finished and only then decide whether to emit the data or throw an exception?
tbrowder__ on
jnthn Yes, supply block, and then you can die in there and it'll propagate the exception to the subscriber of the supply you produce 12:14
tobs` timotimo: I very much don't want to wait
tbrowder__ while on grammars, in rakudo nqp, can we use make just as in p6 land?
tobs` ahh, very nice! Thank you 12:15
12:15 ChoHag left
tbrowder__ i need easy access to a match value later for a test, and i would like to ensure it has a zero value even though it was not matched 12:17
that probably doesn’t make sense.,. 12:18
i’m trying to get info out of a pod_configuration match. the key/value pairs, if they exist. 12:19
i’ve been able to, in some cases but not all, rely on stringification, but that seems to be blind luck 12:20
in rakudo nqp if i create some dynamic grammar vars to hold special values for use during object construction, is that an ok practice? 12:28
timotimo sure 12:30
12:36 Sgeo joined 12:37 p6bannerbot sets mode: +v Sgeo, pmurias left, pmurias joined, p6bannerbot sets mode: +v pmurias
squashable6 🍕 FCO++ opened issue “Refactor translate of insert”: github.com/FCO/Red/issues/45 12:38
🍕🍕🍕 First contribution by FCO++! ♥
🍕 FCO++ opened issue “Refactor translate of update”: github.com/FCO/Red/issues/46
🍕 FCO++ opened issue “Refactor translate of delete”: github.com/FCO/Red/issues/47
🍕 FCO++ opened issue “Refactor translate of select”: github.com/FCO/Red/issues/48
tbrowder__ timotimo: thnx 13:12
13:12 mahafyi_ joined 13:13 p6bannerbot sets mode: +v mahafyi_
buggable New CPAN upload: DB-Migration-Simple-1.0.tar.gz by MBP cpan.metacpan.org/authors/id/M/MB/...1.0.tar.gz 13:17
13:31 [particle]1 left, andrzejku left, [particle] joined 13:32 p6bannerbot sets mode: +v [particle], molaf joined 13:33 p6bannerbot sets mode: +v molaf 13:39 saki joined, saki left
Herby_ SmokeMachine: cool, that's the first time I think I've seen :UInt: used in p6 code 13:43
I wonder if there is a performance difference between: has Uint $.number, and has $.number where * > 0 13:45
13:46 telex left 13:49 saki joined, saki left 13:52 helloworld joined, p6bannerbot sets mode: +v helloworld 13:53 ChoHag joined, p6bannerbot sets mode: +v ChoHag 13:54 khisanth_ left, Khisanth joined 13:55 p6bannerbot sets mode: +v Khisanth 13:56 helloworld left
mahafyi_ How should one set a script time out, like if execution is more than 10 seconds, exit the script? 13:59
docs.perl6.org/routine/throttle is the correct one? 14:00
14:03 itaipu joined 14:04 ChoHag left, p6bannerbot sets mode: +v itaipu
mahafyi_ or use `now` and use a while or until ? 14:05
14:07 mahafyi_ is now known as mahafyi 14:08 mahafyi left
dogbert2 mahafyi_: have you checked docs.perl6.org/type/Promise#method_in 14:09
ah, he left
14:15 molaf left 14:25 saki joined
SmokeMachine Herby_: I don’t think so, (but haven’t tried). But UInt is just a subset of Int... github.com/rakudo/rakudo/blob/mast...Int.pm6#L7 14:25
14:26 p6bannerbot sets mode: +v saki 14:27 mahafyi joined 14:28 p6bannerbot sets mode: +v mahafyi, telex joined 14:29 p6bannerbot sets mode: +v telex
mahafyi dogbert2, thanks. 14:31
14:38 tobs` left
squashable6 🍕 sylints++ opened issue “How to install?”: github.com/FCO/Red/issues/49 14:38
🍕🍕🍕 First contribution by sylints++! ♥
SmokeMachine Sure! I didn’t do that yet!!! 14:40
squashable6 🍕 sylints++ opened issue “Failed test on installation”: github.com/JJ/p6-river/issues/4 14:52
🍕 FCO++ closed issue “How to install?”: github.com/FCO/Red/issues/49
🍕 FCO++ wrote a comment on “How to install?”: github.com/FCO/Red/issues/49#issue...-427393709 14:54
🍕 FCO++ labeled issue “Refactor translate of select” (hacktoberfest): github.com/FCO/Red/issues/48 14:55
🍕 FCO++ labeled issue “Refactor translate of delete” (hacktoberfest): github.com/FCO/Red/issues/47
14:55 natrys joined
squashable6 🍕 FCO++ labeled issue “Refactor translate of update” (hacktoberfest): github.com/FCO/Red/issues/46 14:55
🍕 FCO++ labeled issue “Refactor translate of insert” (hacktoberfest): github.com/FCO/Red/issues/45
14:56 p6bannerbot sets mode: +v natrys 15:02 natrys left
timotimo Herby_: "has UInt $.number" is certainly slower, perhaps a whole lot 15:08
SmokeMachine timotimo: really? Why? 15:13
timotimo because it's implemented with a "where" clause
15:13 SHODAN joined, p6bannerbot sets mode: +v SHODAN, pmurias left
timotimo m: class A { has UInt $.number is rw }; my $a = A.new; for ^100_000 { $a.number++ }; say now - INIT now 15:14
camelia 0.0878734
timotimo m: class A { has $.number is rw }; my $a = A.new; for ^100_000 { $a.number++ }; say now - INIT now
camelia 0.0267961
SmokeMachine As the other option he wrote
timotimo m: class A { has UInt $.number is rw }; my $a = A.new; for ^1_000_000 { $a.number++ }; say now - INIT now
camelia 0.6663289
timotimo m: class A { has $.number is rw }; my $a = A.new; for ^1_000_000 { $a.number++ }; say now - INIT now
camelia 0.10356569
timotimo rather a bit slower, but at least less than 10x 15:15
15:15 pmurias joined, p6bannerbot sets mode: +v pmurias
SmokeMachine I think he was comparing `UInt $` with `Int $ with * > 0`, wasn’t it? 15:15
m: class A { has  $.number where * > 0 is rw }; my $a = A.new; for ^1_000_000 { $a.number++ }; say now - INIT now 15:17
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3class A { has  $.number where * > 07⏏5 is rw }; my $a = A.new; for ^1_000_000
expecting any of:
constraint
infix
in…
timotimo oh, i didn't seew hat happened before that answer
squashable6 🍕 JJ++ wrote a comment on “Failed test on installation”: github.com/JJ/p6-river/issues/4#is...-427401678 15:18
🍕🍕🍕 First contribution by JJ++! ♥
🍕 JJ++ wrote a comment on “Failed test on installation”: github.com/JJ/p6-river/issues/4#is...-427401741
SmokeMachine m: class A is rw { has  $.number where * > 0 }; my $a = A.new; for ^1_000_000 { $a.number++ }; say now - INIT now
camelia 0.7674835
squashable6 🍕 sylints++ wrote a comment on “How to install?”: github.com/FCO/Red/issues/49#issue...-427402247 15:19
15:27 st_elmo joined
squashable6 🍕 jonathanstowe++ wrote a comment on “to-json doesn't like undefined values”: github.com/timo/json_fast/issues/4...-427404769 15:27
🍕🍕🍕 First contribution by jonathanstowe++! ♥
15:28 p6bannerbot sets mode: +v st_elmo, fake_space_whale joined 15:29 domidumont left, p6bannerbot sets mode: +v fake_space_whale
squashable6 🍕 jonathanstowe++ wrote a comment on “Docu missing on single SQL command limitation?”: github.com/perl6/DBIish/issues/133...-427405486 15:30
🍕 FCO++ wrote a comment on “How to install?”: github.com/FCO/Red/issues/49#issue...-427405685
🍕 FCO++ reopened issue “How to install?”: github.com/FCO/Red/issues/49
🍕 jonathanstowe++ labeled issue “Docu missing on single SQL command limitation?” (Squashathon): github.com/perl6/DBIish/issues/133 15:31
15:35 rbtBM joined, rbtBM left
squashable6 🍕 sylints++ wrote a comment on “How to install?”: github.com/FCO/Red/issues/49#issue...-427408307 15:38
15:40 dotdotdot left
squashable6 🍕 timo++ wrote a comment on “to-json doesn't like undefined values”: github.com/timo/json_fast/issues/4...-427409067 15:40
DrForr Bummer. Are logs still public? 15:42
timotimo DrForr: we have the logs on colabti.org 15:47
squashable6 🍕 FCO++ wrote a comment on “How to install?”: github.com/FCO/Red/issues/49#issue...-427411103
🍕 sylints++ wrote a comment on “Failed test on installation”: github.com/JJ/p6-river/issues/4#is...-427411717 15:49
🍕 sylints++ opened pull request “small tweak to example”: github.com/JJ/p6-river/pull/5 15:50
🍕 JJ++ merged pull request “small tweak to example”: github.com/JJ/p6-river/pull/5 15:52
15:53 molaf joined
squashable6 🍕 JJ++ wrote a comment on “Failed test on installation”: github.com/JJ/p6-river/issues/4#is...-427413405 15:54
15:54 p6bannerbot sets mode: +v molaf 16:00 emerson left
squashable6 🍕 sylints++ wrote a comment on “Failed test on installation”: github.com/JJ/p6-river/issues/4#is...-427415786 16:01
16:01 emerson joined, p6bannerbot sets mode: +v emerson
squashable6 🍕 JJ++ wrote a comment on “Failed test on installation”: github.com/JJ/p6-river/issues/4#is...-427416740 16:04
16:14 Bucciarati left 16:15 Bucciarati joined
Herby_ vague question here but at what point should I look at packaging my module for the perl 6 ecosystem? 16:15
so people can: zef install <module>
16:16 p6bannerbot sets mode: +v Bucciarati
Herby_ versus people cloning the repo and running it with -Ilib 16:16
I ported a library to Perl 6 that parses torrent file names to extract titles and relevant bits. 16:17
mainly as an exercise to learn grammars
timotimo i'd say it's entirely up to you, you can do it now, or you can do it at whatever point 16:20
Herby_ ok. I didn't know if it needed to be polished package before adding it to the ecosystem. I've never really contributed to an ecosystem before :) 16:21
timotimo nah, there's a couple unpolished packages in there, too ;)
16:26 TimToady left, TimToady joined, barjavel.freenode.net sets mode: +v TimToady, p6bannerbot sets mode: +v TimToady
Kaiepi oh sweet the squashathon is still going on 16:27
where's the repo with all the issues?
specifically which modules need fixing 16:30
timotimo there's a list of modules that participate 16:31
i don't know if we have one list of all issues, but it'd be cool if we did
16:31 araraloren left, patrickb joined
Herby_ Kaiepi: this might get you started github.com/perl6/ecosystem/wiki/SQUASHathon 16:31
timotimo github.com/perl6/ecosystem/wiki/SQ...ting-repos
ah, yes
16:32 p6bannerbot sets mode: +v patrickb
timotimo github.com/search?l=Perl6&q=la...ype=Issues 16:32
Kaiepi anyone interested in solving some issues in Net::Telnet? 16:33
TimToady m: constant @fac = flat 1, [\*] 1..*; say @fac[5] 16:34
camelia 120
16:36 robertle left
squashable6 Webhook for Kaiepi/p6-Net-Telnet is now active! Speak like a human. 16:38
Kaiepi get hacking! :) 16:39
github.com/kaiepi/p6-Net-Telnet/issues
squashable6 🍕 Kaiepi++ wrote a comment on “Net::Telnet::Chunk is insecure”: github.com/Kaiepi/p6-Net-Telnet/is...-427427113 16:40
🍕🍕🍕 First contribution by Kaiepi++! ♥
16:42 xi- joined, st_elmo left, domidumont joined 16:43 p6bannerbot sets mode: +v xi-, p6bannerbot sets mode: +v domidumont 16:45 kbloom joined, p6bannerbot sets mode: +v kbloom 16:47 noganex joined 16:48 Michael_S left, mahafyi left, p6bannerbot sets mode: +v noganex
kbloom since this is a syntax error 16:48
m: 123 456 789
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 031237⏏5 456 789
expecting any of:
infix
infix stopper
statement end
statement modifier
statement …
kbloom could this syntax be used for digit grouping?
timotimo is _ not good enough?
jnthn m: say 123_456_789
camelia 123456789
kbloom it's better than most languages, i'm only raising the possibility of an alternative 16:49
timotimo TTIAR errors are often a very good source of "figuring out the user made some mistake"
kbloom i do find spaces cleaner
timotimo: the error would presumably still apply in cases where it's not a number on both sides of a single space 16:50
El_Che dirk gently is crazy 16:53
timotimo you can of course write a slang for this :)
El_Che oops
kbloom i'm considering that too...
just wondering if it's a good fit for the base language 16:54
DrForr Not being indexed by Google, eh. Something to lok at tonight. 17:03
17:07 jmerelo joined 17:08 p6bannerbot sets mode: +v jmerelo
DrForr I just looked at my hit counts and figured I ws being really boring. 17:12
17:13 jast joined 17:14 p6bannerbot sets mode: +v jast
timotimo i'm getting the impression that i'm missing half the conversation here 17:15
DrForr: what are you talking about?
DrForr What the logs mentioned that someone had said to me. 17:16
Your nick, IRC :)
Oo, no, sorry.
mantovani.
17:18 kbloom left, HaraldJoerg left
squashable6 🍕 JJ++ wrote a comment on “Net::Telnet::Chunk is insecure”: github.com/Kaiepi/p6-Net-Telnet/is...-427437862 17:19
timotimo ah
now i see it
had to scroll back a few days
DrForr WEll, I have been offline a bit. 17:20
17:23 saki left
squashable6 🍕 FCO++ wrote a comment on “How to install?”: github.com/FCO/Red/issues/49#issue...-427439325 17:24
🍕 JJ++ wrote a comment on “Need more tests”: github.com/lizmat/P5pack/issues/5#...-427439732 17:25
17:27 saki joined 17:28 p6bannerbot sets mode: +v saki
squashable6 🍕 lizmat++ wrote a comment on “Need more tests”: github.com/lizmat/P5pack/issues/5#...-427440907 17:29
🍕 Kaiepi++ wrote a comment on “Net::Telnet::Chunk is insecure”: github.com/Kaiepi/p6-Net-Telnet/is...-427440938
🍕 JJ++ opened pull request “Uniforms sub name”: github.com/lizmat/P5pack/pull/6 17:32
17:32 splay joined
squashable6 🍕 Kaiepi++ wrote a comment on “Adopt tests from "parsin…”: github.com/timo/json_fast/issues/4...-427441884 17:32
17:33 p6bannerbot sets mode: +v splay, splay left
Kaiepi protip: if you use the us altgr intl keyboard layout, alt-gr+[ and alt-gr+] let you enter « and » respectively much easier 17:37
tyil if you're using vim, you can make it so "<<" converts to « automatically 17:38
squashable6 🍕 JJ++ wrote a comment on “Net::Telnet::Chunk is insecure”: github.com/Kaiepi/p6-Net-Telnet/is...-427444171 17:41
Kaiepi tyil i do have that plugin installed, but i don't like having to wrap >> in spaces to get the replacement to work 17:45
timotimo can't you also ctrl-k >> for that?
works in myvim
my vim*
Kaiepi oh it does! 17:52
thanks
DrForr Sounds like something for the docs :) 17:53
17:55 pecastro_ joined
AlexDaniel `C-x 8 <` in emacs 17:55
17:55 pecastro left, p6bannerbot sets mode: +v pecastro_
AlexDaniel `<Multi_key> <less> <less>` on any debian system with en_US.UTF-8 locale 17:57
squashable6 🍕 JJ++ opened pull request “Fix typo”: github.com/lizmat/P5pack/pull/7 18:04
18:05 Kaiepi left 18:07 Kaiepi joined 18:08 p6bannerbot sets mode: +v Kaiepi 18:11 jmerelo left
squashable6 🍕 lizmat++ merged pull request “Fix typo”: github.com/lizmat/P5pack/pull/7 18:12
🍕 lizmat++ merged pull request “Uniforms sub name”: github.com/lizmat/P5pack/pull/6
🍕 lizmat++ wrote a comment on “Fix typo”: github.com/lizmat/P5pack/pull/7#is...-427453630
18:26 pecastro_ left 18:27 pecastro joined 18:28 p6bannerbot sets mode: +v pecastro 18:34 saki left, saki joined, pecastro left 18:35 p6bannerbot sets mode: +v saki 18:37 leont joined 18:38 pecastro joined, p6bannerbot sets mode: +v leont, p6bannerbot sets mode: +v pecastro 18:41 Xliff left 18:47 mahafyi joined, p6bannerbot sets mode: +v mahafyi, st_elmo joined 18:48 p6bannerbot sets mode: +v st_elmo 18:52 pecastro left, pecastro joined 18:53 p6bannerbot sets mode: +v pecastro 18:55 scotticles joined, p6bannerbot sets mode: +v scotticles 18:57 st_elmo left 18:58 |oLa| left 19:02 synopsebot left, SourceBaby_ left, p6lert left, dalek joined, ChanServ sets mode: +v dalek, Geth joined, p6lert joined, ChanServ sets mode: +v Geth, synopsebot joined, ChanServ sets mode: +v synopsebot 19:03 p6bannerbot sets mode: +v dalek, p6bannerbot sets mode: +v Geth, p6bannerbot sets mode: +v p6lert, p6bannerbot sets mode: +v synopsebot 19:08 pecastro left 19:09 pecastro joined 19:10 p6bannerbot sets mode: +v pecastro, graphene joined, mahafyi left, p6bannerbot sets mode: +v graphene
moritz Full disclosure: the server that hosts {hack,www,irc,master}.p6c.org has a supermicro board 19:10
I'm not going to check it for microscopic extra chips :) 19:11
rindolf moritz: ah 19:15
19:15 pecastro left 19:16 pecastro joined, p6bannerbot sets mode: +v pecastro
shmup lol 19:20
is this a mirror server moritz? 19:21
19:22 pecastro left 19:23 lizmat left 19:24 domidumont left
moritz shmup: no, just the perl6.org web server and some community resources for p6 development 19:26
19:27 lizmat joined, p6bannerbot sets mode: +v lizmat 19:28 pecastro joined
squashable6 🍕 sylints++ wrote a comment on “How to install?”: github.com/FCO/Red/issues/49#issue...-427474587 19:29
19:29 p6bannerbot sets mode: +v pecastro
masak moritz++ # disclosing in full 19:30
though I can't imagine what would happen if all these open-source activities fell into the wrong hands :P
squashable6 🍕 Kaiepi++ opened pull request “Add tests from JSONTestSuite”: github.com/timo/json_fast/pull/49 19:31
Kaiepi \o/
AlexDaniel \o/ 19:32
Kaiepi++
19:32 pmurias left
AlexDaniel “Binary file not shown.” 19:32
github--
19:33 pmurias joined, p6bannerbot sets mode: +v pmurias
[particle] did @moritz disclose that or was it the pla? 19:33
Herby_ Kaiepi: \o o/ 19:34
masak could I ask the friendly experts here about a crazy macro use whose semantics I'm not 100% sure of? 19:37
(...as if you have any choice in the matter...) ;) 19:38
my $q; macro m1($ast) { $q = $ast; return Nil }; macro m2() { return $q }; for 1, 2, 3 -> $v { m1($v) }; for 4, 5, 6 -> $v { m2() }
what should the above print?
er, make that `say(m2())`, so that it prints something
AlexDaniel what's the meaning of `return` there? 19:39
19:39 dmaestro_ left
masak well, a macro returns some AST (a Qtree) back to the compiler so it can re-inject it into the code, "expanding" the macro call into the returned AST 19:40
though it's, conjectural, `return Nil` is taken to mean "there's no code to be injected here" -- an empty statement, or whatever 19:41
I mean, on a purely textual level, `m2()` is expanded to `$v` 19:45
but (importantly) it's not "the `$v`" from the `4, 5, 6` loop; it's the one from the `1, 2, 3` loop 19:46
at least if macro expansion is hygienic 19:47
squashable6 🍕 nxadm++ wrote a comment on “Test fails with old versions of Perl 6”: github.com/perl6/DBIish/issues/132...-427479285
🍕🍕🍕 First contribution by nxadm++! ♥
masak any help would be appreciated, even in the form of someone else's brain melting in sympathy :) 19:51
AlexDaniel well, I'm not an expert, but either 4 5 6 or an error of some kind 19:52
as in “wtf, where did you find that?”
masak fwiw, I believe the output should be `3\n3\n3\n`
AlexDaniel why?
19:52 |oLa| joined
masak because that's the value of that $v at the time it's printed, all three times 19:53
19:53 |oLa| left, pmurias left
AlexDaniel so you can suddenly move $v out of its scope? 19:54
19:57 pmurias joined, p6bannerbot sets mode: +v pmurias 19:58 Praise joined, Praise left, Praise joined, p6bannerbot sets mode: +v Praise
masak yes, that's a good summary of how macro hygiene is done in practice 19:59
19:59 p6bannerbot sets mode: +v Praise
AlexDaniel so what is $ast? I was thinking it's just a var with a name, which in case of the second loop will point at 4 5 6 19:59
and if $v wasn't there… I don't know, an error of some kind… 20:00
masak I wish I had an excellent, final answer to that. but it's a very good question.
AlexDaniel but yeah, you're asking a wrong person :)
20:00 Kaiepi left
masak all I know is that Qtrees need to be somehow involved in scoping, like closures are 20:01
20:01 Kaiepi joined
masak I don't usually take these musings public on #perl6, but I was curious about this one 20:02
20:02 p6bannerbot sets mode: +v Kaiepi
AlexDaniel scoped AST :o 20:03
20:03 koto joined
masak I remembe the exact moment I had that (chilling) realization. it was at a hotel breakfast in Copenhagen. moritz was there too. 20:03
Demos[m] hm so I want to have an object that's "some of" some other object, so it has all the same fields but they can be set to "don't care"
20:04 p6bannerbot sets mode: +v koto
masak remember* 20:04
Demos[m] is there some neat perl6 feature to help me or should I just make a hash of set attributes, or a similar class but with some kind fo option type on the fields
20:05 sena_kun left
squashable6 🍕 FCO++ closed issue “How to install?”: github.com/FCO/Red/issues/49 20:05
geekosaur I'm wondering if there's some clever way to use 'handles' there 20:06
jnthn masak: Your example doesn't seem to print anything?
20:06 pmurias left
masak jnthn: right, `say(m2())` 20:07
jnthn Except maybe an error saying Nil isn't a valid AST :P
20:07 pmurias joined, p6bannerbot sets mode: +v pmurias
jnthn masak: OK, then 3\n3\n3\n 20:07
masak the `return Nil` actually wasn't necessary :)
right.
jnthn It's not a very good idea to write such code, but... :) 20:08
masak also agreed.
anyway, this is the first live example of "displaced" code that's not saved by the "direct" trick 20:09
20:09 pmurias left
Geth doc: Coleoid++ created pull request #2358:
Document the Setty ops for MixHashes per TODO
20:10
20:11 TeguFn joined
El_Che marc.info/?l=git&m=153875888916397&w=2 (security flaw (CVE-2018-17456), which allowed an 20:12
attacker to execute arbitrary code by crafting a malicious .gitmodules
file in a project cloned with --recurse-submodules)
20:12 p6bannerbot sets mode: +v TeguFn
El_Che I think there are some perl6 repos using submodules 20:12
jnthn masak: How so?
El_Che I wonder if star is built like that
masak jnthn: the `$v` in the first loop does not originate from a quasi, but from mainline code. it's handled at compile time, long before it has the value 3, long before the *frame* where it has the value 3 exists 20:14
jnthn: best I can think of is if the fixup mechanism could be bent to handle this case 20:15
jnthn masak: But the "direct trick" is only about quasi, and there ain't one here?
masak this is not a case where the "direct trick" can be applied
because there isn't a runtime scope to lookup directly into
jnthn I don't see what there is to apply. :)
20:16 scotticles left
masak those only happen inside macros, but $v is outside a macro, in the mainline code 20:16
jnthn: I'm relived we agree about the expected output, even when we disagree about the extent of the problem :P
jnthn Oh, I think I maybe see what you're getting at
Hmm 20:17
buggable New CPAN upload: Sparrowdo-VSTS-YAML-Cordova-0.0.12.tar.gz by MELEZHIK modules.perl6.org/dist/Sparrowdo::V...n:MELEZHIK
jnthn Yeah, that's a problem, though maybe it's also an error.
"You can't transport code like that" 20:18
masak I'd be fine with it being an (expansion-time) error
so AlexDaniel might've been right after all :D
jnthn *nod*
20:18 TeguFn left
masak anyway, we need to carry enough information about a variable's definition site *in the Qtree* to be able to prove that 20:18
jnthn *nod* 20:19
Yeah, fun... :)
masak I like it being an error. that's the conservative option. we ever find out this was actually a potentially useful thing to do, we get more lenient
20:19 pecastro left
Demos[m] I'm seeing "say map *.Str.chars, 'hello', 1, 22/7, 42, 'world';" in the manual. What does *. do in this context? 20:19
AlexDaniel El_Che: is it the case of classic “forgot to use --” pitfall? 20:21
jnthn Demos[m]: . is method call
AlexDaniel` Demos: it's a Whatever, so in the end you get WhateverCode
jnthn Demos[m]: * makes a function
Demos[m]: So it's a nicer way to write { .Str.chars } 20:22
Demos[m] a whatever
that's what I needed to search for
jnthn afk for a bit
20:23 graphene left 20:24 graphene joined 20:25 p6bannerbot sets mode: +v graphene 20:30 pecastro joined, p6bannerbot sets mode: +v pecastro 20:32 secretmessagenm joined, secretmessagenm left
timotimo i wonder what page of the docs the "say map *.Str.chars" comes from. it looks like an unnecessarily complicated variety of ".Str.chars.say for ..." 20:34
AlexDaniel El_Che: exactly: github.com/git/git/commit/902df9f5...622d39R506 20:37
20:38 molaf left 20:39 dct left
AlexDaniel pretty sure you can find more vulnerabitilies in other software if you just look for that exact pitfall 20:39
using -- is not the default for most people 20:40
squashable6 🍕 timo++ wrote a comment on “Add tests from JSONTestSuite”: github.com/timo/json_fast/pull/49#...-427492447
AlexDaniel though I haven't yet figured out how they got code execution from that
most programs don't have “ok I'll execute your argument as code” behavior :) 20:41
timotimo it sounded like it just assembles a line to pass to the shell
otherwise it's indeed not obvious how it'd happen
geekosaur yeh, I read this as running subsidiary git commands to do checkouts 21:02
and my question would be why they're dragging the shell into it, unless there's some compatibility gotcha with respect to e.g. windows 21:03
AlexDaniel who said that the shell is involved? 21:04
21:05 pecastro left
timotimo dunno 21:05
AlexDaniel the issue seems to be in urls starting with --, so it's just a missing --
21:05 pecastro joined
geekosaur mm, true, that goes deeper. 21:05
bturaises the same question n a different fashion: why isn't git a reentrant library?
21:06 p6bannerbot sets mode: +v pecastro
geekosaur grantig that at this poin the answer might be that it'd be a complete redesign plus another few years of finding exciting new bugs 21:06
AlexDaniel eh, good point I guess 21:07
.in 30d See how code execution works in CVE-2018-17456 21:08
yoleaux AlexDaniel: I'll remind you on 4 Nov 2018 21:08Z
AlexDaniel aaaaaaaaaaahhhhhhhhhhhhhh 21:09
ok there's --template
so it's a postcheckout hook
dammit, it's always something about hooks
21:10 pecastro left, pecastro joined 21:11 p6bannerbot sets mode: +v pecastro
AlexDaniel so I'd guess you need two submodules, one with the template and another with --template=… as url 21:11
💩 21:12
.in 30d No need 21:13
yoleaux AlexDaniel: I'll remind you on 4 Nov 2018 21:13Z
21:15 SCHAPiE left 21:18 SCHAPiE joined, p6bannerbot sets mode: +v SCHAPiE 21:22 kensanata joined, p6bannerbot sets mode: +v kensanata 21:30 koto left 21:32 [particle]1 joined 21:33 [particle] left, p6bannerbot sets mode: +v [particle]1 21:35 graphene left 21:37 [particle] joined, graphene joined, [particle]1 left, p6bannerbot sets mode: +v [particle], p6bannerbot sets mode: +v graphene 21:41 [particle] left, [particle]1 joined 21:42 p6bannerbot sets mode: +v [particle]1
Demos[m] Another question: sorry for all these. 21:47
submethod BUILD(:encoding(:$enc), :$data)
what's going on with :encoding(:$enc) here and how is :$data different from $data (they looks like pair constructors but I'm not sure what the rules are for putting pairs in signatures???
jnthn They are named arguments 21:48
And it's indeed not an accident they look like the way you'd pass such arguments 21:49
m: sub foo(:$a) { say $a }; foo(:a(42))
camelia 42
jnthn And :encoding(:$enc) means that it's exposed as both encoding and enc to callers
AlexDaniel` Demos: these are good questions, please keep them coming. While you're at it, maybe it would make sense to also file tickets for the doc repo 21:51
Demos: github.com/perl6/doc/issues/
Demos: they can be very short, as in “I was reading X which talks about Y, but Y is not linked or explained”, or something like that 21:52
Demos[m] m: sub foo($a) { say $a}; foo(:a(42));
camelia Too few positionals passed; expected 1 argument but got 0
in sub foo at <tmp> line 1
in block <unit> at <tmp> line 1
21:52 [particle]1 left
AlexDaniel` yeah, so in that case `$a` is positional and not named 21:53
Demos[m] ah so I can't call a positional arg as if it was named like I can in some languages
AlexDaniel` yeah 21:54
21:55 cheese__ joined, p6bannerbot sets mode: +v cheese__
AlexDaniel` m: say 42 21:55
camelia 42
21:55 [particle] joined 21:56 p6bannerbot sets mode: +v [particle]
cheese__ Hi, I was reading the logs and saw this mentioned '1…*.say×*>10'. FWIW I found there are two values passed, so it is the same as '1… -> $a, $b { ($a.say * $b) > 10 }'. Cool example! 21:57
AlexDaniel cheese__: ah, two last values? 22:00
cheese__ yeah, first iteration it is 1, 2
then 2, 3
etc.
that's why it is *>10
AlexDaniel that makes sense!
but I didn't know you can use that on the right side of …
cheese__ me neither, the --target=ast option is really cool, didnt know that either :D 22:01
AlexDaniel cheese__: thanks!
cheese__ your welcome, i have to thank you for all the stuff!
AlexDaniel ahhhh, so that's how they do Fibonacci in 17 characters 22:03
Demos[m] in "sub f(|c){};" is C a sigilless parameter? 22:07
if I write sub f(|) {} do I get *%_ as the slurp?
22:08 itaipu left
Demos[m] serrr slip 22:08
jnthn | produces a capture containing all the positional and named arguments
\p would be a normal sigilless parameter (same as the my \foo = ... syntax) 22:09
geekosaur it's more or less requesting that |c contain all the parameters in as raw a form as possible
Demos[m] right but what is "c"
geekosaur so it turns off the slurpy stuff, named parameters, etc. 22:10
docs.perl6.org/type/Capture
Demos[m] oh so c is just a sigiless parameter then
jnthn Well, syntax wise, yes 22:11
geekosaur not quite "just". it's sigilless, btu its contents wil be different from sub f(\c)
jnthn In the sense that it gives you a term
Demos[m] right
squashable6 🍕 Kaiepi++ wrote a comment on “Add tests from JSONTestSuite”: github.com/timo/json_fast/pull/49#...-427512578 22:12
Demos[m] but the identifier "c" is a sigilless variable
jnthn Yes (except I don't really like calling them variables, because they are immutable :)) 22:14
squashable6 🍕 Kaiepi++ synchronize pull request “Add tests from JSONTestSuite”: github.com/timo/json_fast/pull/49 22:15
22:20 MasterDuke joined, p6bannerbot sets mode: +v MasterDuke, MasterDuke left, MasterDuke joined, herbert.freenode.net sets mode: +v MasterDuke, p6bannerbot sets mode: +v MasterDuke 22:22 patrickb left, rindolf left 22:29 saki left
AlexDaniel if Foo::Bar exports some subs, how can I make it so that whenever Foo is used it will import stuff from Foo::Bar also? In other words so that I can just do `use Foo` instead of `use Foo; use Foo::Bar`? 22:30
22:30 saki joined 22:31 p6bannerbot sets mode: +v saki 22:34 leont left
cheese__ I think the example at docs.perl6.org/language/modules#UNIT::EXPORT::* is quite good. 22:34
22:34 Sgeo_ joined 22:35 Sgeo left, Ven`` joined, p6bannerbot sets mode: +v Sgeo_
cheese__ So you could do it manually with my package EXPORT::DEFAULT { OUR::{'something'} := some_sub } 22:35
22:36 p6bannerbot sets mode: +v Ven``, Ven`` left
AlexDaniel I think this works: OUR::<&foo> := &foo; 22:38
cheese__ And I just read there is also the EXPORT sub, which is even simpler, because you should be able to delegate to the other module's EXPORT sub 22:40
AlexDaniel ooooooooooooooh
cheese__ like EXPORT { %(Foo::Bar.EXPORT) }
not sure if that works 22:41
22:41 thundergnat joined 22:42 p6bannerbot sets mode: +v thundergnat, Herby_ left
jnthn Also, there's been speculated a `use Foo:reexport` or something 22:44
(Never implemented, though)
22:44 kensanata left
thundergnat <timotimo> "i wonder what page of the docs the "say map *.Str.chars" comes from..." I believe that would be: github.com/perl6/doc/blob/master/d....pod6#L236 22:45
AlexDaniel cheese__: I can't figure out how to use that though
cheese__ I am trying something rn
I will try it like this, but with blocks: unit module Foo::Bar; sub bar is export { "bar" }; unit module Foo; use Foo::Bar; sub foo is export { "foo" }; sub EXPORT { %(Foo::Bar::EXPORT::DEFAULT) }; unit module main; say foo(); say bar() 22:46
AlexDaniel, I need another try with real files, or do you know how to use an inline-module? 22:51
AlexDaniel cheese__: you can use github gists, will that work for you?
Demos[m] is there a way to just get all the args that were passed to a method, I want to write a multimethod that has a signature but then passes all it's args along to somebody else 22:52
cheese__ AlexDaniel: oh cool, that could work
AlexDaniel cheese__: it'd need `use lib ‘sandbox/’` in the main file, but other than that should work out of the box. evalable6 is the bot to do that
22:52 erana left 22:53 erana joined
cheese__ AlexDaniel: okay, I will try to solve it and then try to eval it here :D 22:53
22:54 p6bannerbot sets mode: +v erana 23:01 thundergnat left 23:03 kbloom joined, p6bannerbot sets mode: +v kbloom
kbloom does p6 have something similar to this? 23:04
github.com/dotnet/csharplang/blob/...ignment.md
AlexDaniel m: my $x; $x //= 42; say $x 23:08
camelia 42
AlexDaniel m: my $x = 50; $x //= 42; say $x
camelia 50
AlexDaniel kbloom: is that what you are looking for, or am I misunderstanding it?
cheese__ AlexDaniel: got it, you need to have EXPORT outside of the unit 23:09
AlexDaniel: gist.github.com/mwienand/f1f727226...d4babcd32a 23:10
23:10 thebooort joined, p6bannerbot sets mode: +v thebooort
AlexDaniel evalable6: gist.github.com/AlexDaniel/2c73c7d...05337c7aa6 23:10
evalable6 AlexDaniel, Using file “FooBar.pm” as a main file, other files are placed in “sandbox/”
cheese__ ah ok so now I need the lib
AlexDaniel geez evalable6 is retarded 23:11
evalable6: gist.github.com/AlexDaniel/2c73c7d...05337c7aa6
evalable6 AlexDaniel, Using file “main.p6” as a main file, other files are placed in “sandbox/”
foobar
bar
cheese__ evalable6: gist.github.com/mwienand/f1f727226...d4babcd32a 23:12
evalable6 cheese__, Using file “main.p6” as a main file, other files are placed in “sandbox/”
(exit code 1) 04===SORRY!04=== Error while compiling /home/bisectable/git/wh…
cheese__, Full output: gist.github.com/24e9295938f0fc32fc...5d25cf4055
cheese__ evalable6: gist.github.com/mwienand/f1f727226...d4babcd32a 23:13
evalable6 cheese__, Using file “Foo.pm” as a main file, other files are placed in “sandbox/”
(exit code 1) ===SORRY!===
Could not find FooBar at line 1 in:
/home/bisectable/git/wh…
cheese__, Full output: gist.github.com/365ff267fcf0d899d6...7f61fca6ad
cheese__ hm.. what is going on? :D
AlexDaniel cheese__: use lib ‘sandbox/’; and also rename .pm to .pm6 23:15
without a slash should work too 23:16
thebooort Hey there! I am trying to make a perl6 tutorial about how to integrate/solve and plot differential equations with Perl6 as I did not find anysimilar in the documentation file. I have found that with rungekuta+mathmodel modules it is quite easy to generate that kind of numerical experiment and as an applied mathematician I decided to do the examples based on populations dynamics models.
AlexDaniel cheese__: you had a typo: 'sandbox'/ instead of 'sandbox/'
thebooort I still have to do some changes and correct some typos, but I would like to hear your opinions! github.com/thebooort/doc/blob/mast...perl6.pod6
cheese__ yeah bit it failed again because of .pm6 I guess
AlexDaniel kbloom: did I answer your question? :)
cheese__ biut why did it work the second time for you?
ah sorry, I see now. Different gist 23:17
AlexDaniel thebooort: nitpick: “Requeriments” typo (you probably want to run the whole file through a spell checker) 23:18
squashable6 🍕 timo++ wrote a comment on “Add tests from JSONTestSuite”: github.com/timo/json_fast/pull/49#...-427523319 23:19
AlexDaniel moritz: I see formulas! Somehow it makes me want to ping you? Anyway, see ↑ 23:20
MasterDuke thebooort: another nitpick, we usually say "Perl 6", with a non-breaking space between "Perl" and "6"
thebooort yes! there are a lot of typos :lol: thank you for the corrections! It is okay then to continue writing the tutorial? 23:21
AlexDaniel thebooort: you want that to be part of the docs, right? 23:22
thebooort Yes, I would like to when i finish it (if possible of course)
AlexDaniel .tell jmerelo colabti.org/irclogger/irclogger_log...0-05#l1076 23:23
yoleaux AlexDaniel: I'll pass your message to jmerelo.
AlexDaniel moritz: also, what do you think, does it look like perl6/doc material? 23:24
kbloom AlexDaniel: thanks, that's exactly what i meant 23:25
squashable6 🍕 azawawi++ wrote a comment on “Refactor & Code improvements”: github.com/timo/SDL2_raw-p6/pull/9...-427524186
🍕🍕🍕 First contribution by azawawi++! ♥
kbloom perl 6 is amazing :)
AlexDaniel thebooort: I think it's a great document so make sure to publish it somewhere once it is finished, but I can't tell if it should be part of the docs. You'd need to talk to doc folks about that :) 23:26
SmokeMachine AlexDaniel: this is how Red “reexports”: github.com/FCO/Red/blob/master/lib/Red.pm6 23:27
thebooort Okay, will do! Thanks guys! appreciatted it
23:29 thebooort left 23:35 jhoned joined, p6bannerbot sets mode: +v jhoned, jhoned left
cheese__ SmokeMachine: I think I like the EXPORT sub more, i.e. sub EXPORT { %(Red::Traits::EXPORT::ALL::, Red::Operators::EXPORT::ALL::, "&database" => &database) }, is there a specific reason for doing it the way Red does it? 23:44
23:46 Sgeo_ left 23:47 Sgeo joined
SmokeMachine cheese__: yes I could be using the EXPORT sub... but that was the first way I thought... 23:47
23:48 p6bannerbot sets mode: +v Sgeo
cheese__ SmokeMachine: okay thanks, i was just curious if EXPORT got negative side effects or EXPORTHOW prevents it in this case 23:49
23:49 pecastro left