|
Perl 6 language and compiler development 2.0 | Logs at irclog.perlgeek.de/perl6-dev/today | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm Set by moderator on 16 May 2018. |
|||||||||||||||||||||||||||||||||||||||
|
00:10
Kaiepi joined
|
|||||||||||||||||||||||||||||||||||||||
| Zoffix | How would that be differentiated from a string '<null>'? | 00:18 | |||||||||||||||||||||||||||||||||||||
| There's also a PR to address the inconsistency: github.com/MoarVM/MoarVM/pull/767 | 00:19 | ||||||||||||||||||||||||||||||||||||||
| .tell lucasb irclog.perlgeek.de/perl6-dev/2018-...i_16173824 | |||||||||||||||||||||||||||||||||||||||
| yoleaux | Zoffix: I'll pass your message to lucasb. | ||||||||||||||||||||||||||||||||||||||
| AlexDaniel | samcv: “This devolves to O(n️²) time for the hash lookup” | ||||||||||||||||||||||||||||||||||||||
| samcv: the description looks O(n) to me | 00:20 | ||||||||||||||||||||||||||||||||||||||
|
00:31
shareable6 joined
01:58
ilbot3 joined
|
|||||||||||||||||||||||||||||||||||||||
| moderator | Perl 6 language and compiler development 2.0 | Logs at irclog.perlgeek.de/perl6-dev/today | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm | ||||||||||||||||||||||||||||||||||||||
| AlexDaniel | ah, length of strings matters, I see | 02:22 | |||||||||||||||||||||||||||||||||||||
| right | |||||||||||||||||||||||||||||||||||||||
|
02:48
ufobat joined
|
|||||||||||||||||||||||||||||||||||||||
| samcv | i just fixed an issue that would happen if the hash generated for a string is 0. We check if cached_hash_code is 0 and if it's 0 we generate a hash code from the string | 03:23 | |||||||||||||||||||||||||||||||||||||
| so if the string happens to have a hash of 0 then we end up generating a hash from the string every single time. now what it does is if the generated hash code is zero, it adds the string's length to the hash (at the very end) | |||||||||||||||||||||||||||||||||||||||
| we already mixed in the strings length into the hash generation, but it's still possible for the output to be 0 | 03:24 | ||||||||||||||||||||||||||||||||||||||
| (by the end of the hashing function) | |||||||||||||||||||||||||||||||||||||||
| AlexDaniel | what if the string length is 0? | ||||||||||||||||||||||||||||||||||||||
| samcv | then it'll have to generate it every time. but that's pretty unlikely | ||||||||||||||||||||||||||||||||||||||
| and will be very fast | |||||||||||||||||||||||||||||||||||||||
| i could fix that for string of length 0, but then there's a possible overflow | 03:25 | ||||||||||||||||||||||||||||||||||||||
| i'll probably fix that when we move to 64 bit hashes after the release | |||||||||||||||||||||||||||||||||||||||
| also did some preliminary work on getting it so the hash value has its own MVM data type. before cached_hash_code was MVMint32, while in our hashing function we used MVMuint32. while uthash.h used `unsigned` | 03:26 | ||||||||||||||||||||||||||||||||||||||
| which kind of perturbed me. but that's fixed now | 03:27 | ||||||||||||||||||||||||||||||||||||||
| though at least x86 seems to set 32 bit ints for 'unsigned' but it's not guarenteed by C | |||||||||||||||||||||||||||||||||||||||
| skids | hrm that last MoarVM commit gives a gcc error here. | 03:40 | |||||||||||||||||||||||||||||||||||||
| samcv | yep | 03:48 | |||||||||||||||||||||||||||||||||||||
| fixed now | |||||||||||||||||||||||||||||||||||||||
| skids | :-) | ||||||||||||||||||||||||||||||||||||||
| MasterDuke | m: my $a; $a = PseudoStash.new for ^4_747; say $a; say now - INIT now | 03:50 | |||||||||||||||||||||||||||||||||||||
| camelia | PseudoStash.new(($_ => 4746)) 0.016728 |
||||||||||||||||||||||||||||||||||||||
| MasterDuke | m: my $a; $a = PseudoStash.new for ^4_747; say $a; say now - INIT now | ||||||||||||||||||||||||||||||||||||||
| camelia | PseudoStash.new(($_ => 4746)) 0.01873318 |
||||||||||||||||||||||||||||||||||||||
| MasterDuke | m: my $a; $a = PseudoStash.new for ^4_747; say $a; say now - INIT now | ||||||||||||||||||||||||||||||||||||||
| camelia | PseudoStash.new(($_ => 4746)) 0.018344 |
||||||||||||||||||||||||||||||||||||||
| MasterDuke | m: my $a; $a = PseudoStash.new for ^4_747; say $a; say now - INIT now | ||||||||||||||||||||||||||||||||||||||
| camelia | PseudoStash.new(($_ => 4746)) 0.0164851 |
||||||||||||||||||||||||||||||||||||||
| MasterDuke | m: my $a; $a = PseudoStash.new for ^4_747; say $a; say now - INIT now | ||||||||||||||||||||||||||||||||||||||
| camelia | PseudoStash.new(($_ => 4746)) 0.01803696 |
||||||||||||||||||||||||||||||||||||||
| MasterDuke | hm. locally it pegs a core and doesn't finish after 10+m every once in a while | 03:52 | |||||||||||||||||||||||||||||||||||||
| AlexDaniel | c: HEAD,HEAD,HEAD,HEAD,HEAD,HEAD,HEAD,HEAD,HEAD,HEAD,HEAD,HEAD,HEAD,HEAD,HEAD,HEAD my $a; $a = PseudoStash.new for ^4_747; say $a | 03:53 | |||||||||||||||||||||||||||||||||||||
| committable6 | AlexDaniel, gist.github.com/fe38a4ac33c60c1ca3...167f1d9663 | ||||||||||||||||||||||||||||||||||||||
| AlexDaniel | c: b8318b8,b8318b8,b8318b8,b8318b8,b8318b8,b8318b8,b8318b8,b8318b8,b8318b8,b8318b8,b8318b8,b8318b8,b8318b8,b8318b8 my $a; $a = PseudoStash.new for ^4_747; say $a | ||||||||||||||||||||||||||||||||||||||
| MasterDuke | might need a bigger number if camelia is running on a beefier machine than mine | 03:54 | |||||||||||||||||||||||||||||||||||||
| committable6 | AlexDaniel, ¦b8318b8,b8318b8,b8318b8,b8318b8,b8318b8,b8318b8,b8318b8,b8318b8,b8318b8,b8318b8,b8318b8,b8318b8,b8318b8: «PseudoStash.new(($_ => 4746))» ¦b8318b8: ««timed out after 10 seconds» «exit signal = SIGHUP (1)»» | ||||||||||||||||||||||||||||||||||||||
| AlexDaniel | there you have it? | ||||||||||||||||||||||||||||||||||||||
| MasterDuke | ah | ||||||||||||||||||||||||||||||||||||||
| AlexDaniel | is it a regression? | ||||||||||||||||||||||||||||||||||||||
| c: 2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1 my $a; $a = PseudoStash.new for ^4_747; say $a | 03:55 | ||||||||||||||||||||||||||||||||||||||
| committable6 | AlexDaniel, ¦2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1: «PseudoStash.new(($_ => 4746))» | ||||||||||||||||||||||||||||||||||||||
| AlexDaniel | c: 2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1 my $a; $a = PseudoStash.new for ^4_747; say $a | ||||||||||||||||||||||||||||||||||||||
| committable6 | AlexDaniel, ¦2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1: «PseudoStash.new(($_ => 4746))» | ||||||||||||||||||||||||||||||||||||||
| AlexDaniel | c: 2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1 my $a; $a = PseudoStash.new for ^4_747; say $a | ||||||||||||||||||||||||||||||||||||||
| MasterDuke | no idea | ||||||||||||||||||||||||||||||||||||||
| committable6 | AlexDaniel, ¦2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1: «PseudoStash.new(($_ => 4746))» | ||||||||||||||||||||||||||||||||||||||
| AlexDaniel | c: 2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1 my $a; $a = PseudoStash.new for ^4_747; say $a | ||||||||||||||||||||||||||||||||||||||
| committable6 | AlexDaniel, ¦2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1: «PseudoStash.new(($_ => 4746))» | ||||||||||||||||||||||||||||||||||||||
| AlexDaniel | c: 2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1 my $a; $a = PseudoStash.new for ^4_747; say $a | ||||||||||||||||||||||||||||||||||||||
| committable6 | AlexDaniel, ¦2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1: «PseudoStash.new(($_ => 4746))» | ||||||||||||||||||||||||||||||||||||||
| AlexDaniel | c: 2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1 my $a; $a = PseudoStash.new for ^4_747; say $a | ||||||||||||||||||||||||||||||||||||||
| committable6 | AlexDaniel, ¦2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1,2018.04.1: «PseudoStash.new(($_ => 4746))» | ||||||||||||||||||||||||||||||||||||||
| AlexDaniel | I guess it is? | ||||||||||||||||||||||||||||||||||||||
| ah no | 03:56 | ||||||||||||||||||||||||||||||||||||||
| I just managed to repro it on 2018.04.1 on #whateverable | |||||||||||||||||||||||||||||||||||||||
| we were just a bit unlucky on this channel :) | |||||||||||||||||||||||||||||||||||||||
|
03:59
Zoffix left
04:20
squashable6 joined
|
|||||||||||||||||||||||||||||||||||||||
| samcv | AlexDaniel: so are things all ok then? | 04:37 | |||||||||||||||||||||||||||||||||||||
| AlexDaniel | samcv: if mean the bug mentioned above, then it's still a bug, but I guess not a blocker | 04:38 | |||||||||||||||||||||||||||||||||||||
| MasterDuke: btw will you submit a ticket? | |||||||||||||||||||||||||||||||||||||||
| samcv | what is the bug though? or is it just slower than it should be? | 04:39 | |||||||||||||||||||||||||||||||||||||
| AlexDaniel | samcv: btw as for other blockers, R#1832 will be “resolved” for the release by reverting the commit (will do it later today if nobody beats me to it), and I don't know what's up with R#1810 | 04:40 | |||||||||||||||||||||||||||||||||||||
| synopsebot | R#1832 [open]: github.com/rakudo/rakudo/issues/1832 [regression][⚠ blocker ⚠] Regression exposed in Crane and other modules | ||||||||||||||||||||||||||||||||||||||
| R#1810 [open]: github.com/rakudo/rakudo/issues/1810 [regression][⚠ blocker ⚠] Recent regression "ctxlexpad needs an MVMContext" | |||||||||||||||||||||||||||||||||||||||
| AlexDaniel | samcv: I'm not sure, it just hangs | ||||||||||||||||||||||||||||||||||||||
| samcv | oh | ||||||||||||||||||||||||||||||||||||||
| AlexDaniel | sometimes | ||||||||||||||||||||||||||||||||||||||
| I can reproduce it locally fairly easy with a loop | 04:41 | ||||||||||||||||||||||||||||||||||||||
| while perl6 -e 'my $a; $a = PseudoStash.new for ^4_747; say $a'; do :; done | |||||||||||||||||||||||||||||||||||||||
| oh, actually | 04:43 | ||||||||||||||||||||||||||||||||||||||
| c: HEAD my $a; $a = PseudoStash.new for ^9999; say $a | |||||||||||||||||||||||||||||||||||||||
| committable6 | AlexDaniel, ¦HEAD(b8318b8): ««timed out after 10 seconds» «exit signal = SIGHUP (1)»» | 04:44 | |||||||||||||||||||||||||||||||||||||
| AlexDaniel | c: MVM_SPESH_DISABLE=1 HEAD my $a; $a = PseudoStash.new for ^9999; say $a | ||||||||||||||||||||||||||||||||||||||
| committable6 | AlexDaniel, ¦HEAD(b8318b8): «PseudoStash.new(($_ => 9998))» | ||||||||||||||||||||||||||||||||||||||
| AlexDaniel | MasterDuke: ↑ | ||||||||||||||||||||||||||||||||||||||
| oh, I guess this way we can even bisect it? | |||||||||||||||||||||||||||||||||||||||
| c: 2015.12 my $a; $a = PseudoStash.new for ^9999; say $a | |||||||||||||||||||||||||||||||||||||||
| committable6 | AlexDaniel, ¦2015.12: «PseudoStash.new(("\\$_" => 9998))» | ||||||||||||||||||||||||||||||||||||||
| AlexDaniel | bisect: my $a; $a = PseudoStash.new for ^9999; say $a | ||||||||||||||||||||||||||||||||||||||
| bisectable6 | AlexDaniel, Bisecting by exit signal (old=2015.12 new=b8318b8). Old exit signal: 0 (None) | 04:45 | |||||||||||||||||||||||||||||||||||||
| AlexDaniel | will take a lot of time because of timeouts | ||||||||||||||||||||||||||||||||||||||
| bisectable6 | AlexDaniel, bisect log: gist.github.com/e3cb6a0d63e4d77af2...87d75f5ff1 | 04:46 | |||||||||||||||||||||||||||||||||||||
| AlexDaniel, (2017-08-11) github.com/rakudo/rakudo/commit/76...ed2e2fe011 | |||||||||||||||||||||||||||||||||||||||
| AlexDaniel | c: 76af17a8b1d^ my $a; $a = PseudoStash.new for ^99999; say $a | ||||||||||||||||||||||||||||||||||||||
| committable6 | AlexDaniel, ¦76af17a8b1d^: «PseudoStash.new(("\\$_" => 99998))» | ||||||||||||||||||||||||||||||||||||||
| AlexDaniel | c: 76af17a8b1d^ my $a; $a = PseudoStash.new for ^999999; say $a | ||||||||||||||||||||||||||||||||||||||
| committable6 | AlexDaniel, ¦76af17a8b1d^: «PseudoStash.new(("\\$_" => 999998))» | 04:47 | |||||||||||||||||||||||||||||||||||||
| AlexDaniel | yep | ||||||||||||||||||||||||||||||||||||||
| c: 76af17a8b1d my $a; $a = PseudoStash.new for ^9999; say $a | 04:48 | ||||||||||||||||||||||||||||||||||||||
| committable6 | AlexDaniel, ¦76af17a: ««timed out after 10 seconds» «exit signal = SIGHUP (1)»» | ||||||||||||||||||||||||||||||||||||||
| samcv | AlexDaniel: know how to bind IRC::Client to a specific ip? | 04:53 | |||||||||||||||||||||||||||||||||||||
| or to force ipv4? | |||||||||||||||||||||||||||||||||||||||
| AlexDaniel | well, “yes”… | 04:54 | |||||||||||||||||||||||||||||||||||||
| whateverable does this: github.com/perl6/whateverable/blob...e.pm6#L586 | |||||||||||||||||||||||||||||||||||||||
| so if you connect to ipv4 address, then it's ipv4… | |||||||||||||||||||||||||||||||||||||||
| samcv | oh.. | ||||||||||||||||||||||||||||||||||||||
| how does it validate the ssl then? | 04:55 | ||||||||||||||||||||||||||||||||||||||
| if you give it an ip | |||||||||||||||||||||||||||||||||||||||
| AlexDaniel | oh whoops | ||||||||||||||||||||||||||||||||||||||
| btw there's :$family in IO::Socket::INET, not sure about the Async version | 04:56 | ||||||||||||||||||||||||||||||||||||||
| samcv: as for binding to specific IPs, we have these set of PRs to make it possible: github.com/MoarVM/MoarVM/pull/659 | 04:59 | ||||||||||||||||||||||||||||||||||||||
| well, one set of PRs obviously :) | 05:00 | ||||||||||||||||||||||||||||||||||||||
| samcv | ah nice | ||||||||||||||||||||||||||||||||||||||
| AlexDaniel | but again it does not seem to change IO::Socket::Async ? | 05:01 | |||||||||||||||||||||||||||||||||||||
| either way we should work on merging it at some point | |||||||||||||||||||||||||||||||||||||||
|
05:03
|Tux| joined
05:04
Tux__ joined
|
|||||||||||||||||||||||||||||||||||||||
| MasterDuke | github.com/rakudo/rakudo/issues/1835 | 05:11 | |||||||||||||||||||||||||||||||||||||
| AlexDaniel | MasterDuke++ | 05:16 | |||||||||||||||||||||||||||||||||||||
| |Tux| |
|
05:57 | |||||||||||||||||||||||||||||||||||||
| Geth | nqp: d775c09b1b | usev6++ | 5 files [JVM] Implement output buffering for file handles |
06:16 | |||||||||||||||||||||||||||||||||||||
|
06:34
robertle joined
06:55
Ven`` joined
07:01
shareable6 joined
|
|||||||||||||||||||||||||||||||||||||||
| lizmat | Files=1239, Tests=76357, 319 wallclock secs (15.65 usr 5.62 sys + 2205.51 cusr 225.38 csys = 2452.16 CPU) | 07:15 | |||||||||||||||||||||||||||||||||||||
| AlexDaniel`: I did not know that | 07:16 | ||||||||||||||||||||||||||||||||||||||
|
07:17
Ven`` joined
08:20
Ven`` joined
08:31
Ven`` joined
08:50
shareable6 joined
09:29
FROGGS joined
11:03
Ven`` joined
|
|||||||||||||||||||||||||||||||||||||||
| Geth | rakudo: 8ae82a558b | (Elizabeth Mattijsen)++ | 2 files Introduce "use p5isms" pragma When this pragma is activated in a scope, then the errors about using Perl 5 constructs will *not* be thrown. This does *not* do anything else. So "defined" without any parameter will still not check $_: instead it will just complain that calling defined without any parameters will never work. And *that* allows a module to export a "defined" sub that will check $_ when called without any parameters. I realize this is close to the 2018.05 release. If it's too controversial then please remove this before the release. |
11:38 | |||||||||||||||||||||||||||||||||||||
|
11:52
softmoth joined
12:14
ExtraCrispy joined
|
|||||||||||||||||||||||||||||||||||||||
| lizmat | .ask TimToady opinions about github.com/rakudo/rakudo/commit/8ae82a558b ? | 12:22 | |||||||||||||||||||||||||||||||||||||
| yoleaux | lizmat: I'll pass your message to TimToady. | ||||||||||||||||||||||||||||||||||||||
| lizmat | m: use p5isms; say defined | 12:24 | |||||||||||||||||||||||||||||||||||||
| camelia | 5===SORRY!5=== Error while compiling <tmp> Argument to "defined" seems to be malformed at <tmp>:1 ------> 3use p5isms; say defined7⏏5<EOL> |
||||||||||||||||||||||||||||||||||||||
| lizmat | m: use p5isms; say defined; | ||||||||||||||||||||||||||||||||||||||
| camelia | 5===SORRY!5=== Error while compiling <tmp> Calling defined() will never work with signature of the proto (Mu, *%) at <tmp>:1 ------> 3use p5isms; say 7⏏5defined; |
||||||||||||||||||||||||||||||||||||||
| lizmat | m: no p5isms; say defined; | 12:25 | |||||||||||||||||||||||||||||||||||||
|
12:25
Zoffix joined
|
|||||||||||||||||||||||||||||||||||||||
| camelia | 5===SORRY!5=== Error while compiling <tmp> Unsupported use of bare "defined"; in Perl 6 please use .defined if you meant to call it as a method on $_, or use an explicit invocant or argument, or use &defined to refer to the function as a noun … |
12:25 | |||||||||||||||||||||||||||||||||||||
| Zoffix | lizmat: the name of the pragma doesn't quite fit. Some X::Obsolete errors are for languages other than p5 | ||||||||||||||||||||||||||||||||||||||
| m: try 「new class {}:」.EVAL; say $!.^name | |||||||||||||||||||||||||||||||||||||||
| camelia | X::Obsolete | ||||||||||||||||||||||||||||||||||||||
| Zoffix | m: new class {}: | ||||||||||||||||||||||||||||||||||||||
| camelia | 5===SORRY!5=== Error while compiling <tmp> Unsupported use of C++ constructor syntax; in Perl 6 please use method call syntax at <tmp>:1 ------> 3new class 7⏏5{}: |
||||||||||||||||||||||||||||||||||||||
| lizmat | m: use p5isms; new class {}: # ok, that's LTA | 12:27 | |||||||||||||||||||||||||||||||||||||
| camelia | ===SORRY!=== This representation (P6int) does not support attribute storage (for type BOOTInt) |
||||||||||||||||||||||||||||||||||||||
| lizmat | Zoffix: apart from the name, do you see other issues ? | 12:28 | |||||||||||||||||||||||||||||||||||||
| Zoffix | Nope | ||||||||||||||||||||||||||||||||||||||
| lizmat | use alienisms; | ||||||||||||||||||||||||||||||||||||||
| feels a bit artsy fartsy to me | |||||||||||||||||||||||||||||||||||||||
| Zoffix: do you know of any other cases apart from the C++ "new" syntax one? | 12:32 | ||||||||||||||||||||||||||||||||||||||
| FROGGS .oO( no isms; ) | 12:33 | ||||||||||||||||||||||||||||||||||||||
| ahh, 'no' isnt there (yet) | 12:35 | ||||||||||||||||||||||||||||||||||||||
| Zoffix | It's there | ||||||||||||||||||||||||||||||||||||||
| `no worries` | |||||||||||||||||||||||||||||||||||||||
| FROGGS | well, it is parsed right? but not more | ||||||||||||||||||||||||||||||||||||||
| m: use Test; no Test | |||||||||||||||||||||||||||||||||||||||
| camelia | ===SORRY!=== Don't know how to 'no Test' just yet |
||||||||||||||||||||||||||||||||||||||
| Zoffix | `no worries` works | ||||||||||||||||||||||||||||||||||||||
| FROGGS | ohh | 12:36 | |||||||||||||||||||||||||||||||||||||
| lizmat | FROGGS: depends on the pragma | ||||||||||||||||||||||||||||||||||||||
| Zoffix | Test isn't a pragma | ||||||||||||||||||||||||||||||||||||||
| timotimo | m: no shit | ||||||||||||||||||||||||||||||||||||||
| camelia | ===SORRY!=== Don't know how to 'no shit' just yet |
||||||||||||||||||||||||||||||||||||||
| FROGGS | no obsoletes | ||||||||||||||||||||||||||||||||||||||
| lizmat | m: use p5isms; { no p5isms; say defined } | ||||||||||||||||||||||||||||||||||||||
| camelia | 5===SORRY!5=== Error while compiling <tmp> Unsupported use of bare "defined"; in Perl 6 please use .defined if you meant to call it as a method on $_, or use an explicit invocant or argument, or use &defined to refer to the function as a noun … |
||||||||||||||||||||||||||||||||||||||
| geekosaur | no nonsense | ||||||||||||||||||||||||||||||||||||||
| lizmat | m: use p5isms; { say defined } | ||||||||||||||||||||||||||||||||||||||
| camelia | 5===SORRY!5=== Error while compiling <tmp> Calling defined() will never work with signature of the proto (Mu, *%) at <tmp>:1 ------> 3use p5isms; { say 7⏏5defined } |
||||||||||||||||||||||||||||||||||||||
| FROGGS | :P | ||||||||||||||||||||||||||||||||||||||
| Zoffix | lizmat: no, C++ is the only one I know. Other than more generic stuff like octal literals that exist in other languages | 12:37 | |||||||||||||||||||||||||||||||||||||
| m: 04 | |||||||||||||||||||||||||||||||||||||||
| camelia | Potential difficulties: Leading 0 has no meaning. If you meant to create an octal number, use '0o' prefix; like, '0o4'. If you meant to create a string, please add quotation marks. at <tmp>:1 ------> 03047⏏5<EOL> WARNINGS for… |
||||||||||||||||||||||||||||||||||||||
| Zoffix | m: say 04 | ||||||||||||||||||||||||||||||||||||||
| camelia | Potential difficulties: Leading 0 has no meaning. If you meant to create an octal number, use '0o' prefix; like, '0o4'. If you meant to create a string, please add quotation marks. at <tmp>:1 ------> 3say 047⏏5<EOL> 4 |
||||||||||||||||||||||||||||||||||||||
| Zoffix | m: no worries; say 04 | ||||||||||||||||||||||||||||||||||||||
| camelia | 4 | ||||||||||||||||||||||||||||||||||||||
| FROGGS | and extending 'no worries' is not an option? | 12:38 | |||||||||||||||||||||||||||||||||||||
| I mean, it is similar, no? maybe it should sound similar if it is | |||||||||||||||||||||||||||||||||||||||
| lizmat | well, the P5 things are no worries... | 12:39 | |||||||||||||||||||||||||||||||||||||
| Zoffix | "worries" are warnings tho | ||||||||||||||||||||||||||||||||||||||
| FROGGS | ahh, well | ||||||||||||||||||||||||||||||||||||||
|
12:39
Zoffix left
|
|||||||||||||||||||||||||||||||||||||||
| lizmat | FWIW, I've tried to do this change in a slang as a module, but that went nowhere :-( | 12:40 | |||||||||||||||||||||||||||||||||||||
| FROGGS | :o( | ||||||||||||||||||||||||||||||||||||||
| lizmat | commute to NRpm meeting& | 12:42 | |||||||||||||||||||||||||||||||||||||
|
13:02
lizmat joined
13:15
lizmat_ joined
|
|||||||||||||||||||||||||||||||||||||||
| Geth | rakudo: 8ccda1890a | (Elizabeth Mattijsen)++ | src/Perl6/Grammar.nqp Make sure p5isms doesn't hide C++ errors |
13:18 | |||||||||||||||||||||||||||||||||||||
|
13:32
skids joined
13:36
lucasb joined
13:40
Ven`` joined
13:42
softmoth joined
13:45
softmoth joined
|
|||||||||||||||||||||||||||||||||||||||
| lucasb | . | 13:54 | |||||||||||||||||||||||||||||||||||||
| yoleaux | 00:19Z <Zoffix> lucasb: irclog.perlgeek.de/perl6-dev/2018-...i_16173824 | ||||||||||||||||||||||||||||||||||||||
| lucasb | I suggested "<null>" (instead of the empty string) as a *temporary* placeholder to be able to ".perl" print native arrays of strings, as a visual indication that that value isn't an ordinary string. | 13:55 | |||||||||||||||||||||||||||||||||||||
| I see this null thing as an accident, not as a valid first class value in the P6 universe. Am I wrong? | |||||||||||||||||||||||||||||||||||||||
| m: my str @a; @a[2] = ''; say @a.perl # Will the real string please stand up? | 13:57 | ||||||||||||||||||||||||||||||||||||||
| camelia | array[str].new("", "", "") | ||||||||||||||||||||||||||||||||||||||
| lucasb | m: use nqp; my str @a; @a[2] = ''; say @a.map({nqp::isnull_s($_) ?? '<null>' !! $_}).perl | ||||||||||||||||||||||||||||||||||||||
| camelia | ("<null>", "<null>", "").Seq | ||||||||||||||||||||||||||||||||||||||
|
14:04
Ven`` joined,
Zoffix joined
|
|||||||||||||||||||||||||||||||||||||||
| Zoffix | lucasb: well yeah you're wrong. What .perl looks like is largely irrelevant. It's purpose is to serialize data to be EVALable back to the original. What your suggestion does is populate the array with strings containing data that wasn't there before | 14:05 | |||||||||||||||||||||||||||||||||||||
| m: use nqp; my str @a = "<null>"; @a[2] = ''; say @a.map({nqp::isnull_s($_) ?? '<null>' !! $_}).perl | 14:06 | ||||||||||||||||||||||||||||||||||||||
| camelia | ("<null>", "<null>", "").Seq | ||||||||||||||||||||||||||||||||||||||
| Zoffix | "Will the real "<null>" please stand up?" | ||||||||||||||||||||||||||||||||||||||
| And the "temporary" fixes are a terrible idea. They quickly become permanent because there's no longer enough hurt to fix the issue properly, but because they were meant to be temporary they're shit. | 14:07 | ||||||||||||||||||||||||||||||||||||||
| I'd be +1 on banning "temporary" fixes entirely in our codebase. Fix it right or don't fix it at all. | |||||||||||||||||||||||||||||||||||||||
| lucasb | I think the problem is not with .perl stringfication, but rather with the existence of this null value itself in P6 user side. | 14:08 | |||||||||||||||||||||||||||||||||||||
| Zoffix | Right. | ||||||||||||||||||||||||||||||||||||||
| lucasb | ah, thanks | ||||||||||||||||||||||||||||||||||||||
| Zoffix | $ G 'hack' src | wc -l | ||||||||||||||||||||||||||||||||||||||
| 7 | |||||||||||||||||||||||||||||||||||||||
| lucasb | I like the commit that made it possible to be able to .perl print null values. I just see the empty string "" *as* temporary as "<null>" | 14:10 | |||||||||||||||||||||||||||||||||||||
| Zoffix | No, it's meant to be empty | ||||||||||||||||||||||||||||||||||||||
| same as "uninitialized" `int` is a zero | |||||||||||||||||||||||||||||||||||||||
| m: my int $x; my str $y; dd $x; dd $y | 14:11 | ||||||||||||||||||||||||||||||||||||||
| camelia | 0 "" |
||||||||||||||||||||||||||||||||||||||
| Zoffix | m: my int $x; my str $y; dd $x; dd $y ~ "x" | ||||||||||||||||||||||||||||||||||||||
| camelia | 0 "x" |
||||||||||||||||||||||||||||||||||||||
| lucasb | ok, I get that | ||||||||||||||||||||||||||||||||||||||
| Zoffix | R#1566 : It was severe enough to be a blocker. A temporary fix went in on Mar 6 and I recall plans to look into proper fix a week later. Nothing happened still | 14:12 | |||||||||||||||||||||||||||||||||||||
| synopsebot | R#1566 [open]: github.com/rakudo/rakudo/issues/1566 [regression] multi built-ins are not assignable to Callable | ||||||||||||||||||||||||||||||||||||||
| lucasb | IOW, I think that .perl stringfication shouldn't even have to care about NULL strings | 14:15 | |||||||||||||||||||||||||||||||||||||
|
14:15
Ven`` joined
|
|||||||||||||||||||||||||||||||||||||||
| lucasb | It's signature is method PERLIFY-STR(Str \\string), right? | 14:15 | |||||||||||||||||||||||||||||||||||||
| "Str", so, it's either a Str type object or a defined Str object, right? | 14:16 | ||||||||||||||||||||||||||||||||||||||
| If Zoffix's moar's patch is the correct fix, then why can't it be merged? | |||||||||||||||||||||||||||||||||||||||
| Zoffix | No one with enough knowledge available to review it. | ||||||||||||||||||||||||||||||||||||||
| lucasb | hmm | 14:17 | |||||||||||||||||||||||||||||||||||||
| Zoffix | OOC, why the urgency to fix this? | ||||||||||||||||||||||||||||||||||||||
| lucasb | no urgency. I just saw this specific commit in the changelog for this comming release | 14:18 | |||||||||||||||||||||||||||||||||||||
| Zoffix | m: -> Str $x { use nqp; dd $x }((my str @)[1]) | ||||||||||||||||||||||||||||||||||||||
| camelia | "" | ||||||||||||||||||||||||||||||||||||||
| lucasb | c: 2018.04.1 -> Str $x { use nqp; dd $x }((my str @)[1]) | ||||||||||||||||||||||||||||||||||||||
| committable6 | lucasb, ¦2018.04.1: «chars requires a concrete string, but got null in block <unit> at /tmp/Jwir375dgv line 1 «exit code = 1»» | ||||||||||||||||||||||||||||||||||||||
| Zoffix | m: -> Str $x { use nqp; dd $x ~ "" }((my str @)[1]) | 14:19 | |||||||||||||||||||||||||||||||||||||
| camelia | concatenate requires a concrete string, but got null in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
| lucasb | my worry was exactly as yours: "there's no longer enough hurt to fix the issue properly" | ||||||||||||||||||||||||||||||||||||||
| Zoffix | Well yeah it sweeps the problem under the rug there, but I wouldn't say adding "<null>" solves anything. | ||||||||||||||||||||||||||||||||||||||
| bisect: -> Str $x { use nqp; dd $x }((my str @)[1]) | 14:20 | ||||||||||||||||||||||||||||||||||||||
| bisectable6 | Zoffix, Bisecting by exit code (old=2015.12 new=8ccda18). Old exit code: 1 | ||||||||||||||||||||||||||||||||||||||
| Zoffix, bisect log: gist.github.com/0d00d9b42157eaaa37...31f7cf0973 | |||||||||||||||||||||||||||||||||||||||
| Zoffix, (2018-01-07) github.com/rakudo/rakudo/commit/99...018eb065df | |||||||||||||||||||||||||||||||||||||||
| Zoffix | m: -> Str $x { use nqp; $x.perl.say }((my str @)[1]) | ||||||||||||||||||||||||||||||||||||||
| camelia | "" | ||||||||||||||||||||||||||||||||||||||
| Zoffix | bisect: -> Str $x { use nqp; $x.perl.say }((my str @)[1]) | ||||||||||||||||||||||||||||||||||||||
| bisectable6 | Zoffix, Bisecting by exit code (old=2015.12 new=8ccda18). Old exit code: 1 | ||||||||||||||||||||||||||||||||||||||
| Zoffix, bisect log: gist.github.com/aeee7089eb67ca67d8...489a619092 | |||||||||||||||||||||||||||||||||||||||
| Zoffix, (2018-05-08) github.com/rakudo/rakudo/commit/b1...f87c488703 | |||||||||||||||||||||||||||||||||||||||
| Zoffix | R#1837 | 14:23 | |||||||||||||||||||||||||||||||||||||
| synopsebot | R#1837 [open]: github.com/rakudo/rakudo/issues/1837 TODO: remove kludge in Str.perl after null str bug is resolved | ||||||||||||||||||||||||||||||||||||||
| lucasb | thanks! | 14:24 | |||||||||||||||||||||||||||||||||||||
|
14:41
brrt joined
15:01
Zoffix left
15:25
shareable6 joined
15:39
softmoth joined
15:51
skids joined
16:04
AlexDaniel joined,
softmoth joined
16:26
skids joined
16:57
softmoth joined
17:00
softmoth joined
18:34
FROGGS joined
18:41
lizmat joined
|
|||||||||||||||||||||||||||||||||||||||
| releasable6 | Next release in ≈1 day and ≈23 hours. 2 blockers. Please log your changes in the ChangeLog | 19:00 | |||||||||||||||||||||||||||||||||||||
|
19:14
brrt joined
19:27
shareable6 joined
|
|||||||||||||||||||||||||||||||||||||||
| bartolin | r: my $s = Supply.from-list(1..10).rotor(3 => 1, 2 => -1,:partial); $s.tap( { say $_ } ) | 20:03 | |||||||||||||||||||||||||||||||||||||
| camelia | [1 2 3] [5 6] [5 6 7] [10] |
||||||||||||||||||||||||||||||||||||||
| [1 2 3] [5 6] [6 7 8] [10] |
|||||||||||||||||||||||||||||||||||||||
| bartolin | r-j started to give the wrong result after github.com/rakudo/rakudo/commit/a5d46b4273 | ||||||||||||||||||||||||||||||||||||||
| lizmat: do you have an idea what could go wrong there, maybe? ^^ | 20:04 | ||||||||||||||||||||||||||||||||||||||
| bartolin has stared at the code of nqp::slice for a while but didn't spot something wrong | |||||||||||||||||||||||||||||||||||||||
| lizmat | bartolin: am at the NR.pm meeting now...please make a ticket, will look at it tomorrow | 20:06 | |||||||||||||||||||||||||||||||||||||
| bartolin: perhaps also clue Jeremy Studer in somehow | |||||||||||||||||||||||||||||||||||||||
| bartolin | lizmat: will do, thanks. no need to rush, anyway | ||||||||||||||||||||||||||||||||||||||
| lizmat | well, I guess we want to fix that before the release, right ? | 20:07 | |||||||||||||||||||||||||||||||||||||
| so at least we would have to revert that for the JVM before the release | |||||||||||||||||||||||||||||||||||||||
| bartolin has no strong opinion on that. There are other failing tests, too *g* | 20:09 | ||||||||||||||||||||||||||||||||||||||
| MasterDuke | btw, i emailed a CLA a couple days ago, don't remember if there's something else i'm supposed to do | 20:17 | |||||||||||||||||||||||||||||||||||||
| AlexDaniel | I only make sure that r-j compiles, there are probably many regressions like this that I simply don't see | ||||||||||||||||||||||||||||||||||||||
| MasterDuke: no, that's it | |||||||||||||||||||||||||||||||||||||||
| MasterDuke: \\o/ | |||||||||||||||||||||||||||||||||||||||
| I mean, from your side that's it | |||||||||||||||||||||||||||||||||||||||
| [Coke]: ping ↑ | 20:18 | ||||||||||||||||||||||||||||||||||||||
| bartolin | lizmat: github.com/rakudo/rakudo/issues/1838 | 20:20 | |||||||||||||||||||||||||||||||||||||
| lizmat | bartolin++ | 20:21 | |||||||||||||||||||||||||||||||||||||
| bartolin | AlexDaniel: I run a daily spectest with r-j and try to report (or even fix) regressions | ||||||||||||||||||||||||||||||||||||||
| Geth | rakudo: lucasbuchala++ created pull request #1839: Test.pm: Tweaks to pass() and flunk() |
20:25 | |||||||||||||||||||||||||||||||||||||
| bartolin | .seen jstuder | 20:28 | |||||||||||||||||||||||||||||||||||||
| yoleaux | I saw jstuder 1 Apr 2018 15:51Z in #perl6-dev: <jstuder> yeah, don't understand why it would be performing that op on the iterator itself though | ||||||||||||||||||||||||||||||||||||||
|
20:37
lucasb joined
|
|||||||||||||||||||||||||||||||||||||||
| lucasb | most Test.pm functions use $desc as the parameter name, but some use $reason | 20:43 | |||||||||||||||||||||||||||||||||||||
| normally I wouldn't mind about var names, but in the case of Test.pm, I think some consitent style would be nice | 20:44 | ||||||||||||||||||||||||||||||||||||||
| would you accept the patch s/$reason/$desc/g ? | 20:45 | ||||||||||||||||||||||||||||||||||||||
| *consistent | |||||||||||||||||||||||||||||||||||||||
| Geth | roast: 09b14c055c | usev6++ | S29-context/eval.t [JVM] Another case of equal Bufs not recognized |
20:48 | |||||||||||||||||||||||||||||||||||||
| roast: d07a9cd464 | usev6++ | S29-context/evalfile.t [JVM] Another case of equal Bufs not recognized |
20:52 | ||||||||||||||||||||||||||||||||||||||
| lucasb | Please, allow me a few more comments about Test.pm | 21:03 | |||||||||||||||||||||||||||||||||||||
| If you do 'grep die-on-fail Test.pm6' you will see 21 occurrences of this line: | |||||||||||||||||||||||||||||||||||||||
| $ok or ($die_on_fail and die-on-fail) or $ok; | |||||||||||||||||||||||||||||||||||||||
| $ok is always either True or False | 21:04 | ||||||||||||||||||||||||||||||||||||||
| and die-on-fail() either dies or returns False | |||||||||||||||||||||||||||||||||||||||
| oh, nevermind. $die_on_fail is an integer | 21:05 | ||||||||||||||||||||||||||||||||||||||
| I was going to argue that the trailing " or $ok" was not need at all, but I guess it must be there to always return False, and not integer zero | 21:06 | ||||||||||||||||||||||||||||||||||||||
|
21:16
yoleaux joined,
nativecallable6 joined,
unicodable6 joined,
statisfiable6 joined,
reportable6 joined,
squashable6 joined
|
|||||||||||||||||||||||||||||||||||||||
| tbrowder_ | [Coke]: ping, still no commit bit.., | 21:25 | |||||||||||||||||||||||||||||||||||||
|
22:12
dct joined
22:13
committable6 joined,
undersightable6 joined
22:55
softmoth joined
23:09
MasterDuke joined
|
|||||||||||||||||||||||||||||||||||||||