vrurg .tell lizmat github.com/rakudo/rakudo/issues/3450 00:07
tellable6 vrurg, I'll pass your message to lizmat
00:11 titsuki left, titsuki_ joined 00:16 lucasb left
Geth nqp: Kaiepi++ created pull request #597:
[IP6NS Grant] Split bindsock op into separate bindsock and listen ops
00:18
rakudo: Kaiepi++ created pull request #3451:
[IP6NS Grant] Split bindsock op into separate bindsock and listen ops
00:19 Kaeipi is now known as Kaiepi
Kaiepi i have some spare time so i'll take a look and see if i can fix the `will build` issue 00:29
vrurg Kaiepi: I work on it already. Are you sure? 00:30
Kaiepi oh 00:36
nah i'll leave it to you then
00:45 travis-ci joined
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Merge pull request #3449 from vrurg/will-build-typecheck 00:45
travis-ci.org/rakudo/rakudo/builds/643634912 github.com/rakudo/rakudo/compare/5...7811a62b3d
00:45 travis-ci left 00:47 sena_kun left 00:50 Xliff joined
Xliff \o 00:50
What's the best way to parse <menu id="myId"> and <menu id='myId'> in a single regexp>? 00:51
I can get: '<menu id=' $<q>=[ \'\" ] 00:52
But then how do I reuse <q>?
01:01 sena_kun joined
Xliff m: say "<menu id='myId'>" ~~ /'<menu id=' (<q>){}:my $q = $0;<-[$q]>/ 01:13
camelia No such method 'q' for invocant of type 'Match'
in block <unit> at <tmp> line 1
Xliff m: say "<menu id='myId'>" ~~ /'<menu id=' (<[ \'\" ]>){}:my $q = $0;<-[$q]>/ 01:14
camelia 「<menu id='m」
0 => 「'」
Xliff m: say "<menu id='myId'>" ~~ /'<menu id=' (<[ \'\" ]>+){}:my $q = $0;<-[$q]>/
camelia 「<menu id='m」
0 => 「'」
Xliff m: say "<menu id='myId'>" ~~ /'<menu id=' (<[ \'\" ]>){}:my $q = $0;<-[$q]>+/
camelia 「<menu id='myId'>」
0 => 「'」
Xliff
.oO( That's close, but why is it matching the end quotation?!?!? )
01:15
m: say "<menu id='myId'>" ~~ /'<menu id=' (<[ \'\" ]>){}:my $q = $0;(<-[$q]>+)/
camelia 「<menu id='myId'>」
0 => 「'」
1 => 「myId'>」
01:15 epony left
Xliff m: say "<menu id='myId'>" ~~ /'<menu id=' (<[ \'\" ]>){}:my $q = $0;(<-[$q]>+?)/ 01:15
camelia 「<menu id='m」
0 => 「'」
1 => 「m」
Xliff m: say "<menu id='myId'>" ~~ /'<menu id=' (<[ \'\" ]>){}:my $q = $0;(<-[$q]>+)/ 01:16
camelia 「<menu id='myId'>」
0 => 「'」
1 => 「myId'>」
Xliff m: say "<menu id='myId'>" ~~ /'<menu id=' (<[ \'\" ]>){}:my $q = $0;(<-[$0]>+)/
camelia 「<menu id='myId'>」
0 => 「'」
1 => 「myId'>」
01:16 epony joined
Xliff m: say "<menu id='myId'>" ~~ /'<menu id=' (<[ \'\" ]>){}:my $q = $0;.+?<?before $0>/ 01:17
camelia Nil
Xliff m: say "<menu id='myId'>" ~~ /'<menu id=' (<[ \'\" ]>){}:my $q = $0;.+?<?after $0>/
camelia Nil
Xliff m: say "<menu id='myId'>" ~~ /'<menu id=' (<[ \'\" ]>){}:my $q = $0;.+<?after $0>/
camelia Nil
Xliff m: say "<menu id='myId'>" ~~ /'<menu id=' (<[ \'\" ]>){}:my $q = $0;.+<?after $q>/
camelia 「<menu id='myId'」
0 => 「'」
Xliff m: say "<menu id='myId'>" ~~ /'<menu id=' (<[ \'\" ]>){}:my $q = $0;.+<?before $q>/
camelia 「<menu id='myId」
0 => 「'」
Xliff m: say "<menu id='myId'>" ~~ /'<menu id=' (<[ \'\" ]>){}:my $q = $0;(.+)<?before $q>/ 01:18
camelia 「<menu id='myId」
0 => 「'」
1 => 「myId」
Xliff \o/
m: say "<menu id='myId'>" ~~ /'<menu id=' (<[ \'\" ]>){}:my $q = $0;(.+)<?before $0>/ 01:26
camelia Nil
Xliff m: say "<menu id='myId'>" ~~ /'<menu id=' (<[ \'\" ]>){}:my $q = $0;(.+)<?before $q>/
camelia 「<menu id='myId」
0 => 「'」
1 => 「myId」
Xliff m: say "<menu id='myId'>" ~~ /'<menu id=' (<[ \'\" ]>){}(.+)<?before $q>/
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$q' is not declared
at <tmp>:1
------> 3'<menu id=' (<[ \'\" ]>){}(.+)<?before 7⏏5$q>/
Xliff m: say "<menu id='myId'>" ~~ /'<menu id=' (<[ \'\" ]>){}(.+)<?before $0>/
camelia Nil
Xliff m: say "<menu id='myId'>" ~~ /'<menu id=' (<[ \'\" ]>){}:my $q = $0;(.+)<?before $q>/ 01:27
camelia 「<menu id='myId」
0 => 「'」
1 => 「myId」
Xliff m: say "<menu id='myId'>" ~~ /'<menu id='\s*(<[ \'\" ]>){}:my $q = $0;(.+)<?before $q>/ 01:32
camelia 「<menu id='myId」
0 => 「'」
1 => 「myId」
vrurg Xliff: regex documentation actually has it. There is a way to refer back to a named match, though I don't remember the syntax. 01:52
m: say 'adfga12' ~~ /$<s>=. .+? $<s>/; 01:55
camelia 「adfga」
s => 「a」
vrurg m: say 'adfga12' ~~ /$<s>=. $<quoted>=(.+?) $<s>/;
camelia 「adfga」
s => 「a」
quoted => 「dfg」
vrurg Xliff: ^^^^
Xliff vrurg++ 02:14
02:45 sena_kun left
Xliff Is there any way to know the real destination of a compunit before it gets serialized? 02:49
02:50 evalable6 left, bloatable6 left
Xliff Is there a serious reason for CompUnit::PrecompilationUnit::File.file being private? 02:51
02:51 tellable6 left, unicodable6 left, shareable6 left, benchable6 left, greppable6 left
Xliff core.c/CompUnit/PrecompilationStore/File.pm6 02:51
02:52 nativecallable6 left, notable6 left 03:00 sena_kun joined
Geth rakudo: vrurg++ created pull request #3452:
Fix regression with Attribute::build typecheck
03:09
vrurg Xliff: I think you'd have to ask ugexe about this. Perhaps nine would be helpful too. 03:11
Xliff vrurg: Yeah. I think I've found it. I've already made my best guess mods. Will have to wait until I get some spare time to test, though. 03:18
vrurg Xliff: BTW, how are you plans on visiting Florida? ;) 03:19
Xliff LOL!
It may as well be Moscow! :P
Why do you ask, pray-tell?\ 03:20
Oh! I think I may have found a way to sneak in some Raku into $dayJob.
Will need some nine help to figure out an Inline::Perl5 issue, though. 03:21
vrurg You promised me to share some beer when you come here. It was last August or something like this. :)
Xliff Hahaha!
Yes. I remember.
vrurg So, I'm waiting for my beer! I'm gonna dry out totally soon waiting for you! :D 03:23
Xliff haha! Yea.... sounds about right.
Maybe I will Amazon some to you! :p 03:24
vrurg That wouldn't taste good, for sure. Only personal, hand-to-hand experience! "Old, warm lamp-style" as some say.
Xliff :D 03:40
03:46 unicodable6 joined 03:48 tellable6 joined, notable6 joined, shareable6 joined 04:44 sena_kun left 04:46 benchable6 joined, greppable6 joined 04:47 evalable6 joined 04:48 nativecallable6 joined 04:51 robertle_ joined 04:52 titsuki_ left 04:54 robertle left 05:00 sena_kun joined 05:46 bloatable6 joined 06:45 sena_kun left 07:00 sena_kun joined
lizmat Files=1302, Tests=109825, 210 wallclock secs (28.40 usr 8.02 sys + 2933.06 cusr 259.38 csys = 3228.86 CPU) 07:34
tellable6 2020-01-30T00:07:27Z #raku-dev <vrurg> lizmat github.com/rakudo/rakudo/issues/3450
07:44 Kaiepi left, Kaiepi joined
Geth rakudo/master: 4 commits pushed by (Vadim Belman)++, (Elizabeth Mattijsen)++ 08:17
roast: 8f30f40621 | (Elizabeth Mattijsen)++ | S12-attributes/defaults.t
Add test for GH#3450
08:32
linkable6 GH#3450 [open]: github.com/rakudo/rakudo/issues/3450 [regression] Regression caused by compile typechecking change
08:46 sena_kun left 09:02 sena_kun joined 09:11 AlexDaniel joined, AlexDaniel left, AlexDaniel joined 09:47 domidumont joined
nine Xliff: yes, files are an implementation detail of CompUnit::PrecompilationUnit::File. We may e.g. want to implement a memory cache for precomp units or store them on the network or whatever. So whatever you want to access $!file for may need some addition to CompUnit::PrecompilationUnit's API 10:26
Xliff: what's the Inline::Perl5 issue? 10:27
10:46 sena_kun left 10:59 sena_kun joined 11:11 domidumont left 11:23 Demos[m] left 11:55 epony left 12:08 epony joined
Xliff nine: Running into an error where I call a Perl5 method like thisMethod({ title => 'MyTitle' }) and the internals throw a 'Cannot use title as a HASH ref while "strict refs" is in effect'. 12:34
That same line, when run via Perl5, works just fine. 12:35
12:36 lucasb joined 12:45 sena_kun left 12:56 titsuki_ joined 13:00 sena_kun joined 13:27 domidumont joined
nine Xliff: ${ 13:57
14:46 sena_kun left 14:59 Xliff_ joined, sena_kun joined 15:05 [Coke] left
Geth rakudo: vrurg++ created pull request #3453:
Make attribute defaults typecheck work at run-time too.
15:56
16:09 [Coke] joined, [Coke] left, [Coke] joined 16:35 Kaiepi left 16:37 Kaiepi joined 16:39 domidumont left 16:45 sena_kun left 17:02 sena_kun joined 17:39 Xliff_ left 18:46 sena_kun left, titsuki_ left 18:49 dogbert1 left 18:57 AlexDaniel left 19:02 sena_kun joined 19:22 Kaiepi left 19:27 Kaiepi joined, Kaiepi left 19:28 Kaiepi joined
Xliff Hmmm... my nqp did not pick up the latest MoarVM. How do I fix that? 20:26
20:29 titsuki_ joined 20:45 sena_kun left 20:53 MasterDuke joined
[Tux] Rakudo version 2020.01-50-g589ba38c7 - MoarVM version 2020.01.1-24-g073676116
csv-ip5xs0.705 - 0.728
csv-ip5xs-205.924 - 6.014
csv-parser23.021 - 23.391
csv-test-xs-200.366 - 0.367
test7.604 - 7.668
test-t1.848 - 1.875
test-t --race0.831 - 0.851
test-t-2030.843 - 31.159
test-t-20 --race8.555 - 9.000
20:59
MasterDuke Xliff: did you `git pull --tags`?
21:00 sena_kun joined
Xliff Um. No. 21:12
But I did rm -rf nqp and start over/
MasterDuke that should have done it. do you have nqp build moarvm? 21:13
Xliff Yes. Actually, the rm -rf fixed things. 21:14
m: "/tmp".IO.relative.say 21:18
camelia ../../tmp
Xliff "Error while compiling, type X::Undeclared ..." 21:22
TreyHarris lizmat: my perseverance ran out. First time I've killfiled someone in 22 years...
tellable6 2020-01-30T16:32:40Z #raku <jmerelo> TreyHarris we eliminated it a long time ago. Since we are using a cache now, it didn't make a lot of sense anyway.
Xliff Is that an undeclared symbol exception?
TreyHarris: Ouch! Did something go wrong, somewhere? 21:23
lizmat TreyHarris: sorry to hear that
Xliff: check the perl6-user malinglist archive 21:24
TreyHarris tell .jmerelo The functional question, though--is the build log somewhere or is there any other way to determine what commit is reflected on docs.raku.org? For changes meant to fix indexing only, it's nice to check on the live server
Xliff lizmat: OK.
TreyHarris Xliff: I asked "please show me one example where you're getting lowercase 'int' rather than uppercase 'Int'; if you can't, stop claiming it happens." The reply included that and an example: one that printed 'Int'. 21:25
Either that was "I don't care" or "I'm not reading before replying" or both, but either way, I was done 21:26
lizmat yeah, know the feeling
some people don't have the capacity to be precise
it helps if you're a Windows sysadmin, apparently 21:27
Xliff :(
m: constant DWORD := uint32; subset StrOrDword where Str | DWORD; sub x(StrOrDword $i) { $i.say }; my uint32 $x = 3; x($x); x(3) 21:29
camelia Constraint type check failed in binding to parameter '$i'; expected StrOrDword but got Int (3)
in sub x at <tmp> line 1
in block <unit> at <tmp> line 1
Xliff m: constant DWORD := uint32; subset StrOrDword where Str | DWORD; sub x(StrOrDword $i) { $i.say }; my uint32 $x = 3; x($x);
camelia Constraint type check failed in binding to parameter '$i'; expected StrOrDword but got Int (3)
in sub x at <tmp> line 1
in block <unit> at <tmp> line 1
Xliff m: constant DWORD := uint32; subset StrOrDword where Str | DWORD; sub x(StrOrDword $i) { $i.say }; my uint32 $x = 3;
TreyHarris lizmat: The repetitive (that was the third time to me on that thread!) "quote something that specifies exactly what is desired in an example, then follow that with an example that directly flouts the thing asked for" is just bizzare. It seems to cross the line into trolling.
camelia ( no output )
Xliff m: use NativeCall; constant DWORD := uint32; subset StrOrDword where Str | DWORD; sub x(StrOrDword $i) { $i.say }; my uint32 $x = 3; x($x); x(3) 21:30
camelia Constraint type check failed in binding to parameter '$i'; expected StrOrDword but got Int (3)
in sub x at <tmp> line 1
in block <unit> at <tmp> line 1
Xliff m: use NativeCall; constant DWORD := uint32; subset StrOrDword where Str | DWORD; sub x(StrOrDword $i) { $i.say }; my uint32 $x = 3; x($x);
camelia Constraint type check failed in binding to parameter '$i'; expected StrOrDword but got Int (3)
in sub x at <tmp> line 1
in block <unit> at <tmp> line 1
Xliff m: use NativeCall; constant DWORD := uint32; subset StrOrDword where Str | DWORD; sub x(StrOrDword $i) { $i.say }; my uint32 $x = 3; x("3"); x($x)
camelia 3
Constraint type check failed in binding to parameter '$i'; expected StrOrDword but got Int (3)
in sub x at <tmp> line 1
in block <unit> at <tmp> line 1
lizmat TreyHarris: i've considered T&M being a troll (especially with that name) 21:31
but I don't think that's the case 21:33
it's just somebody with limited abilities trying to make the best of it in a complicated world
well, that's my opinion
TreyHarris I won't deny there's weirdness in native numeric handling--but if you can't keep documented and intended behavior you dislike separate from known and documented unintended behavior separate from actual unusual behavior--if you insist on considering all three equivalent, even when asked to stick to just one at a time--it just isn't helpful 21:34
lizmat I don't see a way to help this person anymore
TreyHarris me neither 21:37
Xliff TreyHarris: Yeah. Not very polite in this thread at all.
lizmat Xliff: or many other threads
TreyHarris I even emailed off-list pointing at things that might have been typos rather than actually provocative non-responses before replying publicly and it didn't help 21:38
lizmat :-(
I wonder in how many other communities T&M have made themselves unwelcome 21:39
Xliff So... and I ask this not wanting to reopen anything. Why doesn't this work?
m: use NativeCall; constant DWORD := uint32; subset StrOrDword where Str | DWORD; sub x(StrOrDword $i) { $i.say }; my uint32 $x = 3; x("3"); x($x)
camelia 3
Constraint type check failed in binding to parameter '$i'; expected StrOrDword but got Int (3)
in sub x at <tmp> line 1
in block <unit> at <tmp> line 1
Xliff m: use NativeCall; constant DWORD := uint32; subset StrOrDword where Str | DWORD; sub x(StrOrDword $i) { $i.say }; my uint32 $x = 3; x("3");
camelia 3
Xliff m: use NativeCall; constant DWORD := uint32; subset StrOrDword where Str | DWORD; sub x(uint32 $i) { $i.say }; my uint32 $x = 3; x("3"); x($x) 21:40
camelia 5===SORRY!5=== Error while compiling <tmp>
Calling x(Str) will never work with declared signature (uint32 $i)
at <tmp>:1
------> 3int32 $i) { $i.say }; my uint32 $x = 3; 7⏏5x("3"); x($x)
Xliff m: use NativeCall; constant DWORD := uint32; subset StrOrDword where Str | DWORD; sub x(uint32 $i) { $i.say }; my uint32 $x = 3; x($x)
camelia 3
TreyHarris when you email "did you mean uppercase 'I' there where you typed lowercase 'i'?" and get back in response a 100-line sample program.... *shrug*
Xliff Ah. subset?
Yeah... looks like a native int used in a subset will break things. 21:42
m: use NativeCall; subset StrOrDword where Str | num64; sub x(uint32 $i) { $i.say }; (1e-1) 21:43
camelia WARNINGS for <tmp>:
Useless use of constant floating-point number 1e-1 in sink context (line 1)
TreyHarris Xliff: yes. But more directly, uint isn't a subset of int. And "the docs need to be fixed to say that UInt is a subset of Int" when the first line of Types/UInt is, "The UInt is defined as a subset of Int:"... I don't know what you do with that
Xliff m: use NativeCall; subset StrOrDword where Str | num64; sub x(uint32 $i) { $i.say }; x(1e-1)
camelia 5===SORRY!5=== Error while compiling <tmp>
Calling x(Num) will never work with declared signature (uint32 $i)
at <tmp>:1
------> 3r | num64; sub x(uint32 $i) { $i.say }; 7⏏5x(1e-1)
Xliff TreyHarris: No. I don't either. And it doesn't help when someone else takes their misunderstanding out on you. 21:44
So... what can you do?
lizmat m: "".match: Nil # feels to me this should not throw 21:45
camelia Cannot resolve caller match(Str:D: Nil:U); none of these signatures match:
(Str: Cool:D $pattern, |c)
(Str: Regex:D $pattern, :continue(:$c)!, *%_)
(Str: Regex:D $pattern, :pos(:$p)!, *%_)
(Str: Regex:D $pattern, :global(:$g)!,…
21:45 lucasb left
lizmat m: "".match: "" # should be like this with a warning, I think 21:45
camelia ( no output )
lizmat m: dd "".match: "" # should be like this with a warning, I think
camelia Match.new(:orig(""), :from(0), :pos(0))
lizmat m: dd "".match: // # should be like this with a warning, I think 21:46
camelia 5===SORRY!5=== Error while compiling <tmp>
Null regex not allowed
at <tmp>:1
------> 3dd "".match: //7⏏5 # should be like this with a warning,
lizmat m: dd "".match: /'""'/ # should be like this with a warning, I think
camelia Nil
lizmat m: my $a = ""; dd "".match: /"$a"/ # should be like this with a warning, I think
camelia Match.new(:orig(""), :from(0), :pos(0))
TreyHarris Well, I did have a couple ideas how language/nativetypes could be expanded to help give people new to *both* Raku and C a chance, but is that really an audience who will be using NativeCall large enough to target? 21:47
lizmat good question 21:48
TreyHarris And Raku _could_ expose a typeid or typeof for natives... but I never heard any reason for the desire aside from a generalized distrust of the language 21:49
Xliff TreyHarris: Actually, if I have my druthers, that answer would be a definitive yes. 21:50
However that audience has yet to materialize. Maybe after I finish tightening my shiznit up and release it.... 21:51
TreyHarris Xliff: why, what would you do with a typeid() in Raku? 21:52
oh, 'yes' to there being an audience. gotcha, nevermind
Xliff Me? I'm comfortable enough without it, however people new to Raku might find it useful. 21:53
You asked about an audience, and I'm hoping to bring some in with my p6-GtkPlus project (and its ilk)
Oh. Heh.
That's what you get for not reading the next line.
<---
TreyHarris you can distinguish signed and unsigned and int and floats, but there's no way to distinguish an int8 from an int32 AFAIK aside from intentionally overflowing and observing the behavior 21:55
Xliff :/
Ooh! A new ST:P 21:56
Yet another baad acronym from the folks that gave us ST:D
lizmat Xliff: it will cost you :-)
Xliff lizmat: Don't I owe you enough, already? 21:57
MasterDuke without knowing any details of the thread(s) you're talking about, i will say that i almost think we should warn on any use of uints right now, they're so broken
Xliff lizmat: We should play poker.... ^_^
lizmat would be a nice GSOC project making them all proper, as well as nibble and bit types 21:58
Xliff Would be an interesting thing to see if bit-length ints could be made to work in CStructs....
TreyHarris There's something odd about natives in the REPL. `my uint8 $x = 127; say $x; say $x.abs;` works fine as one line, but anything after a submitted `my uint` line just can't refer to the variable without barfing `Cannot invoke this object (REPR: P6opaque; NQPMu)` 22:02
MasterDuke heh, now you're just combining two broken parts of rakudo 22:04
TreyHarris heh 22:05
Xliff Yes, but if you combine two bad things, you are sure to get a BAD thing.
It doesn't necessarily work the other way round...
Why is that
TreyHarris Untrue. Sodium and chlorine. ;-) 22:06
Xliff HAH!
lizmat the REPL is a big EVAL hack
Xliff I stand corrected!
Xliff will have another go at removing the .precomp lock this weekend 22:07
TreyHarris I think my teenage self would have taken exception at the idea that an explosive metal and a poisonous gas are "bad things", though, but I was a little wild. ;-) 22:08
22:26 MasterDuke left 22:46 sena_kun left
Xliff I get this using the rakudo build process: "Using /home/cbwood/Projects/rakudo-precomp/install/bin/nqp-m (version 2020.01-6-gfad1aa45f / MoarVM 2020.01.1-24-g073676116)" 22:55
So why does my /perl6-m --version print this: "This is Rakudo version 2019.11-593-g7f2aac798 built on MoarVM version 2020.01.1-24-g073676116"
22:59 sena_kun joined
Xliff ./gen/moar/perl6.nqp:6: $config<version> := '2019.11-593-g7f2aac798' 23:00
23:08 Xliff left 23:31 Xliff joined
Xliff Hmmmm... 23:31
I am having a problem with my rakudo repository. I have a fork from 2016.... 23:32
The version of my perl6-m binary is always wrong.
Any ideas?
Geth rakudo: 21b809745d | (Ben Davies)++ | src/core.c/Parameter.pm6
Actually fix Parameter's handling of default values

It was using default-related flags to determine whether or not a default value exists, but none are set if a default is set to a non-OUTER value that is unknown at compile-time.
23:39
roast: a1b2aab408 | (Ben Davies)++ | S06-signature/introspection.t
Add some tests for Parameter.prefix and Parameter.suffix
23:54