»ö« 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.
lucs Yep 00:00
00:01 vrurg joined 00:02 ChoHag joined, p6bannerbot sets mode: +v vrurg, Ven`` joined, p6bannerbot sets mode: +v ChoHag 00:03 p6bannerbot sets mode: +v Ven``
zachk whats a good perl6 editor, vim seems really slow out of the box 00:03
sena_kun emacs has perl6-mode. :P also, there is Atom, Comma(in beta though) and others. You can find a list at github.com/perl6/user-experience/i...-311005718 00:05
at least I see also Sublime Text, Neovim|Spacemacs too. 00:07
tobs zachk: if you want to stay with vim, be sure to check out the vim-perl6 listed in sena_kun's link. That's sufficiently faster (for me) than what came with vim.
00:33 scovit left, scovit joined 00:34 p6bannerbot sets mode: +v scovit
zachk i am getting {a => 「1」, b => 「2」, c => 「3」} in my output from regex matches, i am guessing those funny symbols are supposed to be quotes, is there an option i can pass to perl6 to just use regular quotes for output? 00:34
00:40 scovit left 00:55 zachk left 01:03 sena_kun left, sftp left 01:31 kiwi_60 joined, p6bannerbot sets mode: +v kiwi_60 01:32 kiwi_60 left 01:40 rindolf left 02:25 Cabanoss- left
timotimo those are japanese-style corner brackets 02:50
02:55 SqrtNegInf left 02:57 molaf left 03:10 molaf joined, p6bannerbot sets mode: +v molaf 03:32 leont left 03:44 SqrtNegInf joined, p6bannerbot sets mode: +v SqrtNegInf 04:03 scovit joined 04:04 p6bannerbot sets mode: +v scovit 04:08 kurahaupo_ joined 04:09 p6bannerbot sets mode: +v kurahaupo_, kurahaupo left 04:16 daotoad1 left 04:44 daotoad joined 04:45 p6bannerbot sets mode: +v daotoad
buggable New CPAN upload: DOM-Tiny-0.5.2.tar.gz by HANENKAMP modules.perl6.org/dist/DOM::Tiny:cpan:HANENKAMP 05:06
05:07 reach_satori left 05:21 kurahaupo_ left 05:25 reach_satori joined 05:26 p6bannerbot sets mode: +v reach_satori
pony m: my $s = '; ls'; run qqw<echo $s> 05:28
camelia ; ls
05:28 kurahaupo joined 05:29 p6bannerbot sets mode: +v kurahaupo 05:40 kurahaupo_ joined, p6bannerbot sets mode: +v kurahaupo_ 05:41 kurahaupo left
squashable6 🍕 bugfood++ edited issue “duplicate stat() system calls on file tests”: github.com/rakudo/rakudo/issues/2584 05:49
🍕 bugfood++ wrote a comment on “duplicate stat() system calls on file tests”: github.com/rakudo/rakudo/issues/25...-451717713 05:55
05:56 m0ltar joined 05:57 p6bannerbot sets mode: +v m0ltar
Xliff_ .tell zachk Atom also has plugins for Perl6 syntax highlighting. I find Atom + perl6-le + sublime column sorting + line sort makes for a great Perl6 editor 06:26
yoleaux Xliff_: I'll pass your message to zachk.
06:26 kurahaupo_ left 06:27 kurahaupo joined
Xliff_ timotimo: If you are around, can you tell me the best strategy for debugging perl6 nativecall errors where its reporting "return type not CPointer representation" 06:27
06:27 p6bannerbot sets mode: +v kurahaupo
Xliff_ timotimo: Especially when it comes to function pointers. 06:28
06:40 w17t joined, p6bannerbot sets mode: +v w17t
Kaiepi m: my Int $a = 1; use MONKEY-SEE-NO-EVAL; try EVAL say $a 06:50
camelia 1
Kaiepi m: sub foo(Int $a) { use MONKEY-SEE-NO-EVAL; try EVAL say $a; }; foo 1 06:51
camelia 1
Kaiepi m: class Foo { method eval(Int $a) { use MONKEY-SEE-NO-EVAL; try EVAL say $a; } }; Foo.new.eval: 1
camelia 1 06:52
Kaiepi hm
Calling say(Str) will never work with declared signature (Str $target, PSBot::User $user, PSBot::Room $room, PSBot::StateManager $state, PSBot::Connection $connection --> Str) 07:03
what?
it's complaining about the lines with say in pastebin.com/rjzgRuEc but i have no idea why this error is happening 07:05
oh wait
never mind, i had another sub called say in the same file
AlexDaniel squashable6: status 07:27
squashable6 AlexDaniel, 🍕🍕 SQUASHathon is in progress! The end of the event in ≈4 hours. See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
AlexDaniel, Log and stats: gist.github.com/44cd5523f8d8711b74...d8ec158bb3
07:40 evalable6 left 07:44 evalable6 joined 07:45 p6bannerbot sets mode: +v evalable6
squashable6 🍕 AlexDaniel++ wrote a comment on “Hash.pick is very slow on big hashes.”: github.com/rakudo/rakudo/issues/25...-451722971 07:57
08:17 daotoad left 08:20 vrurg left 08:24 w17t left 08:54 molaf left 08:58 rindolf joined 08:59 p6bannerbot sets mode: +v rindolf
buggable New CPAN upload: File-Metadata-Libextractor-0.0.1.tar.gz by FRITH cpan.metacpan.org/authors/id/F/FR/...0.1.tar.gz 09:06
09:08 scovit left 09:17 kurahaupo left 09:21 sftp joined, p6bannerbot sets mode: +v sftp
Kaiepi m: m:i/a/ 09:26
camelia Use of uninitialized value of type Any in string context.
Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.
in block <unit> at <tmp> line 1
09:26 scovit joined
Kaiepi what am i doing wrong here? 09:26
09:27 p6bannerbot sets mode: +v scovit
Kaiepi m: $_ = 'a'; m:i/a/ 09:34
camelia ( no output )
Kaiepi oh
09:41 ChoHag left
buggable New CPAN upload: App-Mi6-0.2.5.tar.gz by SKAJI modules.perl6.org/dist/App::Mi6:cpan:SKAJI 09:56
AlexDaniel squashable6: status 10:03
squashable6 AlexDaniel, 🍕🍕 SQUASHathon is in progress! The end of the event in ≈1 hour. See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
AlexDaniel, Log and stats: gist.github.com/8ae53e9af86daad2b4...8a2a348bb4
scovit Hello, can anybody help me to debug "MoarVM panic: Internal error: Unwound entire stack and missed handler", it happens quite often when using NativeCall and normally it is due to a stupid mistake on my side. But now I have no clue.. 10:07
how do you get a backtrace? 10:12
AlexDaniel timotimo: ↑
Geth doc: 1bf6eac67d | (JJ Merelo)++ | doc/Language/operators.pod6
Rephrasing and reflow
10:22
synopsebot Link: doc.perl6.org/language/operators
10:44 w17t joined, p6bannerbot sets mode: +v w17t 10:50 sena_kun joined, p6bannerbot sets mode: +v sena_kun 11:07 Cabanossi joined, p6bannerbot sets mode: +v Cabanossi
squashable6 🍕 lizmat++ wrote a comment on “Hash.pick is very slow on big hashes.”: github.com/rakudo/rakudo/issues/25...-451734009 11:24
🍕 lizmat++ closed issue “Hash.pick is very slow on big hashes.”: github.com/rakudo/rakudo/issues/2586
🍕 AlexDaniel++ wrote a comment on “Hash.pick is very slow on big hashes.”: github.com/rakudo/rakudo/issues/25...-451734546 11:32
🍕 AlexDaniel++ edited wiki page “Ticket updates”: github.com/rakudo/rakudo/wiki/Ticket-updates 11:51
11:55 domidumont joined, p6bannerbot sets mode: +v domidumont
AlexDaniel squashable6: status 12:09
squashable6 AlexDaniel, The date for the next SQUASHathon is not set
AlexDaniel oh
squashable6: log 2019-01-05 12:10
squashable6 AlexDaniel, Log and stats: gist.github.com/9aeaf9d2aba148c0be...5f6e5c463d
12:13 abraxxa joined, p6bannerbot sets mode: +v abraxxa
AlexDaniel .tell jmerelo will you finalize the squashathon? Note that the log has a bunch of unrelated progress, so look carefully 12:13
yoleaux AlexDaniel: I'll pass your message to jmerelo.
12:37 m0ltar left 12:40 m0ltar joined 12:41 p6bannerbot sets mode: +v m0ltar
scovit Is there an alternative way of creating a typed pointer? resp. to my $ptr = nqp::box_i(nqp::unbox_i(nqp::decont(calloc(1, 8))), Pointer[uint64]); 12:48
Pointer[uint64].new does not work 12:49
moritz PSA: the Perl 6 regex/grammar books is fore sale today, USD 9,99: www.apress.com/us/book/9781484232279 12:56
Xliff_ scovit: I've found that typed pointers outside of CStructs are unreliable. 12:57
So I've been using (converted to your case) CArray[uint64]
scovit sometime you need to extract some data from a pointer, then the only reliable solution I found is using a specifically created CArray and a memcpy 13:00
but this is not really an issue
the real issue is when the error does not show up and instead you randomly get Internal error
Unwound entire stack and missed handler 13:01
13:02 kurahaupo joined 13:03 p6bannerbot sets mode: +v kurahaupo 13:06 Ven`` left
scovit Xliff_: what I mean is that in the example above calloc could be anything, and you really need to access the content of a Pointer 13:11
of course you can also use nativecast instead of typed pointer 13:12
but then one wonders what is the use of them
and to gain write access you are left with only memcpy
13:12 caa51h joined
scovit since you can do it with memcpy, one wonders why you cannot do it with nativecast? 13:13
13:13 p6bannerbot sets mode: +v caa51h 13:16 patrickb joined 13:17 pmurias joined, p6bannerbot sets mode: +v pmurias, p6bannerbot sets mode: +v patrickb
pmurias blogs.perl.org/users/pawel_murias/2...tests.html - rakudo.js update 13:17
13:18 pmurias left
lizmat weekly: blogs.perl.org/users/pawel_murias/2...tests.html 13:20
notable6 lizmat, Noted!
13:39 mowcat joined, p6bannerbot sets mode: +v mowcat
Xliff_ scovit: Ah! Those old gems. "Unwound entire stack and missed handler" can be caused by a lot of things. 13:45
Things I've found that trigger it: 1) Mismatched sizes between C and NativeCall object sizes 13:46
2) C-based exceptions (including perl exceptions inside C callbacks)
scovit: So I really do feel your pain. 13:47
For #2, sometimes the best thing is to hold the exception and rethrow it when you are fully back into Perl.
sena_kun if I have a class A::B in file Foo.pm6, I can re-export it using sub EXPORT into e.g. `ShortB` to use from file Bar.pm6, but I it seems that cannot export `Foo::Bar`, i.e. any multipart name gives me `Could not find symbol '&Bar'`. Is there a way to still do it? 13:49
I still can change a symbol's name with e.g. `class Foo::Bar is A::B`, but it doesn't work with e.g. enums and creates additional overhead(which should be fairly small tbh, but still). 13:52
13:56 ChoHag joined 13:57 p6bannerbot sets mode: +v ChoHag 14:01 [particle] left
scovit Xliff_ now I am exacly fighting with a problem in C callbacks.. 14:03
but it dies before the callback is even called, but while it is called 14:04
I was thinking about parameter mangling problems pheraps 14:05
14:05 [particle] joined 14:06 p6bannerbot sets mode: +v [particle]
scovit can callbacks take as arguments user classes is repr('CPointer'), same as Pointer definition, or is it all handled by pattern matching on the names of the classes? 14:11
14:12 molaf joined 14:13 p6bannerbot sets mode: +v molaf, scovit_ joined 14:14 p6bannerbot sets mode: +v scovit_ 14:16 scovit left
Xliff_ scovit: Yes, you can class A is repr('CPointer') { method($arg1, $arg2) is native('lib') { * } ... }; 14:17
if the method above takes the A * equivalent, then it will work just fine. 14:19
s/A * equivalent/A * equivalent as $arg0/
14:21 scovit_ left 14:22 lucasb joined, p6bannerbot sets mode: +v lucasb 14:27 Praise left 14:29 leont joined 14:30 p6bannerbot sets mode: +v leont 14:33 scovit joined
scovit Xliff_ it is strange because what you propose is exacly what I did 14:33
and then i get the error, I will try to golf 14:34
not even able to golf :( 14:55
what is wrong in this: use NativeCall; sub qsort(Buf $base, size_t $nel, size_t $width, &compar (Pointer, Pointer --> Pointer)) is native { * }; my $data = Buf[uint64].new(1..10, |(1..5)); say $data; qsort $data, 15, 8, -> (Pointer $a, Pointer $b --> Pointer) { Pointer.new(1) };
??
buggable New CPAN upload: XML-Archive-0.3.0.tar.gz by MARTIMM cpan.metacpan.org/authors/id/M/MA/...3.0.tar.gz 14:56
14:56 leont left
scovit m: use NativeCall; sub qsort(Buf $base, size_t $nel, size_t $width, &compar (Pointer, Pointer --> Pointer)) is native { * }; my $data = Buf[uint64].new(1..10, |(1..5)); say $data; qsort $data, 15, 8, -> (Pointer $a, Pointer $b --> Pointer) { Pointer.new(1) }; 14:57
camelia Buf[uint64]:0x<01 02 03 04 05 06 07 08 09 0A 01 02 03 04 05>
MoarVM panic: Internal error: Unwound entire stack and missed handler
scovit m: use NativeCall; sub qsort(Buf $base, size_t $nel, size_t $width, &compar (Pointer, Pointer --> Pointer)) is native { * }; my $data = Buf[uint64].new(1..10, |(1..5)); say $data; qsort $data, 15, 8, -> (Pointer $a, Pointer $b --> Pointer) { return Pointer.new(1) }; 15:00
camelia Buf[uint64]:0x<01 02 03 04 05 06 07 08 09 0A 01 02 03 04 05>
MoarVM panic: Internal error: Unwound entire stack and missed handler
scovit m: use NativeCall; sub qsort(Buf $base, size_t $nel, size_t $width, &compar (Pointer, Pointer --> Pointer)) is native { * }; my $data = Buf[uint64].new(1..10, |(1..5)); qsort $data, 15, 8, -> (Pointer $a, Pointer $b --> Pointer) { say "Not even here" };
camelia MoarVM panic: Internal error: Unwound entire stack and missed handler
scovit m: use NativeCall; sub qsort(Buf $base, size_t $nel, size_t $width, Pointer) is native { * }; my $data = Buf[uint64].new(1..10, |(1..5)); qsort $data, 15, 8, Pointer.new(0); # <--- This is much more easy to debug!!! 15:02
camelia (signal SEGV)
buggable New CPAN upload: gtk-glade-0.3.0.tar.gz by MARTIMM cpan.metacpan.org/authors/id/M/MA/...3.0.tar.gz 15:06
15:07 qzix left 15:11 leont joined 15:12 p6bannerbot sets mode: +v leont 15:19 Ven`` joined 15:20 p6bannerbot sets mode: +v Ven``
scovit m: my @initial = (1..15).List.pick(15); use NativeCall; sub malloc(size_t --> Pointer) is native { * }; sub memcpy_A(Buf, Pointer, size_t) is native is symbol("memcpy") { }; sub memcpy_B(Pointer, Buf, size_t) is native is symbol("memcpy") { }; sub qsort(Pointer, size_t, size_t, &compar (Pointer[uint8], Pointer[uint8] --> int32)) is native { * }; my $data = Buf[uint8].new(@initial); my $ptr = malloc(15); 15:47
camelia ( no output )
scovit memcpy_B($ptr, $data, 15); say [$ptr, $data]; sub malafemmena(Pointer[uint8] $first, Pointer[uint8] $second --> int32) { $first.deref - $second.deref }; qsort $ptr, 15, 1, &malafemmena; memcpy_A($data, $ptr, 15); say [$ptr, $data]; # this works
Voldenet scovit: qsort has different signature 15:48
not: &compar (Pointer, Pointer --> Pointer) 15:49
it's &compar (Pointer, Pointer --> int32)
scovit Voldenet guess what: qsort is a C function and Pointer and int32 both fit in rax register 15:50
nonsense 15:51
applying Perl6 semantics to C
please let me play a bit more 15:52
m: gist.github.com/scovit/7b529556e2c...af6da8b056 15:54
camelia [NativeCall::Types::Pointer<0x4683460> Buf[uint8]:0x<0E 07 0F 0A 03 0B 09 06 0C 05 01 04 0D 08 02>]
[NativeCall::Types::Pointer<0x4683460> Buf[uint8]:0x<01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F>]
15:58 Ven`` left
scovit m: gist.github.com/scovit/7b529556e2c...af6da8b056 16:01
camelia [NativeCall::Types::Pointer<0x41756c0> Buf[uint8]:0x<0A 07 04 08 05 0C 03 01 0E 09 0F 0D 02 06 0B>]
[NativeCall::Types::Pointer<0x41756c0> Buf[uint8]:0x<01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F>]
scovit this still work, Voldenet, see :)
Voldenet Pointers can be of any size, I wouldn't assume any specific size 16:05
scovit good advice, but I am trying to golf my problem 16:08
m: gist.github.com/scovit/7b529556e2c...af6da8b056
camelia [NativeCall::Types::Pointer<0x46e74e0> Buf[uint8]:0x<01 07 0B 05 0A 06 09 03 08 02 0E 0D 0C 0F 04>]
MoarVM panic: Internal error: Unwound entire stack and missed handler
scovit this is the first issue I face, note how the code is functionally the same as the previous revision 16:09
Voldenet you can just use CArray instead ix.io/1xEo
scovit but I am really not trying to workaround 16:10
imagine that inside a bigger interface that does want to be defined in a certain way that corresponds to what I have in my mind 16:11
and that, but apart, is supposed to work in the Perl 6 language 16:12
s/but apart/bugs apart/
a part from this phylosophical discussion 16:13
m: ix.io/1xEo
camelia 5===SORRY!5=== Error while compiling <tmp>
Confused
at <tmp>:1
------> 3http:7⏏5//ix.io/1xEo
expecting any of:
colon pair
scovit substituting -> by sub make it work, which is wierd 16:14
m: gist.github.com/scovit/7b529556e2c...af6da8b056 16:15
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '@initial' is not declared
at <tmp>:8
------> 3my $data = Buf[uint8].new(7⏏5@initial);
scovit m: gist.github.com/scovit/7b529556e2c...af6da8b056 16:16
camelia [NativeCall::Types::Pointer<0x46cb500> Buf[uint8]:0x<0E 08 09 01 04 0A 0C 0B 03 07 0D 05 0F 06 02>]
[NativeCall::Types::Pointer<0x46cb500> Buf[uint8]:0x<01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F>]
Voldenet in fact, this works 16:17
ix.io/1xEs
it's nice because it uses the original signature 16:18
but all those "nativecast"s are quite verbose
scovit Ok found out why
Voldenet, yes, that is supposed to work 16:19
and does 16:20
timotimo you know, a slang for less verbose nativecast could probably be made 16:23
16:30 andrzejku joined 16:31 p6bannerbot sets mode: +v andrzejku
Voldenet I bet using `qsort nativecast(Pointer, $data), $data.elems, nativesizeof($data.of), sub (Pointer $first, Pointer $second --> int32) { nativecast(Pointer[$data.of], $first).deref - nativecast(Pointer[$data.of], $second).deref };` would be even more elegant 16:34
however, I'm not very sure about its performance
timotimo m: *1234
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3*7⏏051234
expecting any of:
infix
infix stopper
statement end
statement modifier
statement modifi…
timotimo m: sub prefix:<*>($value) { say "nativecasting $value" }; say *1234 16:35
camelia nativecasting 1234
True
timotimo m: &123
camelia ( no output )
timotimo ah, sigil for subs
16:39 Sgeo_ joined 16:40 p6bannerbot sets mode: +v Sgeo_ 16:41 Sgeo joined, p6bannerbot sets mode: +v Sgeo 16:42 Sgeo__ left 16:43 Sgeo_ left
cfa 👋 16:44
16:44 Sgeo_ joined 16:45 p6bannerbot sets mode: +v Sgeo_ 16:47 Sgeo left 16:55 MilkmanDan left 17:01 MilkmanDan joined, p6bannerbot sets mode: +v MilkmanDan 17:05 domidumont left
buggable New CPAN upload: Xml-Archive-0.3.1.tar.gz by MARTIMM cpan.metacpan.org/authors/id/M/MA/...3.1.tar.gz 17:06
17:09 andrzejku left 17:18 Zoffix joined, p6bannerbot sets mode: +v Zoffix, jmerelo joined 17:19 p6bannerbot sets mode: +v jmerelo
Zoffix .tell AlexDaniel if you want to run the bots, huggable's db is at temp.perl6.party/factoids.db sources at github.com/zoffixznet/huggable github.com/zoffixznet/perl6-buggable 17:19
yoleaux Zoffix: I'll pass your message to AlexDaniel.
Zoffix .tell moritz please remove my keys from all Perl 6 infrastructure and remove me from documents in github.com/perl6/infrastructure-doc 17:20
yoleaux Zoffix: I'll pass your message to moritz.
jmerelo Zoffix: welcome back.
yoleaux 12:13Z <AlexDaniel> jmerelo: will you finalize the squashathon? Note that the log has a bunch of unrelated progress, so look carefully
moritz Zoffix: will do :(
yoleaux 17:20Z <Zoffix> moritz: please remove my keys from all Perl 6 infrastructure and remove me from documents in github.com/perl6/infrastructure-doc
jmerelo .tell AlexDaniel I just came back from a holiday trip... 17:21
yoleaux jmerelo: I'll pass your message to AlexDaniel.
Geth infrastructure-doc: 6ae8734379 | (Moritz Lenz)++ | 2 files
Remove Zoffix

by own request
17:22
17:22 andrzejku joined
moritz Zoffix: should I also delete your account on hack.p6c.org? 17:23
jmerelo squashathon: status
17:23 p6bannerbot sets mode: +v andrzejku
jmerelo squashable: status 17:23
squashable6 jmerelo, Next SQUASHathon in 25 days and ≈16 hours (2019-02-02 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
Zoffix moritz: yes 17:26
Geth ecosystem: 9672c0cb49 | (Zoffix Znet)++ (committed using GitHub Web editor) | META.list
Transfer WWW/IO::Path::ChildSecure to perl6-community-modules
17:27
moritz done 17:29
17:30 Ven`` joined 17:31 p6bannerbot sets mode: +v Ven``
Zoffix eco: author:zoffix 17:33
buggable Zoffix, Found 44 results: Acme::Anguish, IRC::Client, WWW, CoreHackers::Sourcery, Twitter. See modules.perl6.org/s/author%3Azoffix
Zoffix .tell AlexDaniel I gave you push perms to all my modules: modules.perl6.org/s/author%3Azoffix I don't give a shit what you do with them. I have no plans to delete the repos, but I have no plans to preserve them either, so you may wish to transfer them to another org. 17:34
yoleaux Zoffix: I'll pass your message to AlexDaniel.
moritz Zoffix: what happened?
jmerelo moritz: about to ask the same, myself... 17:35
Zoffix .tell AlexDaniel the perl6.party domain won't be renewed (expies April 28th). If anyone wants to host the articles elsewhere, the repo is at github.com/zoffixznet/perl6.party . Same as with modules, I don't have plans to preserve the repo, so you may wish to transfer it. 17:36
yoleaux Zoffix: I'll pass your message to AlexDaniel.
Xliff_ Zoffix: This sounds like an ending. 17:40
FWIW, I hope your next endeavour is -Ofun
Zoffix moritz: the project's direction and management style doesn't match my goals and I'll be happier elsewhere. 17:41
17:41 Zoffix left
Xliff_ Well.... fuck. 17:41
Geth doc: c5cec61573 | cfa++ | 34 files
(Partial) broken link sweep: /type -> /routine.
17:53
17:56 woolfy joined
Ven`` huh 17:56
17:57 p6bannerbot sets mode: +v woolfy
scovit what just happened with Zoffix is exactly the reason why the Internet is not a place for people like me, that are strongly affected by drastic ruptures in human bounds 17:57
well, sadly also real life is often like this
Xliff_ scovit: Can you explain what happened? Was it the "Raku" stuff, or something more involved. 17:58
scovit no idea
Xliff_ Fair nuff. :(
scovit :(
17:59 woolfy left
jmerelo Don't know if the reference about "management style" is sarcastic. People is mostly self-managed here... 18:08
El_Che This is sad to witness 18:10
18:11 lucasb left 18:12 zakharyas joined
jmerelo El_Che: although not totally unexpected... 18:12
18:12 p6bannerbot sets mode: +v zakharyas
El_Che nevertheless 18:13
18:16 Sgeo__ joined, p6bannerbot joined, moon.freenode.net sets mode: +o p6bannerbot, domidumont joined, p6bannerbot sets mode: +v Sgeo__ 18:17 p6bannerbot sets mode: +v domidumont 18:19 Sgeo_ left 18:24 leont left
lizmat Zoffix: for all of the disagreements that we've had, I'm sorry to see you leave the Perl 6 project 18:25
Zoffix: I would like to thank you for all the work that you've done and hope there'll be a time when you at least can appreciate the fruit of your work 18:26
Zoffix: more than you appear to be doing now.
18:26 lizmat left 18:30 lizmat joined, p6bannerbot sets mode: +v lizmat
Geth doc: af50a526c6 | (JJ Merelo)++ | doc/Language/syntax.pod6
Adding colon pairs with numbers, including non-latin
18:36
synopsebot Link: doc.perl6.org/language/syntax
18:39 abraxxa left, abraxxa joined 18:40 p6bannerbot sets mode: +v abraxxa 18:43 Ven` joined, p6bannerbot sets mode: +v Ven` 18:46 abraxxa left 18:47 andrzejku left
Geth doc: f20690005c | cfa++ | 2 files
Fix a couple more broken links.
18:48
18:48 abraxxa joined 18:49 p6bannerbot sets mode: +v abraxxa 18:51 leont joined 18:52 p6bannerbot sets mode: +v leont
AlexDaniel . 18:57
yoleaux 17:19Z <Zoffix> AlexDaniel: if you want to run the bots, huggable's db is at temp.perl6.party/factoids.db sources at github.com/zoffixznet/huggable github.com/zoffixznet/perl6-buggable
17:21Z <jmerelo> AlexDaniel: I just came back from a holiday trip...
17:34Z <Zoffix> AlexDaniel: I gave you push perms to all my modules: modules.perl6.org/s/author%3Azoffix I don't give a shit what you do with them. I have no plans to delete the repos, but I have no plans to preserve them either, so you may wish to transfer them to another org.
17:36Z <Zoffix> AlexDaniel: the perl6.party domain won't be renewed (expies April 28th). If anyone wants to host the articles elsewhere, the repo is at github.com/zoffixznet/perl6.party . Same as with modules, I don't have plans to preserve the repo, so you may wish to transfer it.
AlexDaniel .in 7d get huggable back on its feet
yoleaux AlexDaniel: I'll remind you on 13 Jan 2019 18:57Z
AlexDaniel Zoffix: OK, I'll do my best. Thank you for your work!
wow that's a lot of modules :) 18:58
jmerelo AlexDaniel: what did you want me to do with the squashathon? 19:05
AlexDaniel: need any help, just let me know. 19:06
19:08 vrurg joined, p6bannerbot sets mode: +v vrurg
timotimo sad to see zoffix go, but i hope they'll find lots of happyness in their future endeavours 19:12
and i hope someone can pick up some of the marketing tasks 19:13
19:16 andrzejku joined, p6bannerbot sets mode: +v andrzejku 19:17 jmerelo left
AlexDaniel and, like, everything else… 19:17
timotimo of which there is a lot 19:18
AlexDaniel weekly: Thank you Zoffix 19:21
notable6 AlexDaniel, Noted!
timotimo the v6.d review was really an awe-inspiring effort
AlexDaniel yeah. 19:23
Xliff_: “Raku” itself is irrelevant in this case, I think, but the reaction of the community to the Raku announcement is what played a bigger role IMO 19:28
I looked at some messages on facebook and they were just cancer
really disgusting to read, and I guess especially so for someone who put so much effort into it
El_Che Yeah, we pretty much failed as a community on this one. But the lack of decisions also plays a role. 19:30
I hope Zoffix comes back once he finds his drive back 19:31
19:37 pmurias joined, p6bannerbot sets mode: +v pmurias 19:39 Ven`` left 19:40 Ven` left 19:44 Ven`` joined 19:45 p6bannerbot sets mode: +v Ven``
AlexDaniel .tell jmerelo I guess the winner should be announced? Or something… 19:50
yoleaux AlexDaniel: I'll pass your message to jmerelo.
19:53 molaf left 19:55 domidumont left, Ven`` left
Altreus What's the test for definedness of a variable? 20:04
sena_kun .defined
Altreus danke
sena_kun $foo // 'default-value'
Altreus thought so, but hard to google :)
sena_kun also `with $foo {} else {}`
Altreus, you can use docs site search for such a thing, I think. :) 20:05
leont with is a good example of a small but very welcome feature
Altreus oh I could do with $foo { return stuff } return 1 20:07
that shortens it a lot actually
timotimo if it's $foo that you return, you could probably also ".return with $foo"
Altreus it ain't :) 20:09
timotimo or based on $foo i guess :)
Altreus wait, you can call return on things?
timotimo hum. i never ended up making a module out of my cool tunnel operator
m: sub foo { 5.return; 99 }; say foo
camelia 5
timotimo yes you can
Altreus this language
:D
timotimo though of course since it's a method, the object itself decides what will happen
so if you potentially have to deal with objects that want to do silly or nasty things, just use return %) 20:10
20:13 aindilis left 20:14 aindilis joined 20:15 p6bannerbot sets mode: +v aindilis
robertle how would a .return method on an object look like that does the same as a regular return? 20:18
20:19 andrzejku left
tobs s: "x", "return", \() 20:20
ah, it's gone
Geth doc: cfa++ created pull request #2538:
Add a note about coercion overhead to Any.pick (addresses #2537).
20:24
20:29 zakharyas left 20:34 Praise joined, p6bannerbot sets mode: +v Praise
scovit What about this: Internal error: inconsistent bind result 20:38
20:42 Ven`` joined 20:43 p6bannerbot sets mode: +v Ven``
scovit I am not sure I know how to use the sub EXPORT 20:44
20:44 patrickb left
scovit can export be used to export an imported symbol? 20:47
Xliff_ m: use NativeCall; my $a = CArray[uint16].new; say $a.REPR
camelia CArray
scovit It doesn't immediately complains, but I am not sure it fully works
sena_kun scovit, well, I can do gist.github.com/Altai-man/4d96c65d...2b1f10ad67 20:50
although current issue I am facing is that you cannot export multipart names like `A::B`, only `B`. 20:51
scovit yep 20:56
you can apparently declare a my constant is export for those
at least this is what I am trying to do
20:56 Ven`` left
Xliff_ m: use NativeCall; my $a = CArray[uint16].new; say $a.REPR 20:57
camelia CArray
Xliff_ Ooos! ;)
m: class A is repr('CStruct') { has Str $.s is rw; }; my $a = A.new( s => 'WTF is this immutable' ); 20:59
camelia Cannot assign to an immutable value
in block <unit> at <tmp> line 1
Xliff_ ?!??? 21:00
21:01 Sgeo joined 21:02 p6bannerbot sets mode: +v Sgeo
moritz Xliff_: if think that CStruct doesn't support binding, and so some of the meta model things that usually work don't work with it either 21:02
21:04 Sgeo__ left 21:07 Ven`` joined 21:08 p6bannerbot sets mode: +v Ven``
Xliff_ moritz: ?? 21:09
I don't understand.
How do I know that CStruct doesn't support binding?
21:09 devmikey joined, p6bannerbot sets mode: +v devmikey
Xliff_ m: class A is repr('CStruct') { has Str $.s is rw; }; my $a = A.new; my $a.s := "HALP!" 21:10
camelia 5===SORRY!5===
Cannot use bind operator with this left-hand side
at <tmp>:1
------> 3rw; }; my $a = A.new; my $a.s := "HALP!"7⏏5<EOL>
Other potential difficulties:
Redeclaration of symbol '$a'
at <tmp>:1
------> 3s…
moritz binding needs a layer of indirection to work
which cstruct can't provide
Xliff_ Ah.
This is a long standing problem.
So... 21:11
"use nqp; nqp::bindattr( nqp::decont(self), MiniSvg, '$!path', nqp::unbox_s(~$new) );"
That is really hard to remember.
Geth doc: cf5689bcc6 | cfa++ | doc/Language/numerics.pod6
Fix a couple more broken links.
21:12
synopsebot Link: doc.perl6.org/language/numerics
Xliff_ m: class A is repr('CStruct') { has Str $!s; method s is rw ( Proxy.new: FETCH => -> {$!s}, STORE => -> $, $new { nqp::bindattr( nqp::decont(self), MiniSvg, '$!path', nqp::unbox_s(~$new) );}; my $a = A.new( s => 'WTF is this immutable' ); say $a.s 21:13
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3'CStruct') { has Str $!s; method s is rw7⏏5 ( Proxy.new: FETCH => -> {$!s}, STORE =
Xliff_ m: class A is repr('CStruct') { has Str $!s; method s is rw { Proxy.new: FETCH => -> {$!s}, STORE => -> $, $new { nqp::bindattr( nqp::decont(self), MiniSvg, '$!path', nqp::unbox_s(~$new) ); }; }; my $a = A.new( s => 'WTF is this immutable' ); say $a.s
camelia 5===SORRY!5=== Error while compiling <tmp>
Could not find nqp::decont, did you forget 'use nqp;' ?
at <tmp>:1
------> 3 $new { nqp::bindattr( nqp::decont(self)7⏏5, MiniSvg, '$!path', nqp::unbox_s(~$new)
Xliff_ m: class A is repr('CStruct') { has Str $!s; method s is rw { use nqp; Proxy.new: FETCH => -> {$!s}, STORE => -> $, $new { nqp::bindattr( nqp::decont(self), MiniSvg, '$!path', nqp::unbox_s(~$new) ); }; }; my $a = A.new( s => 'WTF is this immutable' ); say $a.s 21:14
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3s => 'WTF is this immutable' ); say $a.s7⏏5<EOL>
expecting any of:
postfix
statement end
statement modifier
stat…
21:14 Ven`` left
pmurias Xliff_: nqp:: ops aren't supposed to be use in user code 21:14
* used
Xliff_ m: class A is repr('CStruct') { has Str $!s; method s is rw { use nqp; Proxy.new: FETCH => -> {$!s}, STORE => -> $, $new { nqp::bindattr( nqp::decont(self), MiniSvg, '$!path', nqp::unbox_s(~$new) ); }; }; }; my $a = A.new( s => 'WTF is this immutable' ); say $a.s
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
MiniSvg used at line 1
Geth doc: 4a8b1c45df | cfa++ | doc/Language/numerics.pod6
One more broken NaN link.
21:15
synopsebot Link: doc.perl6.org/language/numerics
Xliff_ m: class A is repr('CStruct') { has Str $!s; method s is rw { use nqp; Proxy.new: FETCH => -> {$!s}, STORE => -> $, $new { nqp::bindattr( nqp::decont(self), A, '$!path', nqp::unbox_s(~$new) ); }; }; }; my $a = A.new( s => 'WTF is this immutable' ); say $a.s
camelia Too many positionals passed; expected 0 arguments but got 1
in block <unit> at <tmp> line 1
Xliff_ pmurias: I keep hearing that and my response is that if it doesn't then solve this problem.
Until then, if they fix the problem, they will be used.
pmurias Xliff_: you have made a ticket? 21:17
Xliff_ pmurias: You know, I can golf this now, so maybe I should. 21:18
But I have never been able to golf it before.
m: class A is repr('CStruct') { has Str $!s; method s is rw { use nqp; Proxy.new: FETCH => -> {$!s}, STORE => -> $, $new { nqp::bindattr( nqp::decont(self), A, '$!path', nqp::unbox_s(~$new) ); }; }; }; my $a = A.new; $a.s = 'WTF is this immutable'; $a.s.say 21:19
camelia Can not bind non-existent attribute '$!path'
in block <unit> at <tmp> line 1
Xliff_ m: class A is repr('CStruct') { has Str $!s; method s is rw { use nqp; Proxy.new: FETCH => -> {$!s}, STORE => -> $, $new { nqp::bindattr( nqp::decont(self), A, '$!s', nqp::unbox_s(~$new) ); }; }; }; my $a = A.new; $a.s = 'WTF is this immutable'; $a.s.say
camelia Too many positionals passed; expected 0 arguments but got 1
in block <unit> at <tmp> line 1
Xliff_ m: class A is repr('CStruct') { has Str $!s; method s is rw { use nqp; Proxy.new: FETCH => -> $ {$!s}, STORE => -> $, $new { nqp::bindattr( nqp::decont(self), A, '$!s', nqp::unbox_s(~$new) ); }; }; }; my $a = A.new; $a.s = 'WTF is this immutable'; $a.s.say 21:20
camelia WTF is this immutable
Xliff_ \o/.
.in 5h Bug CStruct/Str binding issue 21:21
yoleaux Xliff_: I'll remind you on 7 Jan 2019 02:21Z
21:22 Ven`` joined
cfa er, sorry for the geth interruptions 21:22
21:22 p6bannerbot sets mode: +v Ven`` 21:25 molaf joined, pmurias left, p6bannerbot sets mode: +v molaf
Geth doc: cbc16fd4ed | cfa++ | doc/Language/glossary.pod6
Fix a couple of glossary links.
21:27
synopsebot Link: doc.perl6.org/language/glossary
cfa okay, i think i'm done with that sweep
21:28 devmikey left 21:33 AlexDaniel left, Sound joined, p6bannerbot sets mode: +v Sound 21:34 andrzejku joined 21:35 p6bannerbot sets mode: +v andrzejku, AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel 21:38 Sound left 21:50 andrzejku left, abraxxa left 22:00 leont left 22:06 vendethiel- joined 22:07 p6bannerbot sets mode: +v vendethiel- 22:34 leont joined, p6bannerbot sets mode: +v leont 22:37 Sgeo_ joined 22:38 p6bannerbot sets mode: +v Sgeo_, loops joined 22:39 p6bannerbot sets mode: +v loops 22:41 Sgeo left 22:52 dct joined, p6bannerbot sets mode: +v dct 23:08 sjn__ joined, sjn left 23:09 sjn__ is now known as sjn, p6bannerbot sets mode: +v sjn 23:16 Sgeo__ joined 23:17 p6bannerbot sets mode: +v Sgeo__ 23:19 Sgeo_ left 23:44 w_richard_w joined, p6bannerbot sets mode: +v w_richard_w