AlexDaniel | fwiw looking at it again today I'm also puzzled by the current behavior of &say. I know that junctions are not always intuitive, but I'm expecting printing a .gist of something to do just that | 00:15 | |||||||||||||||||||||||||||||||||||||
I also don't understand the reasoning for this optimization: github.com/rakudo/rakudo/commit/6e...6d71a46d41 | 00:16 | ||||||||||||||||||||||||||||||||||||||
adding a candidate so that calling .say a lot of times on a Str is faster? I'd say throw a sleep in there to make sure people don't use say for that purpose | 00:17 | ||||||||||||||||||||||||||||||||||||||
that's a joke of course, but optimizing for misuse is perhaps not something we should be doing | 00:19 | ||||||||||||||||||||||||||||||||||||||
.tell lizmat in case you need some extra uninformed opinions: irclog.perlgeek.de/perl6-dev/2018-...i_15861908 | 00:20 | ||||||||||||||||||||||||||||||||||||||
yoleaux | AlexDaniel: I'll pass your message to lizmat. | ||||||||||||||||||||||||||||||||||||||
timotimo | AlexDaniel: but you're calling say with the junction, and calling stuff with junctions usually autothreads | 00:34 | |||||||||||||||||||||||||||||||||||||
MasterDuke | my int @d = ^10; my int $m = 4; my int $p = 2; my int $BASE = 1000000000; @d[$m] = ((@d[$m] + $p * @d[$m-$p]) % $BASE); dd @d | 00:45 | |||||||||||||||||||||||||||||||||||||
evalable6 | array[int].new(0, 1, 2, 3, 8, 5, 6, 7, 8, 9) | ||||||||||||||||||||||||||||||||||||||
MasterDuke | my int @d = ^10; my int $m = 4; my int $p = 2; my int $BASE = 1000000000; my int $a = @d[$m] + $p * @d[$m-$p]; @d[$m] = $a % $BASE; dd @d | 00:46 | |||||||||||||||||||||||||||||||||||||
evalable6 | array[int].new(0, 1, 2, 3, 8, 5, 6, 7, 8, 9) | ||||||||||||||||||||||||||||||||||||||
MasterDuke | timotimo: for me (with the added print in the int,int candidate for infix:<%>, the second prints, but the first doesn't | ||||||||||||||||||||||||||||||||||||||
`say @d[$m] % $BASE` prints, but `say (@d[$m] + $m) % $BASE` does not | 00:49 | ||||||||||||||||||||||||||||||||||||||
`say ($m + $m) % $BASE` does | |||||||||||||||||||||||||||||||||||||||
so it's the native array | 00:52 | ||||||||||||||||||||||||||||||||||||||
Zoffix | AlexDaniel`: +1 on removing special-casing for say Str. It always bothered me that "say prints a gist" has to be followed by "except on Str" | 00:53 | |||||||||||||||||||||||||||||||||||||
m: say <42> but role { method git { say "not-42" } } | |||||||||||||||||||||||||||||||||||||||
camelia | 42 | ||||||||||||||||||||||||||||||||||||||
Zoffix | Affects subclasses too | ||||||||||||||||||||||||||||||||||||||
oh | |||||||||||||||||||||||||||||||||||||||
m: say <42> but role { method gist { say "not-42" } } | |||||||||||||||||||||||||||||||||||||||
camelia | 42 | ||||||||||||||||||||||||||||||||||||||
Zoffix | yeah | ||||||||||||||||||||||||||||||||||||||
m: say 42 but role { method gist { "not-42" } } # yes the same feature works for other types | 00:54 | ||||||||||||||||||||||||||||||||||||||
camelia | not-42 | ||||||||||||||||||||||||||||||||||||||
Zoffix | s/yes/yet/; | ||||||||||||||||||||||||||||||||||||||
timotimo: if we go by what's supposed to usually happen with Junction, then `say` should not thread, as it can take a Mu. So that fact that it still threads would be special-casing in that view. | 00:57 | ||||||||||||||||||||||||||||||||||||||
We can have a very easy definition of say "equivalent to put of .gist" | 00:59 | ||||||||||||||||||||||||||||||||||||||
And toss the special casing we have for Str and toss the special-casing we have for Junctions and it'll magically Do The Right Thing. | |||||||||||||||||||||||||||||||||||||||
ZofBot: death to specialcases | 01:00 | ||||||||||||||||||||||||||||||||||||||
ZofBot | Zoffix, .oO( Glomming Submethods for Fun and Profit ) | ||||||||||||||||||||||||||||||||||||||
Zoffix wonders what Perl 6 without any special-casing would look like | 01:01 | ||||||||||||||||||||||||||||||||||||||
MasterDuke | 'perl 6' | 01:09 | |||||||||||||||||||||||||||||||||||||
thank you, i'll be here all night | 01:10 | ||||||||||||||||||||||||||||||||||||||
huh, the native $idx version of AT-POS in native_array.pm is being called... | 01:55 | ||||||||||||||||||||||||||||||||||||||
m: use nqp; my int $a = 1; say nqp::objprimspec($a); my Int $b = 2; say nqp::objprimspec($b) | 02:38 | ||||||||||||||||||||||||||||||||||||||
camelia | 0 0 |
||||||||||||||||||||||||||||||||||||||
MasterDuke | m: use nqp; my str $a = "a"; say nqp::objprimspec($a); myStr $b = "b"; say nqp::objprimspec($b) | 02:39 | |||||||||||||||||||||||||||||||||||||
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable '$b' is not declared at <tmp>:1 ------> 3 = "a"; say nqp::objprimspec($a); myStr 7⏏5$b = "b"; say nqp::objprimspec($b) |
||||||||||||||||||||||||||||||||||||||
MasterDuke | m: use nqp; my str $a = "a"; say nqp::objprimspec($a); my Str $b = "b"; say nqp::objprimspec($b) | ||||||||||||||||||||||||||||||||||||||
camelia | 0 0 |
||||||||||||||||||||||||||||||||||||||
MasterDuke | shouldn't some of those give a value other than 0? | ||||||||||||||||||||||||||||||||||||||
nqp: my str $a := "a"; say(nqp::objprimspec($a)); my str $b; say nqp::objprimspec($b); my $c; say nqp::objprimspec($c) | 02:43 | ||||||||||||||||||||||||||||||||||||||
camelia | Confused at line 2, near "say nqp::o" at gen/moar/stage2/NQPHLL.nqp:707 (/home/camelia/rakudo-m-inst-2/share/nqp/lib/NQPHLL.moarvm:panic) from gen/moar/stage2/NQP.nqp:920 (/home/camelia/rakudo-m-inst-2/share/nqp/lib/nqp.moarvm:comp_unit) from gen/mo… |
02:56 | |||||||||||||||||||||||||||||||||||||
MasterDuke | nqp: my str $a := "a"; say(nqp::objprimspec($a)); my str $b; say(nqp::objprimspec($b)); my $c; say(nqp::objprimspec($c)) | ||||||||||||||||||||||||||||||||||||||
camelia | 3 3 0 |
||||||||||||||||||||||||||||||||||||||
MasterDuke | works in nqp | ||||||||||||||||||||||||||||||||||||||
timotimo: if i just pull the array accesses out into their own native int variables, `e.g., my int $a = @d[$m]` and put those in the math expressions it goes from 1000s to 270s with the correct result | 04:09 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel` | timotimo: fair enough... | 06:57 | |||||||||||||||||||||||||||||||||||||
lizmat | . | 08:29 | |||||||||||||||||||||||||||||||||||||
yoleaux | 00:20Z <AlexDaniel> lizmat: in case you need some extra uninformed opinions: irclog.perlgeek.de/perl6-dev/2018-...i_15861908 | ||||||||||||||||||||||||||||||||||||||
lizmat | AlexDaniel`: I'm not sure I understand the reason why you would be against special casing of Str:D in say | 08:30 | |||||||||||||||||||||||||||||||||||||
m: say "the result is $score" | |||||||||||||||||||||||||||||||||||||||
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable '$score' is not declared at <tmp>:1 ------> 3say "the result is 7⏏5$score" |
||||||||||||||||||||||||||||||||||||||
lizmat | say "the result is $score" # feels like a pretty common "good" thing to do ? | 08:31 | |||||||||||||||||||||||||||||||||||||
AlexDaniel` | lizmat: not that I'm fully against, but it's a weird optimization to have in my opinion | ||||||||||||||||||||||||||||||||||||||
lizmat | and since Str.gist returns self | ||||||||||||||||||||||||||||||||||||||
AlexDaniel` | if "the result is $score" is called just once, what's the point of optimizing it? | 08:32 | |||||||||||||||||||||||||||||||||||||
lizmat | I bet there are a lot of programs out there that do a lot of "say" | 08:33 | |||||||||||||||||||||||||||||||||||||
*and* every little bit helps | |||||||||||||||||||||||||||||||||||||||
AlexDaniel` | and if it's called hundreds or thousands of times, then very likely it's a misuse of &say | ||||||||||||||||||||||||||||||||||||||
lizmat | why? | 08:34 | |||||||||||||||||||||||||||||||||||||
AlexDaniel` | but no problem we can leave it there | ||||||||||||||||||||||||||||||||||||||
because a human is not going to read thousands of lines, this is very likely something produced for machines | |||||||||||||||||||||||||||||||||||||||
lizmat | I don't see the misuse? | ||||||||||||||||||||||||||||||||||||||
AlexDaniel` | and in that case &put should be used | ||||||||||||||||||||||||||||||||||||||
lizmat | so we should take out the Str:D candidate for put ? | 08:35 | |||||||||||||||||||||||||||||||||||||
the same reasoning holds there, I think | |||||||||||||||||||||||||||||||||||||||
AlexDaniel` | huh? | 08:36 | |||||||||||||||||||||||||||||||||||||
so &say is for humans, &put is for machines | 08:37 | ||||||||||||||||||||||||||||||||||||||
lizmat | ? | ||||||||||||||||||||||||||||||||||||||
AlexDaniel` | you don't agree with that? | ||||||||||||||||||||||||||||||||||||||
hmmm… let's see if we have it doc-ed somewhere | |||||||||||||||||||||||||||||||||||||||
lizmat is confused now | |||||||||||||||||||||||||||||||||||||||
AlexDaniel` | docs.perl6.org/language/faq#How_an...nt_differ? | ||||||||||||||||||||||||||||||||||||||
> But there's another difference: print and put converts its arguments to a string by calling the Str method on each item passed to, say uses the gist method instead. The former is meant for computers, the latter for human interpretation. | 08:38 | ||||||||||||||||||||||||||||||||||||||
lizmat | well, it's nice that someone wrote this up like this, but I'm more in the liberal school here | 08:39 | |||||||||||||||||||||||||||||||||||||
I don't assign a value to say / put or print | |||||||||||||||||||||||||||||||||||||||
they're all ways of outputting things | 08:40 | ||||||||||||||||||||||||||||||||||||||
in different ways | |||||||||||||||||||||||||||||||||||||||
you, as a user / developer, determine what is most appropriate for you | |||||||||||||||||||||||||||||||||||||||
"put" was a *very* late addition, that TimToady put in just before 6.c came out | 08:41 | ||||||||||||||||||||||||||||||||||||||
I would also say that "dd" is optimized for debugging, not "say" | |||||||||||||||||||||||||||||||||||||||
1. because it does a .perl | |||||||||||||||||||||||||||||||||||||||
2. it writes to STDERR, so it won't interfere with normal output | 08:42 | ||||||||||||||||||||||||||||||||||||||
3. it does some extra to prevent hanging on some constructs that are infinite | |||||||||||||||||||||||||||||||||||||||
[Tux] |
|
08:43 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | ok, we don't have to change it, it's not a big deal :) FWIW Some related discussion here: github.com/perl6/doc/pull/1437 | ||||||||||||||||||||||||||||||||||||||
yoleaux | 00:34Z <thundergnat> AlexDaniel: Issue submitted github.com/rakudo/rakudo/issues/1573 A little verbose but I figured too much was better than not enough. Thanks for your help! | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | bisect: old=2014.01 put 42 | 08:52 | |||||||||||||||||||||||||||||||||||||
bisectable6 | AlexDaniel, Bisecting by exit code (old=2014.01 new=838782b). Old exit code: 1 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel, bisect log: gist.github.com/70eea9e4454c05d0ae...f0e75ae246 | 08:53 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel, (2015-11-12) github.com/rakudo/rakudo/commit/bc...24544082e6 | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | right so the optimization was there before &put existed | ||||||||||||||||||||||||||||||||||||||
lizmat | yes, way before, as far as I remember | 09:00 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | 2014-06-16 | 09:03 | |||||||||||||||||||||||||||||||||||||
lizmat hopes AlexDaniel can live with github.com/perl6/doc/commit/a08d92b076 | 09:08 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | “humen“ | 09:09 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: abfbd1ab1f | (Elizabeth Mattijsen)++ | src/core/Num.pm Make sub rand/srand a multi |
09:10 | |||||||||||||||||||||||||||||||||||||
lizmat | AlexDaniel: would it make sense to add a "blocker" section to gist.github.com/Whateverable/2138e...61cde51016 | 09:11 | |||||||||||||||||||||||||||||||||||||
to have an easy overview of remaining blocker tickets ? | 09:12 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | lizmat: github.com/perl6/doc/issues/1802 | 09:15 | |||||||||||||||||||||||||||||||||||||
lizmat: github.com/perl6/whateverable/issues/292 | |||||||||||||||||||||||||||||||||||||||
lizmat | :-) | 09:16 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | lizmat: as for the doc commit, it's totally fine but probably needs a little blurb mentioning that dd is rakudo-specific, otherwise no problem | ||||||||||||||||||||||||||||||||||||||
lizmat | m: say gethostname | 09:27 | |||||||||||||||||||||||||||||||||||||
camelia | camelia | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | say gethostname | ||||||||||||||||||||||||||||||||||||||
e: say gethostname | |||||||||||||||||||||||||||||||||||||||
evalable6 | superserver | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | xD | ||||||||||||||||||||||||||||||||||||||
lizmat | looks like this is not specced, not tested and not documented | 09:28 | |||||||||||||||||||||||||||||||||||||
and it looks like it has existed at least since 2013 | 09:29 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | c: 2014.01 say gethostname | ||||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, ¦2014.01: «superserver» | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | greppable6: gethostname | ||||||||||||||||||||||||||||||||||||||
greppable6 | AlexDaniel, 13 lines, 4 modules: gist.github.com/efd256be2c9c28e8f5...44d0dd5830 | 09:30 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | there's one person using it | ||||||||||||||||||||||||||||||||||||||
lizmat | looks like my Sys::Hostname module can be simplified :-) | 09:31 | |||||||||||||||||||||||||||||||||||||
gfldex | m: sub infix:«<<»(Array \a, Any \v){ a.push: v }; my @a; @a << 42; | 09:55 | |||||||||||||||||||||||||||||||||||||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unsupported use of << to do left shift; in Perl 6 please use +< or ~< at <tmp>:1 ------> 3y \a, Any \v){ a.push: v }; my @a; @a <<7⏏5 42; |
||||||||||||||||||||||||||||||||||||||
gfldex | is that ^^^ intentional? | ||||||||||||||||||||||||||||||||||||||
(if so, it's an ENODOC) | |||||||||||||||||||||||||||||||||||||||
lizmat | that feels like a false positive to me | 09:56 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | no really but it's a known problem | ||||||||||||||||||||||||||||||||||||||
there are many cases when it assumes that you're parsing regular perl 6 without custom ops and complains about unrelated stuff | |||||||||||||||||||||||||||||||||||||||
lizmat | afk for a few hours& | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | not* | ||||||||||||||||||||||||||||||||||||||
gfldex | rakudo is to clever for it's own good :) | 09:57 | |||||||||||||||||||||||||||||||||||||
|Tux| | test-t 2.600 - 2.601 | 10:32 | |||||||||||||||||||||||||||||||||||||
Zoffix | "<lizmat> and since Str.gist returns self" that isn't guaranteed. The "little bit that helps" is at the cost of special-cased behavior that breaks custom Str and its subclasses | 11:10 | |||||||||||||||||||||||||||||||||||||
m: class Foo is Str { method gist { "just a foo" } }; say Foo | |||||||||||||||||||||||||||||||||||||||
camelia | just a foo | ||||||||||||||||||||||||||||||||||||||
Zoffix | :( | ||||||||||||||||||||||||||||||||||||||
m: class Foo is Str { method gist { "just a foo" } }; say Foo.new | |||||||||||||||||||||||||||||||||||||||
camelia | 11:11 | ||||||||||||||||||||||||||||||||||||||
Zoffix | There's no reasonable explanation for why Foo:D.gist stops using Foo.gist other than we stuck a special case to for minor performance gain | ||||||||||||||||||||||||||||||||||||||
And the FAQ even says "The gist method, which you can also create for your own classes" | 11:13 | ||||||||||||||||||||||||||||||||||||||
Nor does it explain why you can `say Mu` and get Mu.gist, but if you do `say Junction:D` you get… potentially no output at all. Why doesn't it just use Junction.gist and display that? Again, a special case for no other reason that it's mis-designed. (the special-casing for print/put can be argued that there's no non-threaded Junction.Str meaning [it returns a Junction] and the options are to thread or to | 11:16 | ||||||||||||||||||||||||||||||||||||||
throw) | |||||||||||||||||||||||||||||||||||||||
This shit's broken. | 11:17 | ||||||||||||||||||||||||||||||||||||||
lizmat | well, then it has been broken for a *long* time | 11:22 | |||||||||||||||||||||||||||||||||||||
at least since github.com/rakudo/rakudo/commit/6e...74cbeef22c | 11:26 | ||||||||||||||||||||||||||||||||||||||
almost 4 years ago | |||||||||||||||||||||||||||||||||||||||
Geth | rakudo: 6d6a69fd01 | (Elizabeth Mattijsen)++ | src/core/OS.pm Make sub gethostname a multi |
11:39 | |||||||||||||||||||||||||||||||||||||
rakudo: 3a0d53ced5 | (Elizabeth Mattijsen)++ | src/core/io_operators.pm Revert 6e0ac15e574cbeef22c |
|||||||||||||||||||||||||||||||||||||||
rakudo: c1d2a5bc4f | (Elizabeth Mattijsen)++ | src/core/Pair.pm Make sub pair a multi |
11:40 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | is anybody writing tests for the revert? | 11:49 | |||||||||||||||||||||||||||||||||||||
I'm busy right now but I can file a ticket if nobody is on it | |||||||||||||||||||||||||||||||||||||||
lizmat | I'll write some tests | 11:52 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | OK | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo: 4da2418ac9 | (Elizabeth Mattijsen)++ | src/core/Proc.pm Make sub run/shell multi's |
11:54 | |||||||||||||||||||||||||||||||||||||
dogbert2 | when will MoarVM be bumped, does anybody know? | 11:59 | |||||||||||||||||||||||||||||||||||||
lizmat | dogbert2: no idea, should it? | 12:00 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | isn't it bumped already? | 12:01 | |||||||||||||||||||||||||||||||||||||
lizmat | last bump was for 2018.02 it appears | 12:02 | |||||||||||||||||||||||||||||||||||||
(of tools/build/NQP_REVISION) | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | aaaah, moarvm is bumped in nqp | ||||||||||||||||||||||||||||||||||||||
but nqp is not bumped in rakudo | |||||||||||||||||||||||||||||||||||||||
Geth | rakudo: 62fc311851 | (Elizabeth Mattijsen)++ | src/core/Match.pm Make sub make a multi |
12:04 | |||||||||||||||||||||||||||||||||||||
lizmat | ok, lemme test if it works :-) | ||||||||||||||||||||||||||||||||||||||
dogbert2 | I was looking for the libuv upgrade | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | oh right that's a big good one | ||||||||||||||||||||||||||||||||||||||
dogbert2 | then I can run some tests :-) | 12:05 | |||||||||||||||||||||||||||||||||||||
lizmat | building/testing now, gimme 5 mins or so | ||||||||||||||||||||||||||||||||||||||
dogbert2 | lizmat++ | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | dogbert2++ for the reminder | 12:07 | |||||||||||||||||||||||||||||||||||||
undersightable-- for not existing (should've reminded automatically) | 12:08 | ||||||||||||||||||||||||||||||||||||||
dogbert2 | hmm, how many bots do we have now :-) | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | 16 whateverables I think | 12:09 | |||||||||||||||||||||||||||||||||||||
dogbert2 | cool | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | huggable: bots | ||||||||||||||||||||||||||||||||||||||
huggable | AlexDaniel, The #perl6 irc channel normally hosts several helpful bots. I am a bot, and everyone else voiced on this channel is a bot. See the full list here: github.com/perl6/doc/issues/711#is...-235414744 | ||||||||||||||||||||||||||||||||||||||
dogbert2 | bisect: uptime | ||||||||||||||||||||||||||||||||||||||
bisectable6 | dogbert2, 2 days, 1 hour, 34 minutes, and 41 seconds, 241.5625MiB maxrss. This is Rakudo version 2018.01-209-gf74890550 built on MoarVM version 2018.01-97-g22d2db5e0 implementing Perl 6.c. | ||||||||||||||||||||||||||||||||||||||
dogbert2 | are they still suffering from SEGV's? | ||||||||||||||||||||||||||||||||||||||
at least memory usage looks good | 12:10 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | yes, still segv-ing | ||||||||||||||||||||||||||||||||||||||
and yes memory usage is almost perfect | |||||||||||||||||||||||||||||||||||||||
dogbert2 | argh | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | I can't push anyone to fix this because, well, you can't test these bots locally yet | 12:12 | |||||||||||||||||||||||||||||||||||||
but you can run them! | 12:13 | ||||||||||||||||||||||||||||||||||||||
it's just a matter of setting up some lightweight irc server for the test suite | |||||||||||||||||||||||||||||||||||||||
or changing it so that it is not needed | |||||||||||||||||||||||||||||||||||||||
once there's an easy way to run the test suite we'll be able to have some useful bug reports | 12:14 | ||||||||||||||||||||||||||||||||||||||
several of them actually | |||||||||||||||||||||||||||||||||||||||
lizmat | hmmm, I got a hang on t/spec/S29-os/system.t | 12:16 | |||||||||||||||||||||||||||||||||||||
but it ran fine by itself :-( | |||||||||||||||||||||||||||||||||||||||
going to push anyway | |||||||||||||||||||||||||||||||||||||||
Geth | rakudo: fed92e3b82 | (Elizabeth Mattijsen)++ | tools/build/NQP_REVISION Bump NQP to get all the latest NQP and MoarVM goodies |
||||||||||||||||||||||||||||||||||||||
rakudo: version bump brought these changes: github.com/perl6/nqp/compare/2018....8-g24f9097 d3f50dbac8 | (Elizabeth Mattijsen)++ | src/core/Rakudo/Internals.pm |
|||||||||||||||||||||||||||||||||||||||
lizmat | .oO( release early, release often ) |
||||||||||||||||||||||||||||||||||||||
AlexDaniel | xD the sound of point releases | 12:18 | |||||||||||||||||||||||||||||||||||||
dogbert2 rebuilds ... | 12:20 | ||||||||||||||||||||||||||||||||||||||
travis-ci | Rakudo build failed. Elizabeth Mattijsen 'Revert 6e0ac15e574cbeef22c' | 12:23 | |||||||||||||||||||||||||||||||||||||
travis-ci.org/rakudo/rakudo/builds/346734055 github.com/rakudo/rakudo/compare/a...0d53ced5d8 | |||||||||||||||||||||||||||||||||||||||
lizmat | t/04-nativecall/09-nativecast.t seems to have failed one of its tests ^^^ | 12:26 | |||||||||||||||||||||||||||||||||||||
cannot reproduce :-( | |||||||||||||||||||||||||||||||||||||||
|Tux| | $ perl6 --doc lib/Text/CSV.pod6 | 12:32 | |||||||||||||||||||||||||||||||||||||
===SORRY!=== Error while compiling /pro/3gl/CPAN/Text-CSV6/lib/Text/CSV.pod6 | |||||||||||||||||||||||||||||||||||||||
Two terms in a row | |||||||||||||||||||||||||||||||||||||||
as posted in github.com/Tux/CSV/issues/10 | |||||||||||||||||||||||||||||||||||||||
lizmat | www.meetup.com/Amsterdam-Core-Infr...247649657/ # not a word of Perl in there | 12:33 | |||||||||||||||||||||||||||||||||||||
|Tux| | where should I find "the problem" or is that syntax just wrong | ||||||||||||||||||||||||||||||||||||||
lizmat | "we’re moving from monolith architecture to SOA" | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | oh, so that's a .pod6 failure? | ||||||||||||||||||||||||||||||||||||||
|Tux| | AlexDaniel, your guess is better than mine :) | 12:37 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | |Tux|: can you golf it? | 12:38 | |||||||||||||||||||||||||||||||||||||
|Tux| | AlexDaniel, gist.github.com/Tux/0d0237b59882b6...1642b1a145 | 12:40 | |||||||||||||||||||||||||||||||||||||
will that do? | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | c: HEAD run <wget -O sandbox/test.pod6 gist.githubusercontent.com/AlexDan...e1.txt> | 12:42 | |||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, gist.github.com/6563bd723b08d20467...4f0eccf1d9 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | c: HEAD run <perl6 --doc sandbox/test.pod6> | ||||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, gist.github.com/ba83b670b3f32236cb...b6b3391eb9 | 12:43 | |||||||||||||||||||||||||||||||||||||
lizmat | FWIW, since the NQP bump, I'm seeing a lot more flappers in spectest :-( | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | |Tux|: ↑ why is that different? | ||||||||||||||||||||||||||||||||||||||
lizmat | in weird places such as: S11-modules/perl6lib.t and t/spec/S16-io/put.t | ||||||||||||||||||||||||||||||||||||||
all of them "You planned N tests but ran 0" | 12:44 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | ah shit, missing = | ||||||||||||||||||||||||||||||||||||||
lizmat | which feels like a segfault somewhere along the way | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | c: HEAD run <wget -O sandbox/test.pod6 gist.githubusercontent.com/AlexDan...e1.txt> | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo: b9f40fea53 | (Elizabeth Mattijsen)++ | src/core/signals.pm Make sub signal a multi |
||||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, gist.github.com/ff5f87e3b5fb7ea808...41edeb6694 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | c: HEAD run <perl6 --doc sandbox/test.pod6> | ||||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, gist.github.com/3f96bbb53e0ca3158f...65821d5183 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | ok so here it is reproduced | ||||||||||||||||||||||||||||||||||||||
c: 2017.12 run <perl6 --doc sandbox/test.pod6> | |||||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, gist.github.com/39d3c2dfe527d9a13b...fda8bedcaa | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | but identical problem on 2017.12 | 12:45 | |||||||||||||||||||||||||||||||||||||
6c: run <perl6 --doc sandbox/test.pod6> | |||||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, gist.github.com/4d1a5f8d20d983cf8f...b3a5c44745 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | |Tux|: not a regression as far as I can see :) | ||||||||||||||||||||||||||||||||||||||
|Tux| | I didn't say so :) | 12:46 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | 6c: run <perl6 --version> | ||||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, gist.github.com/f0877a0c45d07097a6...a1e271219d | ||||||||||||||||||||||||||||||||||||||
|Tux| | This is Rakudo version 2018.02.1-47-g838782b7d built on MoarVM version 2018.02-6-g1849ae6d6 | ||||||||||||||||||||||||||||||||||||||
implementing Perl 6.c. | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | |Tux|: I think it just needs =begin pod and =end pod … | 12:50 | |||||||||||||||||||||||||||||||||||||
|Tux|: “Every Pod document has to begin with =begin pod and end with =end pod. Everything between these two delimiters will be processed and used to generate documentation.” | |||||||||||||||||||||||||||||||||||||||
|Tux| | AlexDaniel, I think that .pod and .pod6 files could be exempt to that rule? | 12:52 | |||||||||||||||||||||||||||||||||||||
FWIW /me has no problem whatsoever in adding those two lines, but it feels kinda silly | 12:53 | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo: dfef828357 | (Elizabeth Mattijsen)++ | src/core/Str.pm Make subs trim/trim-leading/trim-trailing multi's |
12:59 | |||||||||||||||||||||||||||||||||||||
lizmat | [Tux]: FWIW, in perl 5, .pod does not have a special meaning either, does it ? | 13:02 | |||||||||||||||||||||||||||||||||||||
|Tux| | no, but it does not require =begin pod and =end pod, as a strirting valid = (like =head1) *implies* that this is pod up to and including =cut | 13:03 | |||||||||||||||||||||||||||||||||||||
(or end-of-file) | 13:04 | ||||||||||||||||||||||||||||||||||||||
lizmat | ah, on such a bicycle :-) | 13:05 | |||||||||||||||||||||||||||||||||||||
|Tux| | :] | ||||||||||||||||||||||||||||||||||||||
lizmat | I guess Perl 6 is more picky than that | ||||||||||||||||||||||||||||||||||||||
|Tux| | that is why I posed the proposition | ||||||||||||||||||||||||||||||||||||||
feel free to ignore. I added the =begin/end pod to that document | 13:06 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | huggable: rakudobug | 13:10 | |||||||||||||||||||||||||||||||||||||
huggable | AlexDaniel, Report bugs on github.com/rakudo/rakudo/issues/new If you don't have access to GitHub, you can email your report to [email@hidden.address] . See also: github.com/rakudo/rakudo/wiki/rt-introduction | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | ↑ here's the place for all worthy propositions :) | ||||||||||||||||||||||||||||||||||||||
[Coke] | I just got a weird error from 'make xtest' in the doc suite, error reported in nqp running the Perl 6 Grammar moarvm bytecode: gist.github.com/coke/7aabc5c3a416e...feb717a0fa | 13:12 | |||||||||||||||||||||||||||||||||||||
(running it a second time there's no warnings) | 13:13 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | .oO( Fixed! ) |
13:14 | |||||||||||||||||||||||||||||||||||||
dogbert2_ | initial spectest with MVM_SPESH_NODELAY=1 and MVM_SPESH_BLOCKING=1 looks no worse than usual | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo: 9a0a7bdd83 | (Elizabeth Mattijsen)++ | src/core/Str.pm Make sub chrs a multi |
13:16 | |||||||||||||||||||||||||||||||||||||
lizmat | dogbert2_: maybe it's been like that for a while already | ||||||||||||||||||||||||||||||||||||||
haven't run so many spectests on a day in a long time | 13:17 | ||||||||||||||||||||||||||||||||||||||
lizmat just did GH #1574 | 13:21 | ||||||||||||||||||||||||||||||||||||||
github.com/rakudo/rakudo/issues/1574 | |||||||||||||||||||||||||||||||||||||||
dogbert2_ | lizmat++ | 13:30 | |||||||||||||||||||||||||||||||||||||
there are a couple of nasty bugs left, threading and GC related, they rear their ugly heads from time to time | 13:31 | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo: 32b08035b4 | (Elizabeth Mattijsen)++ | src/core/Str.pm Make sub uniparse a multi |
13:33 | |||||||||||||||||||||||||||||||||||||
lizmat | which concludes my first run on ^sub in the core | 13:34 | |||||||||||||||||||||||||||||||||||||
[Coke] | lizmat++ | ||||||||||||||||||||||||||||||||||||||
Geth | roast: 2ca70b92d1 | (Elizabeth Mattijsen)++ | 2 files Add tests to check say/note(Str:D) call .gist |
13:41 | |||||||||||||||||||||||||||||||||||||
travis-ci | Rakudo build passed. Elizabeth Mattijsen 'Make subs trim/trim-leading/trim-trailing multi's' | 14:17 | |||||||||||||||||||||||||||||||||||||
travis-ci.org/rakudo/rakudo/builds/346761094 github.com/rakudo/rakudo/compare/b...ef828357dd | |||||||||||||||||||||||||||||||||||||||
Rakudo build passed. Elizabeth Mattijsen 'Make sub uniparse a multi' | 14:57 | ||||||||||||||||||||||||||||||||||||||
travis-ci.org/rakudo/rakudo/builds/346775454 github.com/rakudo/rakudo/compare/9...b08035b42d | |||||||||||||||||||||||||||||||||||||||
dogbert2_ | stresstest was clean on my 32 bit vm | ||||||||||||||||||||||||||||||||||||||
lizmat | m: sub a(\a) { a = 42 }; my int $a; a $a; say $a # will this ever work ? | 15:52 | |||||||||||||||||||||||||||||||||||||
camelia | Cannot modify an immutable Int (0) in sub a at <tmp> line 1 in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
moritz | lizmat: I don't think so, because int is pass-by-value, not pass-by-reference | 15:55 | |||||||||||||||||||||||||||||||||||||
lizmat | m: sub a($a is rw) { $a = 42 }; my int $a; a $a; say $a # but this works ? | 15:56 | |||||||||||||||||||||||||||||||||||||
camelia | 42 | ||||||||||||||||||||||||||||||||||||||
[Coke] | I'm assuming that's getting boxed. | 16:16 | |||||||||||||||||||||||||||||||||||||
m: sub a($a is rw) { say $a.WHAT; $a=42}; my int $a; say $a.WHAT; a $a; say $a; say $a.WHAT | |||||||||||||||||||||||||||||||||||||||
camelia | (Int) (Int) 42 (Int) |
||||||||||||||||||||||||||||||||||||||
[Coke] | ... oh right, WHAT has to box it. | ||||||||||||||||||||||||||||||||||||||
m: sub a($a is rw) { dd $a; $a=42}; my int $a; dd $a; a $a; dd $a; | 16:17 | ||||||||||||||||||||||||||||||||||||||
camelia | 0 0 42 |
||||||||||||||||||||||||||||||||||||||
[Coke] | ... I don't know how to test my theory. :) | ||||||||||||||||||||||||||||||||||||||
japhb wonders if DUMP still works | 16:22 | ||||||||||||||||||||||||||||||||||||||
m: sub a($a is rw) { dd $a; $a=42}; my int $a; put $a.DUMP; a $a; put $a.DUMP; | |||||||||||||||||||||||||||||||||||||||
camelia | 0 0 42 |
||||||||||||||||||||||||||||||||||||||
japhb | m: sub a($a is rw) { dd $a; $a=42}; my int $a; put $a.VAR.DUMP; a $a; put $a.DUMP; | ||||||||||||||||||||||||||||||||||||||
camelia | ▶0 0 42 |
||||||||||||||||||||||||||||||||||||||
japhb | m: sub a($a is rw) { dd $a; $a=42}; my int $a; put $a.VAR.DUMP; a $a; put $a.VAR.DUMP; | ||||||||||||||||||||||||||||||||||||||
camelia | ▶0 0 ▶42 |
||||||||||||||||||||||||||||||||||||||
japhb | Hmmm | 16:23 | |||||||||||||||||||||||||||||||||||||
TimToady waves his scepter and sez that "say" must NOT autothread junctions, because the main purpose of "say" is to serve illogical humans, and not to be as consistent as our math operators pretend to be | 17:59 | ||||||||||||||||||||||||||||||||||||||
timotimo | pray say | 18:54 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: b62e0eb7a7 | (Elizabeth Mattijsen)++ | src/core/io_operators.pm &say should not auto-thread As per irclog.perlgeek.de/perl6-dev/2018-...i_15864766 |
19:43 | |||||||||||||||||||||||||||||||||||||
lizmat | afk again& | 19:45 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: 52176c3c79 | TimToady++ | src/Perl6/Grammar.nqp improve message 1<3 heuristic to recognize 1<=3 Also happens to recognize 1<==3, fwiw... |
21:11 | |||||||||||||||||||||||||||||||||||||
roast: 8c27f8eb83 | usev6++ | S16-io/eof.t [JVM] Unfudge now passing (sub-)tests |
21:35 | ||||||||||||||||||||||||||||||||||||||
MasterDuke | jnthn, timotimo: `my int @d = ^10; say @d[2] % @d[4];`, that should use the int,int candidate for infix:<%>, correct? | 22:19 | |||||||||||||||||||||||||||||||||||||
jnthn | Ideally, but I'm not sure we're quite there yet | 22:20 | |||||||||||||||||||||||||||||||||||||
MasterDuke | ah | ||||||||||||||||||||||||||||||||||||||
that would explain what i was seeing with rindolf's code | 22:21 | ||||||||||||||||||||||||||||||||||||||
"if i just pull the array accesses out into their own native int variables, `e.g., my int $a = @d[$m]` and put those in the math expressions it goes from 1000s to 270s with the correct result" | |||||||||||||||||||||||||||||||||||||||
jnthn: what needs to be done? | 22:57 | ||||||||||||||||||||||||||||||||||||||
jnthn | MasterDuke: I'm not 100% sure, but I think at the very least we'd need to track known native arrays in the optimizer and understand accesses to them will give back native int/num/str | 23:19 | |||||||||||||||||||||||||||||||||||||
MasterDuke | static optimizer? | 23:22 | |||||||||||||||||||||||||||||||||||||
jnthn | Yes | 23:28 | |||||||||||||||||||||||||||||||||||||
Hmmm...what should I do on vacation? I know...implement a lock-free data structure. github.com/jnthn/p6-concurrent-stack :) | 23:34 | ||||||||||||||||||||||||||||||||||||||
'night, #perl6-dev | |||||||||||||||||||||||||||||||||||||||
lizmat wonders why that doesn't use a repr('ConcBlockingQueue') undeneath? | 23:39 | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo: af35389485 | (Elizabeth Mattijsen)++ | 5 files Make sure all set ops have an "is pure" on their proto only |
23:46 | |||||||||||||||||||||||||||||||||||||
lizmat | sleep& |