ยปรถยซ Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:00 kyan left 00:01 araraloren_ left
[equa] uh oh, looks like the string '\\\'' breaks vim perl highlighting 00:01
00:01 troys is now known as troys_ 00:02 telex left
timotimo comments are also very, very bad for it :( 00:02
long comments, at least
[equa] that was fixed in latest version I think 00:03
00:03 telex joined, araraloren_ joined
timotimo oh, nice! 00:03
i might have to update that
[equa] I got a lot of issues with it before i updated. vim mainline ships with a very old version of vimperl iirc
00:06 araralonre__ left
timotimo i somehow have a vim-perl submodule, but inside it the remote is actually the exact same repo and branch that the containing repo has, what have i done? 00:07
00:07 araraloren joined 00:08 araraloren_ left 00:10 araraloren_ joined
timotimo huh, the vim-perl one i see here links to vim-perl6 for perl6 support 00:10
am i looking at the wrong thing?
00:11 araraloren left 00:12 lizmat left 00:13 araralonre__ joined 00:15 araraloren_ left 00:17 araraloren_ joined 00:18 araralonre__ left
timotimo anyway, i ought to go to bed, seeya! 00:19
00:20 araraloren_ left, araraloren_ joined 00:23 ryn1x left 00:24 araralonre__ joined, aindilis left 00:25 araraloren_ left 00:27 araraloren_ joined 00:29 araralonre__ left 00:31 araralonre__ joined 00:32 araraloren_ left 00:33 lizmat joined 00:34 araraloren_ joined 00:36 araralonre__ left, traxex_ joined 00:37 ryn1x joined, araralonre__ joined 00:38 traxex left 00:39 araraloren_ left, araralonre__ left 00:41 araralonre__ joined 00:44 araraloren_ joined 00:46 araralonre__ left 00:48 araraloren_ left 00:51 araraloren joined 00:55 araraloren left 01:01 araraloren joined 01:04 araraloren left 01:05 araraloren joined 01:06 eliasr left 01:08 araraloren_ joined 01:10 araraloren left 01:12 araraloren joined 01:14 araraloren_ left 01:15 araraloren_ joined 01:17 araraloren left 01:18 araralonre__ joined 01:20 araraloren_ left
AlexDaniel- offtopic: what was the repo with a list of companies that promised to open-source stuff but didn't? 01:22
01:23 APic joined 01:24 araralonre__ left
TEttinger wall of shame thing? 01:39
01:40 bitrauser_ joined 01:43 bitrauser left 01:45 ilbot3 left
AlexDaniel- TEttinger: definitely *not* this repo: github.com/Alir3z4/oss-wall-of-shame 01:45
the repo I'm talking about had a list like โ€œOn 201X-XX-XX project Y was promised to be open-sourced, as of today it's still not open-sourceโ€ 01:47
TEttinger hmm
well a different thing that's a total failure list: codecurmudgeon.com/wp/iot-hall-shame/ 01:48
"smart lock bricked by update"
"smart"
01:51 [equa] left 01:55 mson left, espadrine left 01:56 ilbot3 joined, ChanServ sets mode: +v ilbot3, [equa] joined 02:00 jeromelanteri joined 02:01 [equa] left 02:02 Cabanossi left 02:03 MasterDuke joined 02:04 Cabanossi joined, darkmorph left 02:07 mson joined 02:23 cdg joined 02:27 cdg left 02:32 noganex_ joined 02:35 noganex left 02:37 ufobat_ joined 02:40 ufobat___ left 02:43 aindilis joined 02:53 cdg joined 03:13 evalable6 left, evalable6 joined, ChanServ sets mode: +v evalable6 03:33 evalable6 left, evalable6 joined, ChanServ sets mode: +v evalable6, Cabanossi left 03:34 llfourn left, Cabanossi joined 03:37 ryn1x left 03:39 MasterDuke left, kerframil left 03:45 Cabanossi left 03:46 traxex_ left 03:48 Cabanossi joined 03:52 jcallen left 03:53 cdg left 03:59 napo1eon joined 04:06 atroxaper joined, traxex joined 04:07 wander joined 04:08 kurahaupo_ joined 04:10 kurahaupo left 04:15 mson left, jcallen joined 04:22 pilne left 04:30 jcallen left, mr-fooba_ left 04:37 ryn1x joined 04:48 troys_ is now known as troys 04:53 pmurias left 04:59 mson joined 05:00 Cabanossi left 05:03 Kyo91 joined, Cabanossi joined, jcallen joined 05:12 ryn1x left, lizmat left 05:16 ryn1x joined 05:17 xtreak joined 05:21 ryn1x left 05:26 NotZoffix joined
NotZoffix Zoffix, stop messing around!! 05:26
05:26 NotZoffix left, NotZoffix joined
NotZoffix Zoffix, stop messing around!! 05:26
05:26 NotZoffix left
perigrin oO 05:26
05:26 NotZoffix joined
NotZoffix Zoffix, stop messing around!! 05:26
05:26 NotZoffix left, NotZoffix joined
NotZoffix Zoffix, stop messing around!! 05:26
05:26 NotZoffix left 05:34 lizmat joined 05:37 aborazmeh joined, aborazmeh left, aborazmeh joined 05:53 cdg joined 05:56 aborazmeh left 05:57 cdg left 06:00 troys is now known as troys_ 06:01 kurahaupo_ is now known as kurahaupo 06:08 kaare_ joined 06:19 atroxaper left 06:24 ryn1x joined 06:31 llfourn joined 06:32 domidumont joined 06:34 kurahaupo left, kurahaupo joined 06:35 kurahaupo left, kurahaupo joined 06:36 robertle joined 06:37 domidumont left 06:39 domidumont joined 06:41 wamba joined 06:47 Cabanossi left 06:48 Cabanossi joined 06:58 ryn1x left 07:01 ryn1x joined 07:05 ryn1x left 07:18 setty1 joined 07:19 BenGoldberg left 07:33 xtreak left 07:36 xtreak joined 07:43 xtreak_ joined 07:44 xtreak left 07:47 thunktone joined 07:54 Khisanth left 07:56 mr-foobar joined 08:00 Cabanossi left 08:03 Cabanossi joined 08:07 Khisanth joined 08:10 darutoko joined 08:13 xtreak_ left, xtreak joined 08:14 ryn1x joined 08:23 xtreak left 08:24 AlexDaniel- left, xtreak joined 08:26 domidumont left 08:27 domidumont joined
tyil TEttinger: anything that gets marketed with a "smart" prefix should be avoided 08:28
08:31 xtreak left 08:32 Cabanossi left, xtreak joined 08:33 Cabanossi joined 08:35 mson left 08:36 xtreak left, thunktone left 08:37 xtreak joined
TEttinger "smart suppositories" 08:37
08:39 domidumont left 08:41 thunktone joined, pr1_ joined
pr1_ hello, has anyone ever used p6 on Windows on an USB stick? 08:42
08:46 xtreak left 08:48 ryn1x left 08:58 aborazmeh joined, aborazmeh left, aborazmeh joined 09:10 pr1_ left 09:15 aborazmeh left 09:31 Cabanossi left, llfourn left 09:33 Cabanossi joined 09:47 xtreak joined 09:49 ryn1x joined, xtreak left, xtreak joined 09:51 smls joined 09:53 void1 joined, xtreak left 09:58 smls left 10:01 HoboWithAShotgun left 10:09 pecastro left 10:12 smls joined
smls Is it possible that `Lock.protect` malfunctions when called from inside `submethod DESTROY`? 10:13
That would explain a weird bug I'm seeing in one of my scripts. 10:14
smls tries to golf it
10:19 HoboWithAShotgun joined
jnthn smls: That's highly unlikely, but remember that just about *anything* can be on the call stack at the point a DESTROY is called. 10:19
smls: I had a bug in IO::Socket::Async where it deadlocked occasionally because DESTROY ran, tried to take a lock, but another lock was already held by that thread, and it set up a circular wait with another thread. 10:20
10:21 pecastro joined 10:23 ryn1x left
jnthn (Which was easily solved by writing my DESTROY as `start $!lock.protect: { ... }` so it scheduled the cleanup work on the pool, where we have a "clean" stack and nothing held 10:23
smls jnthn: gist.github.com/smls/dbbc512df13d1...3eb3e187f5 10:25
That pretty reliably throws "$current-action should be 'foo' but is 'DESTROY'" for me.
jnthn (Easily solved, but not easily found... :))
smls jnthn: With `DESTROY { start ... }`, won't the `...` part get an already destroyed object? 10:27
i.e. can't do clean-up that relies on attribute values anymore? 10:28
timotimo DESTROY will keep it alive a bit longer
there's no other way to properly do destructors in a gc-having language, because of potential resurrections
smls timotimo: But `start` returns immediately.
timotimo yes 10:29
it survives until the next gc run
in which case it might be held alive by whatever references the start block's closure
i'm not sure if there's something to prevent DESTROY firing multiple times for an object that got resurrected?
jnthn There is
Objects with a DESTROY method are put on a special queue at the point they are created
smls timotimo: Ah. So the `start`ed code may not get an already destroyed object then? 10:30
jnthn After each GC run, this queue is walked to see if there are any objects on it that are dead
If they are, then they are removed from the queue and and marked
So, it's "you only live twice" semantics
timotimo it's not possible to handle an "already destroyed" object in perl6. unless of course there's a bug, in which case you'll get a segfault, or internal error
jnthn The next time it becomes unreachable, then it's not in the finalize queue, and so just dies an ordinary death 10:31
Oh, and since the start block closes over self, you can clear up the attributes just fine that way :)
smls jnthn: Ah right, closures FTW once again... :) 10:32
jnthn (As in, access them, call any native code, etc.)
That's actually the reason I needed the lock in destroy in the first place: calling down to a C library
10:32 setty1 left
jnthn As for the gist...that looks odd 10:32
smls: ohhh 10:36
It's the very same problem I just told you about that I had in IO::Socket::Async::SSL I think ;)
smls Oh.. is the DESTROY calling `.lock` on a thread which already holds that lock, and succeeds because of `Lock` idempotence? 10:39
jnthn Correct :)
'tis a recursive lock
Yeah, given that `start atomic-action "DESTROY"` makes it go away, seems very likely 10:40
At least now I know the coffee started working :) 10:41
smls :)
10:43 xtreak joined 10:45 Cabanossi left 10:48 Cabanossi joined 10:50 xinming left 10:52 xinming joined 10:54 cdg joined 10:58 cdg left 10:59 ryn1x joined 11:03 ryn1x left 11:09 rindolf joined
smls jnthn: I openened a doc issue for the DESTROY trap: github.com/perl6/doc/issues/1606 11:18
In case you want to add someting...
jnthn Added one more thing, but looks good :) 11:24
11:27 eliasr joined 11:31 ryn1x joined 11:37 Geth__ joined, ChanServ sets mode: +v Geth__ 11:41 araraloren joined 11:43 [equa] joined 11:47 Cabanossi left 11:48 Cabanossi joined 11:55 MasterDuke joined 12:02 ryn1x left 12:04 Geth left 12:05 Geth_ left, Geth__ left 12:06 Geth joined, ChanServ sets mode: +v Geth 12:10 void1 left 12:11 void1 joined, void1 left, void1 joined, Zoffix joined
Zoffix PSA: Geth now lives on hack, in /home/geth/geth There's a service setup, so if a restart of it is needed, you'd just do `sudo service geth restart` 12:12
12:12 Zoffix left
tyil in a for loop, can I get the current iteration number by some default var, or do I need to add a my $i and just $i++ 12:14
jnthn for @things.kv -> $i, $value { } 12:16
moritz you can also do for @list.kv -> $index, $v { ... }
moritz too slow
tyil thanks :3 12:17
.hug moritz
huggable hugs moritz
tyil dont worry, youre still appreciated 12:18
12:19 BenGoldberg joined 12:23 ShalokShalom_ joined 12:25 xtreak left, ShalokShalom left
moritz awww 12:26
12:29 ChoHag left 12:38 domidumont joined
smls tyil: You can also use ++$ : 12:43
m: for "a".."e" { say ++$ ~ $_ }
camelia 1a
2b
3c
4d
5e
tyil :o
now that is fancy
smls just be aware that it is not specifically tied to the loop, but rather a state variable attached to the block it's in.
$++ also works, if you want to start from 0. 12:44
tyil seems to always return 2 in my loop :(
timotimo yeah, depending on how the scope is treated, if it's nested or something, for example 12:45
smls tyil: Its state is attached to the block (curly braces) it's in 12:46
timotimo m: for ^3 { for <a b c> { say $++ ~ $_ } }
camelia 0a
1b
2c
0a
1b
2c
0a
1b
2c
timotimo see how it goes back to 0 once the outer loop runs again
m: for ^3 { state $nom; for <a b c> { say $nom++ ~ $_ } } 12:47
camelia 0a
1b
2c
3a
4b
5c
6a
7b
8c
12:47 ChoHag joined
smls tyil: So if you want it to be a loop counter, you have to put it directly in the loop block, not into a nested block inside the loop block 12:47
timotimo you can give the state variable a name and explicit scope (rather than implicitly hanging onto the innermost scope)
smls Right, as timotimo demontrated it's really just a short way to declare a state variable and increment it. 12:48
12:51 Rawriful joined 12:57 Aaronepower joined, ShalokShalom_ is now known as ShalokShalom
ChoHag Is Zef still the package manager du jour? 12:59
13:01 Cabanossi left
MasterDuke ChoHag: yep 13:02
ChoHag Thanks. 13:03
13:03 Cabanossi joined 13:06 ryn1x joined
ChoHag Does it still attempt to byte-compile into read-only directories? 13:08
No wait that was the runtime, not the package manager. I think. 13:09
13:14 Perl6Robot joined
Perl6Robot OHAI! 13:14
13:15 Perl6Robot left, Perl6Robot joined
Perl6Robot OHAI! 13:15
moritz all hail our nwo Perl 6 overrobots!
13:15 Perl6Robot left
moritz *new 13:15
13:15 Perl6Robot joined
Perl6Robot OHAI! 13:15
13:15 Perl6Robot left, Perl6Robot joined
Perl6Robot OHAI! 13:15
13:15 Perl6Robot left
HoboWithAShotgun m: sub x { return gather { my @a = 1,2,3; take |@a }.flat; }; say x 13:17
camelia (1 2 3)
HoboWithAShotgun any way to get rid of the flat at the end?
moritz m: sub x { return gather { my @a = 1,2,3; .take for @a }}; say x() 13:19
camelia (1 2 3)
BenGoldberg m: sub x { |gather { my @a = 1,2,3; take |@a } }; say x
camelia ((1 2 3))
BenGoldberg m: sub x { |gather { my @a = 1,2,3; .take for @a } }; say x 13:20
camelia (1 2 3)
HoboWithAShotgun exactly ben :)
BenGoldberg m: sub x { gather { my @a = 1,2,3; .take for @a } }; say x
camelia (1 2 3)
HoboWithAShotgun m: sub x { gather { my @a = 1,2,3; take for @a } }; say x 13:21
camelia take without parameters doesn't make sense
in block at <tmp> line 1
in block <unit> at <tmp> line 1
HoboWithAShotgun m: sub x { gather { my @a = 1,2,3; take * for @a } }; say x 13:22
camelia (* * *)
HoboWithAShotgun m: sub x { gather { my @a = 1,2,3; take $_ for @a } }; say x
camelia (1 2 3)
BenGoldberg thinks we need some sort of .take-all method, and perhaps a matching sub
HoboWithAShotgun my gut feeling was that .take should just take a list and put its elements in the result analogous to .push 13:24
moritz it's analogous to .push, not to append 13:25
so it's not flat
HoboWithAShotgun i was surprised by its behaviour
m: my @a; my @b = 1,2,3; @a.push( |@b ); @a.say 13:26
camelia [1 2 3]
BenGoldberg m: my @a; my @b = 1,2,3; @a.append( @b ); @a.say
camelia [1 2 3]
HoboWithAShotgun and take is like neiter of those 13:27
m: sub x { return gather { my @a = 1,2,3; take |@a } }; say x 13:28
camelia ((1 2 3))
moritz m: say gather { take 1, 2, 3; take 4, 5, 6 }
camelia ((1 2 3) (4 5 6))
moritz that's pretty much how push works
13:29 jeromelanteri left
moritz my @a; @a.push: (1, 2, 3); @a.push: (4, 5, 6); say @a 13:29
m: my @a; @a.push: (1, 2, 3); @a.push: (4, 5, 6); say @a
camelia [(1 2 3) (4 5 6)]
moritz m: my @a; @a.push: 1, 2, 3; @a.push: (4, 5, 6); say @a
camelia [1 2 3 (4 5 6)]
HoboWithAShotgun m: say gather { take |1, 2, 3; take |4, 5, 6 }
camelia ((1 2 3) (4 5 6))
moritz m: my @a; @a.push: 1, 2, 3; @a.push: 4, 5, 6; say @a
camelia [1 2 3 4 5 6]
moritz right, it's a bit different
HoboWithAShotgun yes, but if i do push(|something) it flattens
if i do take |something it doesnt 13:30
13:30 mr-fooba_ joined
HoboWithAShotgun yes, and since i see take as a sugarcoated .push or maybe .append i was surprised and probably not alone so 13:31
but hey, this is good for my a new "small discoveries" post over at perlmonks 13:32
13:32 smls left 13:34 mr-foobar left
BenGoldberg The | prefix is syntactic sugar for doing slip() around the expression. 13:37
13:40 ChoHag left 13:41 ryn1x left, ryn1x joined 13:46 Cabanossi left, ryn1x left 13:48 Cabanossi joined
buggable New CPAN upload: Config-Parser-toml-1.0.1.tar.gz by TYIL cpan.metacpan.org/authors/id/T/TY/...0.1.tar.gz 13:50
New CPAN upload: Config-Parser-yaml-1.0.1.tar.gz by TYIL cpan.metacpan.org/authors/id/T/TY/...0.1.tar.gz
13:55 Zoffix joined 13:56 HoboWithAShotgun left
Zoffix Nah, there are two variants: prefix:<|> that's just does .Slip on the args and the | in routine args, which slips the args in. There's no slip() involved. If you'd done slip() you'd just pass one positional arg, the Slip 13:56
oh 13:57
perigrin Zoffix: Stop messing around!! 13:58
Zoffix m: sub z(|c) { dd c }; my @a = <a b c>; z |@a; z prefix:<|>(@a); z @a.Slip
camelia \("a", "b", "c")
\("a", "b", "c")
\(slip("a", "b", "c"))
perigrin (sorry ... couldn't contain myself)
Zoffix The grammar relies on prefix:<|> to use the prefix:<|> presence to do the magic?
perigrin: ?
perigrin goes to find public logs 13:59
irclog.perlgeek.de/perl6/2017-10-14#i_15301161
Zoffix Ah, yeah, it cheats and rewrites prefix:<|> call: github.com/rakudo/rakudo/blob/nom/....nqp#L6196 14:00
I thought it was just matching for `|`
perigrin: it's AlexDaniel messing around with code evals :(
perigrin Zoffix: it's confusing as hell at 3am (localtime) :)
14:04 void1 left 14:05 Zoffix left 14:08 melezhik_ joined 14:10 [equa] left 14:11 ryn1x joined 14:12 HoboWithAShotgun joined 14:16 ryn1x left 14:34 Aaronepower left
BenGoldberg m: sub MONKEY-SEE-NO-EVAL { Bool.pick }; say EVAL '42' 14:34
camelia 42
BenGoldberg m: sub MONKEY-SEE-NO-EVAL { Bool.pick }; say EVAL "$_" for ^10;
camelia 0
1
2
3
4
5
6
7
8
9
BenGoldberg m: sub MONKEY-SEE-NO-EVAL { Bool.pick }; say EVAL "$_" for ^100;
camelia 0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
5โ€ฆ
BenGoldberg m: sub MONKEY-SEE-NO-EVAL { False }; say EVAL "$_" for ^100; 14:35
camelia 5===SORRY!5=== Error while compiling <tmp>
EVAL is a very dangerous function!!! (use the MONKEY-SEE-NO-EVAL pragma to override this error,
but only if you're VERY sure your data contains no injection attacks)
at <tmp>:1
------> 3SEE-NO-EVโ€ฆ
BenGoldberg m: sub MONKEY-SEE-NO-EVAL { True }; say EVAL "$_" for ^100;
camelia 0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
5โ€ฆ
BenGoldberg m: sub MONKEY-SEE-NO-EVAL { so $++ }; say EVAL "$_" for ^100; 14:36
camelia 5===SORRY!5=== Error while compiling <tmp>
EVAL is a very dangerous function!!! (use the MONKEY-SEE-NO-EVAL pragma to override this error,
but only if you're VERY sure your data contains no injection attacks)
at <tmp>:1
------> 3EE-NO-EVAโ€ฆ
BenGoldberg m: sub MONKEY-SEE-NO-EVAL { so !$++ }; say EVAL "$_" for ^100;
camelia 0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
5โ€ฆ
BenGoldberg Derp, it's called each time EVAL is seen in the code, not each time the bit with the EVAL in it is run.
m: sub MONKEY-SEE-NO-EVAL { so !$++ }; say EVAL "'first'"; say EVAL "'second'" 14:37
camelia first
second
BenGoldberg Oh not. Hmm.
14:37 darkmorph joined 14:41 thunktone left 14:42 thunktone joined 15:00 Cabanossi left 15:01 melezhik_ left 15:03 Cabanossi joined 15:04 Aaronepower joined 15:13 Kyo91 left 15:17 zakharyas joined 15:19 ryn1x joined 15:21 zakharyas left 15:23 zakharyas joined 15:38 nadim left, pecastro left 15:52 thunktone left, pilne joined 15:53 thunktone joined 15:56 pecastro joined, niceperl joined 15:58 BenGoldberg left, [equa] joined 16:03 BenGoldberg joined 16:04 mson joined, dogbert17 joined 16:07 pecastro left 16:10 mempko joined 16:18 wamba left 16:19 ignis__away joined, ignis__away is now known as vivus-ignis 16:22 margeas joined 16:23 thunktone left 16:25 thunktone joined, pecastro joined 16:32 Cabanossi left, nadim joined 16:33 Cabanossi joined, HoboWithAShotgun left 16:35 vivus-ignis is now known as ignis__away 16:37 ignis__away is now known as vivus-ignis 16:38 pecastro left 16:40 pecastro joined 16:41 mempko left 16:47 niceperl left 16:48 nadim left 16:52 vivus-ignis left 17:07 napo1eon left 17:08 zakharyas left 17:20 andrzejku joined 17:21 andrzejku left, releasable6 left, releasable6 joined 17:23 andrzejku joined 17:28 mr-fooba_ left 17:33 mr-foobar joined 17:44 andrzejku left 17:50 nadim joined 17:52 andrzejku joined 17:55 |oLa| left 17:59 mr-fooba_ joined 18:00 mr-foobar left, rba_ joined 18:01 araraloren left 18:03 rba left 18:05 pilne left 18:09 AlexDaniel- joined, |oLa| joined 18:17 thunktone left 18:19 thunktone joined 18:23 mson left 18:26 eliasr left 18:28 darutoko left 18:32 HoboWithAShotgun joined 18:38 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 18:41 nadim left 18:46 Cabanossi left 18:48 Cabanossi joined 18:52 cdg joined 18:56 |oLa| left, |oLa| joined 18:57 mson joined, ryn1x left 18:58 |oLa|1 joined 19:01 |oLa| left 19:04 BenGoldberg left 19:09 domidumont left 19:14 lizmat left 19:16 lizmat joined 19:23 ryn1x joined 19:39 troys_ is now known as troys 19:48 darkmorph left 19:58 ryn1x left 20:01 char_var[buffer] left 20:04 Guest87124 is now known as Levex, Levex left, Levex joined 20:06 robertle left 20:09 andrzejku left 20:13 robertle joined 20:17 cdg left 20:22 robertle left 20:26 troys is now known as troys_, PeterMortensen_ joined 20:32 Cabanossi left 20:33 Cabanossi joined 20:34 scovit joined 20:37 cdg joined
scovit Hello, I made some bindings to the DRMAA library just for fun and learning the language, v6.d.PREVIEW in this case. github.com/scovit/Scheduler-DRMAA I will add it to the ecosystem, but also like to hear some feedback maybe on the API. I took lot of freedoms. 20:39
20:39 |oLa|1 left
scovit If Perl 6 will keep developing in this directions, it will take decades but will do wonders 20:40
20:40 |oLa| joined
El_Che University Cluster soft? 20:41
20:42 cdg left
timotimo "in order to lunch one, or more jobs", om nom nom jobs 20:42
scovit El_Che to push stuff on those 20:43
timotimo "q:to/โฌ… ๅฎŒ/" โ™ฅ
scovit should find more excuses to use unicode :) 20:45
20:49 TimToady left 20:50 TimToady joined 20:51 robertle joined 20:59 ryn1x joined 21:03 jeek left 21:04 jeek joined
jnthn scovit++ # first ecosystem implementation of the Awaitable role that I'm aware :) 21:11
timotimo jnthn: will you push the commit that introduces Sequence? or did you already do it and i missed it? 21:13
HoboWithAShotgun I can't find the code for infix:<.> 21:14
timotimo you mean method invocation? 21:15
HoboWithAShotgun aye
timotimo it's something in the grammar, not an "operator"
in a similar vein, the ! in self!foo is a method called dispatch:<!>
well, the grammar turns the syntax into a call to that
scovit jnthn++ thanks, you are doing an amazing job on concurrency 21:17
jnthn timotimo: Ahh... It's on my machien at the office, so Monday 21:19
*machine
Funnily enough, that's the one that doesn't run like a dog... :)
timotimo i'm not sure how to interpret that 21:23
isn't it good that your work machine runs great?
21:24 thunktone left 21:33 ryn1x left
jnthn timotimo: Yes, it is. Sorry, it was a bad pun on my typo; chien is French for dog :) 21:39
timotimo oh!
right, i recently looked that up for some reason 21:40
21:41 scovit left, PeterMortensen_ left, MasterDuke left, wander left
timotimo i think some pun related to chat vs chien 21:41
bbiab 21:42
21:43 scovit joined, PeterMortensen_ joined, MasterDuke joined, wander joined 21:46 MasterDuke left 21:48 ryn1x joined
HoboWithAShotgun is there a nicer way to get hold of a method object other than .^methods.first({ .name ~~ $b }) ? 21:49
AlexDaniel- what about .^can($name) ? 21:51
jnthn .^lookup($b) 21:52
21:52 ryn1x left
jnthn If you want the Method object that was declared 21:52
.^find_method($b) if you want something to invoke 21:53
Sometimes they give you the same
But sometimes not
As a rule, if you're introspecting use .^lookup, if you're messing around with intercepting dispatch, use .^find_method 21:54
AlexDaniel- that's also what the docs say here docs.perl6.org/type/Metamodel::Cla...hod_lookup
jnthn Yay, docs :) 21:56
AlexDaniel- m: say Nil.WHY 21:58
camelia No documentation available for type 'Nil'.
Perhaps it can be found at docs.perl6.org/type/Nil
ยป
AlexDaniel- TIL
22:07 HoloIRCUser2 joined 22:08 |oLa|1 joined, |oLa| left
AlexDaniel- .seen Skarsnik 22:09
yoleaux I saw Skarsnik 7 Oct 2017 20:49Z in #perl6-dev: <Skarsnik> [Alexdanielable]
22:09 kyan joined, HoloIRCUser2 left
HoboWithAShotgun this works hastebin.com/urudozuhem.php but is too ugly 22:10
i'd rathere have < $a^^^parent > instead of < $a^^^<parent> > 22:11
if that is at all possible with a simple operator
since the RHS is a bareword
geekosaur that would require mutating the grammar, not just tweaking an operator definition 22:13
HoboWithAShotgun that's what i thought. i'd be happy with ^^^$a.parent too but that calls the method 22:15
can't i just get a hard ref like with \ in p5?
22:16 ryn1x joined 22:17 HoloIRCUser1 joined
HoboWithAShotgun and why by the sweet legs of holy sister mary poppins is there no ^invoke method? 22:19
22:21 ryn1x left, rba joined 22:23 rba_ left, wander left
geekosaur you may be able to use & there. alternately the value of .^can(mth) is a reference to the method mth 22:24
tyil lizmat: www.meetup.com/DomCode/events/244171361/ might be interesting to join to show off some cool stuff in perl 6 22:26
22:28 ilbelkyr left
gfldex m: class C { method m {} }; C.new.^can('m')[0].CALL-ME(); 22:29
camelia No such method 'CALL-ME' for invocant of type 'Method'
in block <unit> at <tmp> line 1
gfldex HoboWithAShotgun: the problem with the .^invoke method is that it's a submethod :->
HoboWithAShotgun itt doesn't matter, i know have this 22:30
hastebin.com/bakofateke.php
way nicer. please try to break it
22:31 ilbelkyr joined, Cabanossi left 22:33 Cabanossi joined
HoboWithAShotgun someone must come up with a good idea for this guy: unicode-table.com/de/2BED/ 22:35
we can call it the christmas tree operator 22:36
tyil makes output on STDOUT green, and on STDERR red
HoboWithAShotgun :-) 22:37
22:39 perigrin left
HoboWithAShotgun m: my $เบ”เบ•เบ–เบ— = 1; $เบ”เบ•เบ–เบ—.say 22:40
camelia 1
HoboWithAShotgun m: my $๐Ÿ˜•๐Ÿ˜–๐Ÿ˜—๐Ÿ˜˜ = 1; $๐Ÿ˜•๐Ÿ˜–๐Ÿ˜—๐Ÿ˜˜.say 22:41
camelia 5===SORRY!5=== Error while compiling <tmp>
Name must begin with alphabetic character
at <tmp>:1
------> 3my $7โ5๐Ÿ˜•๐Ÿ˜–๐Ÿ˜—๐Ÿ˜˜ = 1; $๐Ÿ˜•๐Ÿ˜–๐Ÿ˜—๐Ÿ˜˜.say
expecting any of:
constraint
infix
infix stโ€ฆ
HoboWithAShotgun is the side arrow used in p6? <- 22:44
22:45 ryn1x joined
HoboWithAShotgun m: say 1 <- 2 22:46
camelia False
HoboWithAShotgun m: say 2 <- 1
camelia False
HoboWithAShotgun what does that do? 22:47
22:49 ryn1x left
geekosaur that looks to me like it parsed as 1 < -2 and 2 < -1 respectively 22:52
note that perl 6 syntax is a bit context dependent, though, so that is bo guarantee that <- doesn't have a special meaning somewhere 22:53
(but the only possibility I can think of off the top of my head is one that doesn't make much sense: in a pointy block there is -> and <-> but <- would represent a write-only binding) 22:54
*no guarantee
timotimo funny enough that we call that --> rather than <--
22:59 rindolf left 23:07 ilbelkyr left 23:08 ilbelkyr joined 23:09 ilbelkyr left, ilbelkyr joined 23:16 Cabanossi left 23:18 Cabanossi joined
buggable New CPAN upload: App-Bob-0.2.2.tar.gz by TYIL cpan.metacpan.org/authors/id/T/TY/...2.2.tar.gz 23:20
New CPAN upload: Hash-Merge-0.1.1.tar.gz by TYIL cpan.metacpan.org/authors/id/T/TY/...1.1.tar.gz
New CPAN upload: IRC-Client-Plugin-Github-0.1.4.tar.gz by TYIL cpan.metacpan.org/authors/id/T/TY/...1.4.tar.gz
New CPAN upload: MPD-Client-0.1.3.tar.gz by TYIL cpan.metacpan.org/authors/id/T/TY/...1.3.tar.gz
23:23 MasterDuke joined
HoboWithAShotgun ha ha : imgur.com/a/rlHgg 23:23
23:25 scovit left 23:28 void1 joined, void1 left, void1 joined 23:31 |oLa|1 left
HoboWithAShotgun i think i'll settle with ๐„† and |: 23:31
the symbol means repeat which kinda fits
23:31 TimToady left 23:33 |oLa| joined, TimToady joined 23:34 ChoHag joined 23:54 evalable6 left, evalable6 joined 23:55 ryn1x joined 23:56 strangemk2 joined 23:58 ipatrol joined
ipatrol Are the things that look like adverbs on protoregexes actual adverbs, or do they just syntactically look like them? 23:58
23:59 void1 left, ryn1x left, margeas left