»ö« 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. |
|||
00:13
nick__ left
00:17
w17t joined,
p6bannerbot sets mode: +v w17t,
shlomif left
00:22
Manifest0 left,
Manifest0 joined
00:23
p6bannerbot sets mode: +v Manifest0
00:37
pecastro left
|
|||
vrurg | Can't recall: does supply {} control start a new thread? | 00:38 | |
leont | No | 00:50 | |
It's more like a coroutine | 00:51 | ||
jnthn | supply { } doesn't in the immediate do anything until it's tapped, and then its setup logic runs on the thread that calls .tap; all `whenever`s run on the thread that sends the message, subject to the one-message-entirely-processed-at-a-time rule (which is enforced per tapping; think of a supply a bit like a class and each tapping of it like an object) | 00:54 | |
vrurg | Thanks! That's what I was missing in it. | 01:01 | |
01:06
aborazmeh left
01:08
kurahaupo left
01:09
kurahaupo joined,
p6bannerbot sets mode: +v kurahaupo
|
|||
Kaiepi | m: role A { has $.a; submethod TWEAK(:$!a) {} }; role B does A { method new(*%args) { self.bless: |%args } }; class C does B { has $.b; }; my C $c .= new: :1a, :2b; say $c.a, ' ', $c.b | 01:27 | |
camelia | 1 2 | ||
Kaiepi | PERFECT | ||
that's exactly what i need to be able to do for what i'm writing | |||
01:27
ferreira left
01:31
zachk left
01:49
Actualeyes joined
01:50
p6bannerbot sets mode: +v Actualeyes
01:54
lizmat left
|
|||
b2gills | Kaiepi: You didn't need to add `method new` | 01:55 | |
01:55
melezhik joined,
p6bannerbot sets mode: +v melezhik
|
|||
b2gills | m: role A { has $.a; submethod TWEAK(:$!a) {} }; role B does A { }; class C does B { has $.b; }; my C $c .= new: :1a, :2b; say $c.a, ' ', $c.b | 01:55 | |
camelia | 1 2 | ||
melezhik | Hi! If there are range operators in Perl6, like in Perl5: /regexp/ .. /regexp/ ... | ||
b2gills | Actually you didn't need TWEAK either | 01:56 | |
m: role A { has $.a; }; role B does A { }; class C does B { has $.b; }; my C $c .= new: :1a, :2b; say $c.a, ' ', $c.b | |||
camelia | 1 2 | ||
b2gills | melezhik: ff and fff | ||
docs.perl6.org/language/5to6-perlop | 01:57 | ||
Kaiepi | it's a bad example b2gills | ||
melezhik | thanks b2gills | ||
I've found this one - docs.perl6.org/routine/ff | |||
anyway now I know the word ((-: | 01:58 | ||
Kaiepi | in the code i'm writing i'm using private attributes in A and B and adding extra attributes in C | ||
er, just A | |||
so i need TWEAK there | |||
but you're right about not needing new | |||
b2gills | I sometimes declare a variable as public just so that BUILD is created for me | 01:59 | |
s/variable/attribute/ | |||
02:11
Actualeyes left
02:20
jeek joined
02:21
p6bannerbot sets mode: +v jeek
02:27
leont left
02:32
melezhik left
02:38
Kaiepi left
02:41
molaf left
02:54
molaf joined,
ferreira joined
02:55
p6bannerbot sets mode: +v molaf,
p6bannerbot sets mode: +v ferreira
03:01
kurahaupo left
03:02
kurahaupo joined,
p6bannerbot sets mode: +v kurahaupo
03:49
MasterDuke left
03:50
Khisanth left
04:09
Khisanth joined,
p6bannerbot sets mode: +v Khisanth
04:34
kurahaupo left
04:41
Kaiepi joined,
p6bannerbot sets mode: +v Kaiepi
|
|||
Kaiepi | so i wrote a Crypt::Mode library to allow people writing cryptography libraries to use CFB, ECB, OFB, CFB, CTR block cipher modes with them easily | 04:42 | |
to test it i used it on my own Crypt::CAST5 library | |||
only to find it's broken and i have to rewrite it | |||
:| | |||
should've tested it better before i released v0.0.1 | 04:45 | ||
04:47
cpan-p6_ joined
|
|||
cpan-p6_ | 03cpan-p6_ reporting for duty! [Perl 6] 02git.tyil.nl/perl6/app-cpan-uploadnotifierbot | 04:47 | |
04:48
p6bannerbot sets mode: +v cpan-p6_
04:57
smallick joined
04:58
p6bannerbot sets mode: +v smallick
|
|||
smallick | m: (1, 2, 3, *+*+* ... *)[^20].say | 04:59 | |
camelia | (1 2 3 6 11 20 37 68 125 230 423 778 1431 2632 4841 8904 16377 30122 55403 101902) | ||
smallick | m: my $a = 1, 2, 3; my @a = 1, 2, 3; .WHAT.perl.say for ($a, @a) | 05:01 | |
camelia | WARNINGS for <tmp>: Int Array Useless use of constant integer 3 in sink context (lines 1, 1) Useless use of constant integer 2 in sink context (lines 1, 1) |
||
smallick | m: my $a = (1, 2, 3); say $a | 05:02 | |
camelia | (1 2 3) | ||
smallick | my $a = (1, 2, 3); $a.WHAT.perl.say | 05:03 | |
evalable6 | List | ||
05:03
cpan-p6 left
|
|||
smallick | say List ~~ Array | 05:03 | |
evalable6 | False | ||
smallick | my $a; say $a ~~ Any:U | 05:04 | |
evalable6 | True | ||
05:05
smallick left
05:06
cpan-p6 joined
05:07
p6bannerbot sets mode: +v cpan-p6
05:10
cpan-p6 left
05:14
molaf left
05:34
smallick joined
05:35
p6bannerbot sets mode: +v smallick,
smallick left
06:18
nelsonhb joined
06:19
p6bannerbot sets mode: +v nelsonhb
06:32
hythm_ joined,
p6bannerbot sets mode: +v hythm_
|
|||
hythm_ | Hello, is it possible to access a class variable from the class instance? | 06:33 | |
p6: class C { my %h }; my $c = C.new; # can $c access %h? | 06:35 | ||
camelia | ( no output ) | ||
hythm_ | p6: class C { my %h }; my $c = C.new; say $c.h | 06:39 | |
camelia | No such method 'h' for invocant of type 'C' in block <unit> at <tmp> line 1 |
||
06:55
random_yanek left
06:59
hythm_ left
07:06
jmerelo joined,
p6bannerbot sets mode: +v jmerelo
07:07
random_yanek joined
|
|||
jmerelo | releasable6: status | 07:07 | |
07:07
p6bannerbot sets mode: +v random_yanek
|
|||
releasable6 | jmerelo, Next release will happen when it's ready. 5 blockers. 113 out of 239 commits logged (⚠ 41 warnings) | 07:07 | |
jmerelo, Details: gist.github.com/6220cd3d182fae1199...97f6a49353 | |||
07:11
nelsonhb left
07:48
orevdiabl left,
revdiablo joined,
p6bannerbot sets mode: +v revdiablo
07:51
molaf joined,
p6bannerbot sets mode: +v molaf
08:29
molaf left
|
|||
jmerelo | m: say Pod::Config.^mro | 08:44 | |
camelia | ((Config) (Any) (Mu)) | ||
08:55
AlexDaniel left
|
|||
jmerelo | m: say Metamodel::MethodDispatcher.^mro | 08:59 | |
camelia | ((MethodDispatcher) (BaseDispatcher) (Any) (Mu)) | ||
jmerelo | m: say Metamodel::EnumHOW.^mro, Metamodel::EnumHOW.^roles | 09:00 | |
camelia | Required named parameter 'local' not passed in block <unit> at <tmp> line 1 |
||
jmerelo | m: say Metamodel::EnumHOW.^roles | ||
camelia | Required named parameter 'local' not passed in block <unit> at <tmp> line 1 |
||
moritz | m: say Metamodel::EnumHOW.^roles(:local) | ||
camelia | No such method 'gist' for invocant of type 'Perl6::Metamodel::Naming' in block <unit> at <tmp> line 1 |
||
moritz | m: say Metamodel::EnumHOW.^roles(:!local) | 09:01 | |
camelia | No such method 'gist' for invocant of type 'Perl6::Metamodel::Naming' in block <unit> at <tmp> line 1 |
||
jmerelo | moritz: I'm looking at this: stackoverflow.com/a/50403124/891440 | ||
m: say Rat.^roles; | |||
camelia | ((Rational[Int,Int]) (Real) (Numeric)) | ||
jmerelo | Well, that works... | 09:02 | |
moritz | Metamodel::EnumHOW is composed of NQP roles | ||
and stringiying them fails | |||
m: say .name for Metamodel::EnumHOW.^roles(:!local) | |||
camelia | No such method 'name' for invocant of type 'Perl6::Metamodel::Naming'. Did you mean 'name'? in block <unit> at <tmp> line 1 |
||
jmerelo | moritz: I see now why github.com/perl6/doc/blob/master/type-graph.txt is needed. But just in that case. | 09:03 | |
m: say Junction.^mro | |||
camelia | ((Junction) (Mu)) | ||
jmerelo | m: say Code.^mro, Code.^roles | 09:04 | |
camelia | ((Code) (Any) (Mu))((Callable)) | ||
jmerelo | m: say Cursor.^mro, Cursor.^roles | ||
camelia | No such method 'gist' for invocant of type 'NQPMatchRole'. Did you mean 'ast'? in block <unit> at <tmp> line 1 |
||
jmerelo | m: say Cursor.^mro, Cursor.HOW.archetypes | 09:05 | |
camelia | No such method 'gist' for invocant of type 'Perl6::Metamodel::Archetypes'. Did you mean 'isa'? in block <unit> at <tmp> line 1 |
||
jmerelo | m: say Cursor.^mro, Cursor.HOW.archetypes.^methods | ||
camelia | ((Match) (Capture) (Cool) (Any) (Mu))(nominal nominalizable inheritable inheritalizable composable composalizable generic parametric coercive definite augmentable CREATE bless BUILDALL new defined ACCEPTS NOT-ACCEPTS isa) | ||
09:13
marmor joined
09:14
p6bannerbot sets mode: +v marmor
09:19
cpan-p6 joined
|
|||
cpan-p6 | 03cpan-p6 reporting for duty! [Perl 6] 02git.tyil.nl/perl6/app-cpan-uploadnotifierbot | 09:19 | |
09:20
p6bannerbot sets mode: +v cpan-p6
09:28
cpan-p6_ left
|
|||
jmerelo | m: my @cursor-roles = Cursor.^roles; print $_ for @cursor-roles | 09:34 | |
camelia | No such method 'Str' for invocant of type 'NQPMatchRole'. Did you mean 'Str'? in block <unit> at <tmp> line 1 |
||
jmerelo | m: my @cursor-roles = Cursor.^roles; print $_.name for @cursor-roles | 09:38 | |
camelia | No such method 'name' for invocant of type 'NQPMatchRole'. Did you mean any of these? made make same in block <unit> at <tmp> line 1 |
||
jmerelo | m: my @cursor-roles = Cursor.^roles; print $_.Str for @cursor-roles | ||
camelia | No such method 'Str' for invocant of type 'NQPMatchRole'. Did you mean 'Str'? in block <unit> at <tmp> line 1 |
||
jmerelo | say Cursor.^roles | 09:41 | |
m: say Cursor.^roles | |||
camelia | No such method 'gist' for invocant of type 'NQPMatchRole'. Did you mean 'ast'? in block <unit> at <tmp> line 1 |
||
09:42
lizmat joined,
p6bannerbot sets mode: +v lizmat
|
|||
jmerelo | m: my @cursor-roles = Cursor.^roles; print $_.^name for @cursor-roles | 09:42 | |
camelia | NQPMatchRole | ||
09:42
rindolf joined
09:43
p6bannerbot sets mode: +v rindolf
09:51
molaf joined
09:52
p6bannerbot sets mode: +v molaf
10:17
andrzejku joined,
p6bannerbot sets mode: +v andrzejku
10:19
|oLa| joined,
|oLa| left
10:33
pecastro joined
10:34
p6bannerbot sets mode: +v pecastro
10:47
rindolf left
10:52
shlomif joined,
p6bannerbot sets mode: +v shlomif
10:58
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
p6bannerbot sets mode: +v aborazmeh
|
|||
andrzejku | how is situation with Perl6 jobs? | 11:09 | |
moritz | I don't know of any exclusively Perl 6 full time jobs | 11:10 | |
but I've made some side money with perl 6 before | |||
and I know jnth++ is earning some of his money with perl 6 | 11:11 | ||
nine | We're actually hiring and started using Perl 6 for all new functionality we implement | 11:13 | |
tadzik | \o/ | 11:14 | |
nine | The team has been quite enthusiastic so far :) | 11:15 | |
11:16
ufobat joined
11:17
p6bannerbot sets mode: +v ufobat
|
|||
andrzejku | nine, !!:D | 11:18 | |
11:19
shlomif is now known as rindolf
|
|||
tadzik | that's fantastic :) | 11:32 | |
11:33
pmurias joined,
p6bannerbot sets mode: +v pmurias
|
|||
pmurias | nine: where do you work? ;) | 11:34 | |
nine | www.atikon.com/at/karriere/jobs/so...eisterung/ | ||
11:35
sena_kun joined
|
|||
nine | There supposedly exists a verion in English, but I don't have that at hand and I'm actually on a train on my way to a week's vacation | 11:35 | |
11:36
p6bannerbot sets mode: +v sena_kun
11:38
rindolf left
|
|||
jmerelo | nine: great! | 11:39 | |
11:39
[Sno] left
|
|||
jmerelo | nine: also, have fun. | 11:40 | |
notable6: Atikon is looking for Perl 6 programmers (in German) www.atikon.com/at/karriere/jobs/so...eisterung/ | 11:41 | ||
notable6 | jmerelo, Noted! | ||
nine | thanks :) | ||
11:42
sno joined,
p6bannerbot sets mode: +v sno
|
|||
El_Che | nine: great news | 11:43 | |
11:43
rindolf joined
11:44
p6bannerbot sets mode: +v rindolf
|
|||
andrzejku | that's hard to believe | 11:47 | |
that we can have companies like that | |||
nine | Side not: our new sysadmin was sold on Perl 6 when he saw sub MAIN and how easy it was to add usage information to individual command line options :) | 11:49 | |
It's also one of my most favourite features | |||
El_Che | nine: I also added some perl code into our ci/cloud env :) | 11:50 | |
nine | The team decision to switch to Perl 6 also prompted me to think some more about how to make extending a Perl 5 code base with Perl 6 even easier. I've got some good ideas for Inline::Perl6 to tackle after the vacation :) | 11:52 | |
El_Che | In this kind of setup I think a relocatable rakudo + lib bundler would be a winner | 11:53 | |
nine: no mention of Perl 6 in the description? | |||
11:55
pecastro left
|
|||
nine | El_Che: patrickb++ is working on a relocatable rakudo | 11:56 | |
El_Che | that is tremendous good news | ||
I would care more about that than about speed, to be honest | |||
pmurias | nine: are you only looking for people who speak German or is English enough? | ||
nine | El_Che: the job ad mentions Perl which can be read as Perl 5/6 ;) | 11:57 | |
El_Che | you weasel :) | ||
nine | pmurias: German would be a plus. We already have an English native on the team, all our source code and comments are in English ans are the team meetings. Still German would help with talking to users and we don't know for how many English speakers we can cover there | 11:59 | |
And of course German helps with socializing... But in the end it's not a requirement | 12:00 | ||
andrzejku | Actually I am looking for something C/C++/Perl6 job :D | 12:02 | |
that's probably only as moarvm developer hehe | 12:03 | ||
ufobat | what happens if you have a END block in your codebase: does perl6 wait with the "global destruction" of all objects, on all threads, for all END blocks to return? | ||
i am thinkin about this issue: github.com/zoffixznet/perl6-Temp-Path/issues/4 | 12:04 | ||
12:17
marmor left
|
|||
moritz | rakudo skips global destruction for efficiency reasons | 12:29 | |
12:37
MasterDuke joined,
p6bannerbot sets mode: +v MasterDuke,
MasterDuke left,
MasterDuke joined,
herbert.freenode.net sets mode: +v MasterDuke,
p6bannerbot sets mode: +v MasterDuke
12:38
kurahaupo joined
12:39
p6bannerbot sets mode: +v kurahaupo
|
|||
cpan-p6 | New module released to CPAN! Audio-Libshout (0.0.11) by 03JSTOWE | 12:40 | |
andrzejku | is it possible to embed Perl6 into C++? | 12:44 | |
moritz | yes | 12:45 | |
andrzejku | :O | ||
I found only that link stackoverflow.com/questions/507690...-c-program | 12:46 | ||
with some poor answers | |||
moritz | feel free to improve on the answers, once you've found out | 12:48 | |
andrzejku | ok :D | ||
12:49
gfldex left
|
|||
cpan-p6 | New module released to CPAN! Audio-Playlist-JSPF (0.0.3) by 03JSTOWE | 12:56 | |
12:56
aborazmeh left
13:08
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
p6bannerbot sets mode: +v aborazmeh
13:09
p6bannerbot sets mode: +v aborazmeh
13:11
El_Che left,
cpup left,
El_Che joined
13:12
p6bannerbot sets mode: +v El_Che
13:18
AlexDaniel joined,
p6bannerbot sets mode: +v AlexDaniel
|
|||
cpan-p6 | New module released to CPAN! Chronic (0.0.7) by 03JSTOWE | 13:28 | |
13:39
[particle]1 joined
13:40
p6bannerbot sets mode: +v [particle]1
13:42
[particle] left
13:54
Ulti joined
13:55
p6bannerbot sets mode: +v Ulti
13:59
andrzejku left
|
|||
timotimo | i'd like a few more comments on my blog post draft: wakelift.de/p/542f3440-7e5e-4371-b2...782e02f09/ | 14:17 | |
yoleaux | 11:48Z <nine> timotimo: is there a way to have profiling ops not count towards the inlining limit? Apparently they can change performance behavior a lot by enlarging the bytecode. | ||
timotimo | nine: it's already supposed to not count them in the size calculation, maybe there is a bug in that code | 14:18 | |
14:20
molaf left
14:24
pecastro joined
14:25
p6bannerbot sets mode: +v pecastro
14:30
leont joined
14:31
p6bannerbot sets mode: +v leont
14:34
aborazmeh left
|
|||
sena_kun | timotimo, nice post. by the way, partially out of curiosity, is it planned to have an option to show user-defined only code in call graph? While being tremendously handy for core devs, average user will be having hard time optimizing e.g. `sink-all`. | 14:34 | |
14:35
jmerelo left
14:36
Guest2_ joined
14:37
p6bannerbot sets mode: +v Guest2_
14:40
zacts joined,
p6bannerbot sets mode: +v zacts
14:42
sno left
14:45
Guest2_ left
|
|||
timotimo | sena_kun: i'm not entirely sure how i'd handle that, especially since a lot of code calls back into user's code, too | 14:47 | |
sena_kun | timotimo, that's to be tricky, I think. Anyway, a great progress, timotimo++ | 14:48 | |
14:51
ravenousmoose joined
|
|||
timotimo | TYVM, but I just used an off-the-shelf library for flame graphs :D | 14:51 | |
its API is not quite what i need, though :| | 14:52 | ||
14:52
p6bannerbot sets mode: +v ravenousmoose
15:03
domidumont joined
15:04
p6bannerbot sets mode: +v domidumont
15:05
yqt joined
15:06
p6bannerbot sets mode: +v yqt
|
|||
Kaiepi | how do i emulate overflows with uint32? | 15:09 | |
El_Che | add a number bigger than 2^32? | ||
Kaiepi | i mean i'm getting this error: | 15:10 | |
Cannot unbox negative bigint into native unsigned integer | |||
15:10
someuser left
|
|||
El_Che | it looks like a type mismatch | 15:11 | |
timotimo | not quite | ||
El_Che | (mr obvious, here) | ||
timotimo | there's an operation that results in a bigint instead of a native int | ||
and moar then complains that you can't put a negative value into an unsigned variable | |||
Kaiepi | the operations i'm using are +, -, and +^ | ||
El_Che | what timotimo says | ||
timotimo | m: my uint32 $a = 0x7fffff; say $a | 15:12 | |
camelia | 8388607 | ||
timotimo | m: my uint32 $a = 0x7fffff; $a++; say $a | ||
camelia | 8388608 | ||
timotimo | that's not quite right, is it ... | ||
m: say 2 ** 32 | |||
camelia | 4294967296 | ||
timotimo | yeah, lol | ||
m: my uint32 $a = 0x7fffffffff; $a++; say $a | |||
camelia | 0 | ||
timotimo | m: my uint32 $a = 0x7fffffffff; say $a | ||
camelia | 4294967295 | ||
timotimo | there it overfloweth | ||
15:13
cpup joined
15:14
p6bannerbot sets mode: +v cpup,
ravenousmoose left
|
|||
Kaiepi | m: my uint32 $foo = 110008024 - 2989985939 | 15:14 | |
camelia | Cannot unbox negative bigint into native unsigned integer in block <unit> at <tmp> line 1 |
||
Kaiepi | m: say 110008024.base(16) | 15:15 | |
camelia | 68E96D8 | ||
Kaiepi | m: say 2989985939.base(16) | ||
camelia | B2379093 | ||
timotimo | m: m: my uint32 $foo = 110008024; my $uint32 $otherfoo = 2989985939; say $foo - $otherfoo | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Two terms in a row at <tmp>:1 ------> 3: my uint32 $foo = 110008024; my $uint327⏏5 $otherfoo = 2989985939; say $foo - $oth expecting any of: infix infix stopper … |
||
timotimo | m: my uint32 $foo = 110008024; my $uint32 $otherfoo = 2989985939; say $foo - $otherfoo | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Two terms in a row at <tmp>:1 ------> 3my uint32 $foo = 110008024; my $uint327⏏5 $otherfoo = 2989985939; say $foo - $oth expecting any of: infix infix stopper … |
||
timotimo | oops | 15:16 | |
m: my uint32 $foo = 110008024; my uint32 $otherfoo = 2989985939; say $foo - $otherfoo | |||
camelia | -2879977915 | ||
timotimo | m: my uint32 $foo = 110008024; my uint32 $otherfoo = 2989985939; my uint32 $result = $foo - $otherfoo; say $result | ||
camelia | 1414989381 | ||
Kaiepi | there we go | ||
timotimo | in your code the calculation happens before the concept of uint32 ever enters the picture | ||
so it does a regular bigint calculation and then stumbles when you try to put the result in the 32bit variable | |||
putting the type on every step of the calculation is annoying, but at the moment apparently necessary | 15:17 | ||
Kaiepi | m: my uint8 $type = 2; my uint32 $Kmi = 110008024; my uint32 $D = 2989985939; my uint32 $res = do given $type { when 2 { $Kmi - $D } } | 15:22 | |
camelia | Cannot unbox negative bigint into native unsigned integer in block <unit> at <tmp> line 1 |
||
Kaiepi | how would i write this to work? | 15:24 | |
timotimo | put a "my uint32 $ = " inside the when, too | 15:26 | |
Kaiepi | m: my uint8 $type = 2; my uint32 $Kmi = 110008024; my uint32 $D = 2989985939; my uint32 $res = do given $type { when 2 { my uint32 $ = $Kmi - $D } } | 15:29 | |
camelia | ( no output ) | ||
Kaiepi | m: sub foo(uint8 $type = 2, uint32 $Kmi = 110008024, uint32 $D = 2989985939 --> uint32) { given $type { when 2 { my uint32 $ = $Kmi - $D } } }; foo | 15:31 | |
camelia | ( no output ) | ||
cpan-p6 | New module released to CPAN! JSON-Infer (0.0.16) by 03JSTOWE | 15:36 | |
Kaiepi | the last given block in this method still throws no matter what i try hastebin.com/ucepagepop.pl | 15:39 | |
15:43
ravenousmoose joined
15:44
p6bannerbot sets mode: +v ravenousmoose
|
|||
Kaiepi | never mind, worked out how to do it | 15:45 | |
hastebin.com/cisodubefe.pl | 15:47 | ||
16:09
zakharyas joined
16:10
p6bannerbot sets mode: +v zakharyas
16:14
domidumont left,
domidumont joined
16:15
p6bannerbot sets mode: +v domidumont
16:17
domidumont left,
mowcat left
16:18
domidumont joined,
p6bannerbot sets mode: +v domidumont
|
|||
leont | Am I correct to conclude there is not terminfo/termcap module? | 16:21 | |
sena_kun | leont, github.com/jonathanstowe/p6-Term-Cap ? | 16:24 | |
leont | Yeah, I found that right after I said that | ||
It's not on the module list though | |||
sena_kun | indeed, I wonder why. I think a lot of modules are moved to span lately... | 16:25 | |
leont, can't you please file an issue? I am sure it will be resolved. :) | 16:26 | ||
16:31
ExtraCrispy joined,
p6bannerbot sets mode: +v ExtraCrispy
16:40
jmerelo joined,
p6bannerbot sets mode: +v jmerelo
16:43
gfldex joined,
gfldex left,
gfldex joined
16:44
p6bannerbot sets mode: +v gfldex
|
|||
jmerelo | releasable6: status | 16:44 | |
releasable6 | jmerelo, Next release will happen when it's ready. 5 blockers. 113 out of 241 commits logged (⚠ 41 warnings) | ||
jmerelo, Details: gist.github.com/b5712ee2ecd31268d0...ff87f162b5 | |||
cpan-p6 | New module released to CPAN! MQ-Posix (0.0.2) by 03JSTOWE | 16:56 | |
16:56
andrzejku joined
16:57
p6bannerbot sets mode: +v andrzejku
|
|||
leont | It doesn't appear Term::Cap is actually usable. I'm guessing the grammar is chocking on a megabyte of text :-/ | 16:58 | |
jmerelo | leont: in general, or in some particular problem? | 16:59 | |
leont | In general. It's chocking on parsing the database | ||
jmerelo | leont: pointer to code? Issue? A bit of more context? Can we help, or is it just informative? | 17:02 | |
Geth | doc: 598465b336 | (JJ Merelo)++ | doc/Type/Proc/Async.pod6 Proc::Async works on the JVM But only since June 2017: github.com/rakudo/rakudo/blob/mast...2017.06.md |
17:10 | |
synopsebot | Link: doc.perl6.org/type/Proc::Async | ||
doc: acd61991f9 | (JJ Merelo)++ | doc/Type/Proc/Async.pod6 Adds named parameter to def, expands explanation, closes #2582 |
|||
ufobat | moritz, what could be a reason why the Channel in this modujle is closed, sometimes? | 17:13 | |
leont | jmerelo: Try running perl6 -e 'use Term::Cap; my $c = Term::Cap.new; dd $c.description' | ||
17:13
zacts left
|
|||
jmerelo | leont: "No candidates found matching identity: Term::Cap | 17:16 | |
sena_kun | leont, it is worth a ticket, I think. | 17:18 | |
leont | Apparently it's a known issue, and the speed issue is the reason for it not being listed | 17:19 | |
17:20
lucasb joined,
p6bannerbot sets mode: +v lucasb
|
|||
jmerelo | OK, this Term::Cap github.com/jonathanstowe/p6-Term-Cap | 17:21 | |
But it's not in the ecosystem for some reason... | |||
MasterDuke | couldn't it be parsed into a data structure at module build time? sure, module install would take a long time, but if it's small enough to be pre-compiled then any actual use should be fine | ||
17:42
dogbert11 left
17:58
zacts joined,
p6bannerbot sets mode: +v zacts
|
|||
cpan-p6 | New module released to CPAN! FastCGI-NativeCall-Async (0.0.2) by 03JSTOWE | 18:00 | |
Geth | modules.perl6.org: badeaa41cc | (Lucas Buchala)++ (committed using GitHub Web editor) | lib/ModulesPerl6/Controller/Dist.pm Associate ".t6" extension with file type perl6 Per github.com/perl6/user-experience/issues/36 |
18:03 | |
18:05
domidumont left
18:07
eseyman left
|
|||
Util | timotimo: (re: blog post preview) | 18:18 | |
The aside in the 2nd paragraph: "which I'm planning to make easier in the future as well" | |||
might fit more naturally into the last two paragraphs, where you are discussing future plans. | |||
Also s/github/GitHub/; | |||
Your work looks very promising! | |||
18:21
domidumont joined
18:22
p6bannerbot sets mode: +v domidumont
|
|||
leont | Is there a way to unregister a module from CPAN? Or otherwise get the github version to take precedence over it? | 18:23 | |
lizmat | leont: I think removing it from CPAN is enough | 18:24 | |
but why do you want to do that ? | |||
(of course, given enough time for rebuilding db) | |||
leont | It appears mi6 isn't quite ready for one of my dists. | 18:25 | |
It has a hard assumption of one file is one class | |||
lizmat | ah? | ||
hmmm... perhaps fix mi6 instead ? | |||
leont | That messes up the provides meta entry | 18:26 | |
Yeah, that is the better long term solution | |||
It's probably also not trivial, it kind of involves parsing the module | |||
The quick workaround in mi6 is probably an option to make it not touch provides | 18:28 | ||
lizmat | a dist.ini setting ? | 18:35 | |
leont | Great, mi6 master fails tests here | 18:40 | |
lizmat | :-( | 18:41 | |
weekly: wakelift.de/2019/01/20/these-graph...e-on-fire/ | 18:44 | ||
notable6 | lizmat, Noted! | ||
18:45
phogg joined,
p6bannerbot sets mode: +v phogg
|
|||
lizmat | moritz: ^^ | 18:47 | |
jmerelo | lizmat: can you think of a better way to compress a data structure than .perl-ify, put that on a Buf and call Compress::Bzip2 on it? | 18:56 | |
lizmat: maybe pack/unpack? | 18:57 | ||
lizmat | we don't really have a Perl 6 equivalent of Storable yet | ||
nowadays, I would almost always suggest using JSON | |||
jmerelo | lizmat: serialize to JSON and then compress the JSON string? | 18:58 | |
lizmat | right, it should compress pretty well | ||
yoleaux | AlexDaniel: get huggable back on its feet | 18:59 | |
jmerelo | releasable6: status | ||
releasable6 | jmerelo, Next release will happen when it's ready. 5 blockers. 115 out of 244 commits logged (⚠ 41 warnings) | ||
jmerelo, Details: gist.github.com/41c03e20fc581eb3c0...596d400493 | |||
ufobat | flamegraphs! i love them! | 19:00 | |
moritz | lizmat: tweeted | 19:01 | |
19:02
zacts left
19:03
eseyman joined,
p6bannerbot sets mode: +v eseyman
|
|||
lucasb | timo should have used a screenshot from 'cacafire' as the image :D | 19:05 | |
ufobat | jmerelo, lizmat, i think json is not so good if you expect a lot of binary data | 19:07 | |
timotimo | i would recommend messagepack over json because it supports more features | ||
ufobat: you asked for them a long long time ago :D | |||
jmerelo | timotimo: messagepack is in some module? | ||
timotimo | yeah, i think the one i used is Data::MessagePack | ||
jmerelo | timotimo: thanks! | 19:08 | |
ufobat | timotimo, yeah i had troubles with binary and JSON::XS in perl5 | ||
then i swtiched to Sereal | |||
timotimo | moarvm's debugserver uses it to transport messages between moar and the client library | ||
ufobat | timotimo, ah you are talking about the flame graphs, jup, i did :) | ||
timotimo | i am :) | 19:09 | |
lizmat | TIL JSON is not a good recommendation :-) | ||
timotimo | well ... | ||
19:10
zacts joined,
p6bannerbot sets mode: +v zacts
|
|||
timotimo | JSON is almost trivial to get in every language | 19:10 | |
but json only allows strings for hash keys for example | |||
whereas MP allows other objects (hashes and lists), integers, ... | |||
and there's stuff for blobs as well | |||
jmerelo | timotimo: that's just the ticket. | ||
Thanks! | |||
ufobat | does anyone have an idea why github.com/zoffixznet/perl6-Temp-P...ath.pm6#L7 the END block sends 'nuke', instead of nuking all himself? | 19:11 | |
jmerelo clicks on the link as if he had any hope of finding an answer to the question | 19:12 | ||
19:13
zacts left,
zacts joined,
p6bannerbot sets mode: +v zacts
|
|||
jmerelo | ufobat: you mean why it has a "when nuke ... .&nuke-path for %goods{ * }:delete:k; $GOODS.close " instead of just doing it on site, right? | 19:14 | |
I mean, right in the END block | 19:15 | ||
ufobat | right, the end block sends this 'nuke' message, and as you can see it in ticket, the channel is closed sometimes | ||
jmerelo | ufobat: I would say that that way it's allowing time for the channel to process any remaining messages. If the "nuke" message is added to the queue, and processed in due time, not inmediately. | ||
ufobat | no clue why the channel is closed, but not using it in the END block would 'fix' it | ||
ah, good point | 19:16 | ||
jmerelo | ufobat: then the "await" waits until that particular message is processed and the channel closed. | ||
19:18
La_Magra joined,
p6bannerbot sets mode: +v La_Magra
|
|||
La_Magra | God job guys | 19:18 | |
ufobat | could the end or the 'nuke' happen multiple times? | 19:19 | |
jmerelo | ufobat: you could send several messages, but the channel will be closed as soon as the first message is processed. | 19:20 | |
La_Magra: hi! And thanks! | |||
ufobat | ahhh | 19:21 | |
i missread the error that is happening :-) | |||
it is line 40 that "causes" the error | 19:22 | ||
19:24
cpup left
19:25
La_Magra left
|
|||
ufobat | but i dont understand the line 40, when is self === $orig, and when is it not? | 19:25 | |
19:29
|oLa| joined
19:30
p6bannerbot sets mode: +v |oLa|
|
|||
jmerelo clicks again trying to know if he understand something | 19:30 | ||
ufobat | you gain a lot of good karma tonight, jmerelo :) | 19:31 | |
jmerelo | ufobat: it's a module, not a class. So, self is dodgy... | ||
ufobat: let me walk through this to see if I understand what it's doing. | 19:32 | ||
ufobat: it's a role that's mixed in $p, which is returned by make-rand-path. | |||
<forget delete>[self === $orig] sends forget if $p is $orig, delete if it's not | 19:33 | ||
ufobat | how could it not be the case, | ||
in line 44, where you do to mixin, dont you "say self is $orig"? | 19:34 | ||
jmerelo | ufobat: hum. | ||
ufobat | the parameter of the role AutoDel is the object itself? so self === $origin (which is the paremter of the role) | 19:35 | |
no? | |||
s/origin/orig/ | |||
jmerelo | yep, it's AutoDel[$p] | ||
ufobat | then, it is always 'forget' and never 'delete'? | 19:36 | |
jmerelo | self is always equal to $orig. So it's always 1 or delete | ||
That's why it's called AutoDel and not AutoDelOrMaybeWhoKnowsDelete | 19:37 | ||
I mean, there's a non-zero likelihood that this is just showing off | |||
ufobat | ah sorry, yeah it is 1, but why is there a forget? | ||
jmerelo | ufobat: assuming it's now just showing off... $p could be changed in the course of things. The role will keep its original value. | 19:39 | |
$p is an IO::Path, and some things like CWD could change... | 19:40 | ||
I mean, IO::Path is not immutable. That's a safety check against any change, I guess. Or if it's already closed or something. | 19:41 | ||
Any change in $p, it's checked against orig, then just forget. | 19:42 | ||
ufobat | but the === is object identity? so when the object itself changes it is still itself, no? | 19:43 | |
you dont check for changed attributes inside of the object or something | |||
and most of the methods (if not all) of IO::Path return a new object | 19:44 | ||
jmerelo | ufobat: um | ||
19:44
sno joined
19:45
p6bannerbot sets mode: +v sno
|
|||
jmerelo | m: class A { has $.þ =33}; my $a = A.new; my $orig = $a; $a.þ = 44; say $orig === $a | 19:46 | |
camelia | Cannot modify an immutable Int (33) in block <unit> at <tmp> line 1 |
||
jmerelo | m: class A { has $.þ is rw =33}; my $a = A.new; my $orig = $a; $a.þ = 44; say $orig === $a | ||
camelia | True | ||
jmerelo | ufobat: right... | ||
19:47
cpup joined
|
|||
jmerelo | ufobat: it's using sigilless variables, so there's no way to change that... | 19:47 | |
19:48
p6bannerbot sets mode: +v cpup
|
|||
jmerelo | ufobat: the problem is the Travis fail error, right? It's failing somewhere and no idea why... | 19:49 | |
ufobat | not only :-( | 19:50 | |
i think the travis failing is because the sub DESTROY gets called afer the 'nuke' happend, so it tries to send something though the channel, maybe DESTROY was called beause of the nuke | |||
that's at least what i am assuming | |||
i realized that i have some tempfiles that dont get cleaned up, i dont know why/when this is happening but since i dont understand the forget it might a but somewhere in the code that i dont understand | 19:51 | ||
bug | |||
jmerelo | ufobat: Where is finish_code_object? | 19:52 | |
cpan-p6 | New module released to CPAN! Sys-Lastlog (0.0.10) by 03JSTOWE | ||
19:54
kurahaupo_ joined
19:55
p6bannerbot sets mode: +v kurahaupo_
|
|||
jmerelo | ufobat: none of the tests is failing for me locally | 19:56 | |
ufobat | finish_code_object? | ||
19:57
kurahaupo left
|
|||
jmerelo | It's the travis error: travis-ci.org/zoffixznet/perl6-Temp-Path | 19:57 | |
ufobat | jmerelo, did you run the tests on xt? | ||
jmerelo | ufobat: yep. There's nothing in t/ | ||
19:57
xinming joined
|
|||
ufobat | ah i havent seen this error :D | 19:58 | |
jmerelo | ufobat: I wouldn't worry about that unless you can reproduce it locally. | ||
ufobat: looks like a zef error. | |||
19:58
p6bannerbot sets mode: +v xinming
|
|||
ufobat | i can reproduce github.com/zoffixznet/perl6-Temp-Path/issues/4 | 19:58 | |
20:00
xinming_ left
|
|||
jmerelo | ufobat: that's line 39 or destroy, that's correct. | 20:01 | |
so there might be some variables still living when that DESTROY is called | 20:02 | ||
ufobat: really no idea. I would try and print all messages that are sent, and also when DESTROY is called. | 20:06 | ||
ufobat | i'll try to golf it, because it's not happening when i just create a tempfile | 20:07 | |
jup, thank you jmerelo++ | |||
20:07
cpup left
|
|||
jmerelo | ufobat: thanks to you. I've learned a lot :-) | 20:07 | |
Geth | doc: 8d9f331402 | cfa++ | doc/404.pod6 Remove trailing whitespace. |
20:09 | |
20:11
jmerelo left
20:15
domidumont left
20:17
yqt left
20:25
andrzejku left,
zacts left,
cpup joined
20:26
p6bannerbot sets mode: +v cpup
20:29
kurahaupo_ left
20:30
kurahaupo joined,
p6bannerbot sets mode: +v kurahaupo
20:34
zacts joined,
p6bannerbot sets mode: +v zacts
20:38
kensanata joined,
p6bannerbot sets mode: +v kensanata
20:54
kurahaupo left,
kurahaupo joined
20:55
p6bannerbot sets mode: +v kurahaupo,
kurahaupo left
20:56
atweiden-air joined
20:57
p6bannerbot sets mode: +v atweiden-air
20:58
kurahaupo joined,
p6bannerbot sets mode: +v kurahaupo
20:59
molaf joined
21:00
p6bannerbot sets mode: +v molaf
21:01
mowcat joined
21:02
p6bannerbot sets mode: +v mowcat
21:03
zacts left,
zacts joined,
p6bannerbot sets mode: +v zacts,
kurahaupo_ joined,
kurahaupo left
21:04
kurahaupo_ left,
kurahaupo joined
21:05
p6bannerbot sets mode: +v kurahaupo
|
|||
ufobat | how do i disaple spech and jit and all the magic? | 21:05 | |
I've got something thats just happening when I change the sourcecode and start the program for the very first time, | 21:06 | ||
MasterDuke | ufobat: MVM_JIT_DISABLE=1 and MVM_SPESH_DISABLE=1 env variables | 21:08 | |
ufobat | ty! | ||
MasterDuke | np | ||
sena_kun | ufobat, also you can try to add `no precompilation;` pragma added in the file in question to see if it helps to make the thing persistent. | ||
ufobat | ah :) | ||
sena_kun | s/added// | ||
I don't know if JIT/spesh may be guilty, but "something that happens only once after sources change" sounds to me like some BEGIN block, sub EXPORT and such folks. :) | 21:09 | ||
ufobat | do I need to write "no precompilation; in the module or is it sufficient to write it in the oneliner right after the -e ' | 21:10 | |
21:10
ravenousmoose left
|
|||
sena_kun | hmmm, does it happen when you run a oneliner with -e and there are no modules `use`d? | 21:11 | |
ufobat | in the modujle. | ||
sena_kun | then it is not precomp, I think. | ||
then in the module file. | |||
ufobat | I am using a module | ||
awesome, now i can reproduce it :) | |||
sena_kun | \o/ | ||
ufobat++ | |||
cpan-p6 | New module released to CPAN! Sys-Utmp (0.0.12) by 03JSTOWE | 21:12 | |
21:22
dogbert17 joined
21:23
p6bannerbot sets mode: +v dogbert17
21:36
|oLa| left
|
|||
ufobat | fixed one bug :-) | 21:45 | |
still dont understand 2nd bug :-( | |||
ah! | 21:48 | ||
21:50
zakharyas left,
kensanata left
21:53
jme` left
22:07
jme` joined
22:08
p6bannerbot sets mode: +v jme`
22:14
wi15ht joined,
p6bannerbot sets mode: +v wi15ht
22:17
w17t left
|
|||
Xliff | \o | 22:23 | |
22:37
Guest18 joined,
p6bannerbot sets mode: +v Guest18
22:44
kurahaupo left
22:47
kurahaupo joined,
p6bannerbot sets mode: +v kurahaupo
22:49
zacts left
22:57
kurahaupo left,
kurahaupo joined
22:58
p6bannerbot sets mode: +v kurahaupo
23:08
lucasb left
23:09
kurahaupo left
23:10
kurahaupo joined
23:11
p6bannerbot sets mode: +v kurahaupo
23:16
Cabanoss- left
23:17
Cabanossi joined,
Possum left
23:18
p6bannerbot sets mode: +v Cabanossi
|
|||
atweiden-air | what's the best way to randomly sort an array of strings? | 23:18 | |
sena_kun | m: my @a = 'qwer', 'rewq', 'weqr'; say @a.pick(*); say @a.pick(*); | 23:19 | |
camelia | (rewq qwer weqr) (qwer weqr rewq) |
||
atweiden-air | *randomize the order of elems | ||
23:19
Possum joined
|
|||
sena_kun | likely this one. | 23:19 | |
atweiden-air | nice | ||
23:20
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
p6bannerbot sets mode: +v aborazmeh,
p6bannerbot sets mode: +v Possum
|
|||
sena_kun | .pick method takes out a random element, with an int argument you can choose how many items you want, and *(whatever) gives you all items in this case. | 23:20 | |
yoleaux | with an int argument you can choose how many items you want | ||
23:21
p6bannerbot sets mode: +v aborazmeh
|
|||
sena_kun | .pick Exercises In Futility | 23:21 | |
yoleaux | sena_kun: You must provide at least two options. | ||
sena_kun | .pick Exercises In Futility, With Hearts Toward None | ||
yoleaux | With Hearts Toward None | ||
sena_kun | hehe | 23:22 | |
23:37
aborazmeh left,
pecastro left,
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
p6bannerbot sets mode: +v aborazmeh
23:38
p6bannerbot sets mode: +v aborazmeh
23:50
w_richard_w joined
23:51
p6bannerbot sets mode: +v w_richard_w,
kotrcka joined
23:52
p6bannerbot sets mode: +v kotrcka,
kotrcka left
|