00:12 patrickz joined 00:16 patrickb left 00:17 patrickz left 00:49 Xliff left 01:52 Altai-man_ joined 01:55 sena_kun left 02:08 ufobat_ joined 02:12 ufobat left 03:38 AlexDaniel joined, AlexDaniel left, AlexDaniel joined 03:53 sena_kun joined 03:54 Altai-man_ left 05:52 Altai-man_ joined 05:55 sena_kun left 07:05 Xliff joined 07:07 Altai-man_ left
Xliff my $a = 'abcde'; if $a.Int ~~ Failure {say "Hi!"} 07:28
evalable6 Hi!
Xliff my $a = 'abcde'; say $a ~~ tr/abode/; 07:38
m: my $a = 'abcde'; say $a ~~ tr/abode/;
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed replacement part; couldn't find final /
at <tmp>:1
------> 3my $a = 'abcde'; say $a ~~ tr/abode/;7⏏5<EOL>
Xliff m: my $a = 'abcde'; say tr/{ $a }/abode/; 07:40
camelia No such method 'trans' for invocant of type 'Any'
in block <unit> at <tmp> line 1
Xliff m: my $a = 'abcde'; say $a.trans('abode');
camelia Only Pair objects are allowed as arguments to Str.trans, got Str
in block <unit> at <tmp> line 1
07:41
Xliff m: my $a = 'abcde'; say $a ~~ tr/{ $a }/abode/;
camelia StrDistance.new(before => "abcde", after => "dbcde")
Xliff m: my $a = 'abcde'; say $a ~~ tr/$a/abode/; 07:42
camelia StrDistance.new(before => "abcde", after => "bbcde")
Xliff Is there a Raku interface to the Levenshtine algorithm the parser uses? 07:45
m: levenshtein("abode", "abcde").say 07:46
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
levenshtein used at line 1
07:59 domidumont joined
nine Xliff: no that's just subs in Perl6::World 08:20
lizmat Files=1294, Tests=109644, 210 wallclock secs (28.64 usr 8.16 sys + 2945.45 cusr 272.33 csys = 3254.58 CPU) 09:33
Xliff nine: Why is there no interface to that from Raku? 09:53
nine Because no needed one? 09:57
no one needed one
Also do you mean interface available in Rakudo's Raku code or a real public interface for Raku users? 09:58
Xliff A real public interface for Raku users.
moritz the suggestion of similar identifiers in error messages is an implementation detail :-) 09:59
Xliff BTW -- I tried porting the existing implementation from World.nqp to my Raku code and it is now SegFaulting.
Somewhere in exists_key() in libmoar.so 10:01
And that means it's most likely this line... github.com/rakudo/rakudo/blob/mast...ld.nqp#L81 10:02
But not really that line. It's that equivalent line in my Raku ported version. See... if this code was publicly available, I wouldn't be having this problem! :)
nine Xliff: you still don't need to have that problem: modules.raku.org/search/?q=leven 10:07
Xliff Yes, but why the segfault? That was the real point. 10:12
nine A backtrace with debug info may answer that 10:13
Is it reproducible?
Xliff Ah. I'd have to recompile.
Yes.
exists_key (tc=0x555555559fa0, st=0x55555732b8c8, root=<optimized out>, data=<optimized out>, key=0x7ffff70a9c28) 10:20
at src/6model/reprs/P6opaque.c:1379
Hrm... what configure flaghs would be best for more to prevent it from optimizing out data like this? 10:21
Oh. Nevermind. I just need a -O0
P6opaque.c:1379 is "return REPR(del)->ass_funcs.exists_key(tc, STABLE(del), del, OBJECT_BODY(del), key);" 10:28
del is 0x0
10:50 patrickb joined 11:29 Merfont left 11:30 Merfont joined 11:32 Merfont left
Xliff m: say 1 and 1 and 5 11:36
camelia WARNINGS for <tmp>:
1
Useless use of constant integer 5 in sink context (line 1)
Xliff m: if 1 and 1 and 5 -> $e { say $e } 11:37
camelia 5
Xliff m: if 1 and 5 and 1 -> $e { say $e }
camelia 1
nine So a hash attribute of an object is null and you try an exists on it? That's....odd. Can you golf it? 11:54
Oh, no, it's a hash object by itself, not necessarily an attribute
11:57 sena_kun joined
lizmat sometime I wonder is an nqp::digits_I op would be difficult to make 11:59
it would basically be nqp::chars(nqp::tostr_I()) but without actually creating the string
moritz you need a log with base 10 and some rounding 12:17
m: say log(2**66, 10).floor()
camelia 19
moritz and a special case for 0 and negative numbers 12:18
lizmat I was more thinking along the line of the underlying bigint library providing this :-)
12:57 |Tux| left 13:14 |Tux| joined
Geth rakudo: 73e98a6c8c | (Elizabeth Mattijsen)++ | src/core.c/Rational.pm6
Make Rational.Str a few % faster with 20% fewer allocations

Mostly by eradicating an intermediate private method, and by using nqp::ops where appropriate, preventing Str allocations.
13:26
13:39 Voldenet left 13:43 Voldenet joined, Voldenet left, Voldenet joined 13:53 Altai-man_ joined 13:55 sena_kun left 13:56 lucasb joined
Xliff nine: FWIW, it's not nqp, but perl6 where this is a problem. 14:11
vrurg Xliff: did you resolve your Method::Also problem? 14:14
Xliff vrurg: No
vrurg Xliff: maybe it makes sense to open a GH issue for it? It'd be easier for me to help then. I'm often afk these times. 14:15
Xliff OK. 14:17
lizmat Xliff: good thing we're not working on perl6 anymore :-)
Xliff Oh hah.... ;) 14:18
|Tux| Rakudo version 2019.11-417-g73e98a6c8 - MoarVM version 2020.01-15-g1fa9764bf
csv-ip5xs0.713 - 0.719
csv-ip5xs-206.232 - 6.323
csv-parser22.066 - 23.033
csv-test-xs-200.431 - 0.434
test6.970 - 7.164
test-t1.747 - 1.766
test-t --race0.797 - 0.804
test-t-2029.659 - 30.548
test-t-20 --race10.649 - 10.650
14:24
14:24 patrickb left 14:25 Guest78373 left
Xliff nine: It looks like another process is actually used to compile the bytecode. See src/core.c/CompUnit/PrecompilationRepository.pm6#L304. Does --output need to be $bc, or can it be changed to something else? 15:36
Because it looks like it's only necessary up to #L366 15:37
15:53 sena_kun joined 15:55 Altai-man_ left 16:00 Guest78373 joined 16:06 MasterDuke joined 17:04 domidumont left 17:36 domidumont joined 17:53 Altai-man_ joined 17:55 sena_kun left
Altai-man_ bisectable6, use Test; my UInt %composed; role MooishAttrHOW { method compose( Mu $pkg ) { %composed{self.name}++; callsame; } }; multi trait_mod:<is> (Attribute:D $attr, :$mooish!) { $attr does MooishAttrHOW }; class Foo { has $.bar is mooish is rw }; is-deeply %composed<$!bar>, 1, "attribute composed once"; 18:23
bisectable6 Altai-man_, Bisecting by exit code (old=2015.12 new=73e98a6). Old exit code: 0
Altai-man_, bisect log: gist.github.com/12aca133f75df086f7...b8e14970cc
Altai-man_, (2019-08-23) github.com/rakudo/rakudo/commit/c9...55c4f05f98
Altai-man_ bisectable6, old=2019.11 new=73e98a6 use Test; my UInt %composed; role MooishAttrHOW { method compose( Mu $pkg ) { %composed{self.name}++; callsame; } }; multi trait_mod:<is> (Attribute:D $attr, :$mooish!) { $attr does MooishAttrHOW }; class Foo { has $.bar is mooish is rw }; is-deeply %composed<$!bar>, 1, "attribute composed once"; 18:24
bisectable6 Altai-man_, Bisecting by exit code (old=2019.11 new=73e98a6). Old exit code: 0
Altai-man_, bisect log: gist.github.com/f193bc0dfa0197119e...aa36b25e23
Altai-man_, (2020-01-01) github.com/rakudo/rakudo/commit/55...84b74f2b17
Geth rakudo: Altai-man assigned to vrurg Issue Attributes sometimes composed more than once on Rakudo 2019.11+ blead github.com/rakudo/rakudo/issues/3412
272b658af7 | (Elizabeth Mattijsen)++ | src/core.c/Rational.pm6

  - with 10% fewer allocations.
  - don't use a native str array and nqp::join, just use nqp::concat
18:25
lizmat AlexDaniel: where is the RT -> GH map located ? 19:11
AlexDaniel lizmat: gist.github.com/AlexDaniel/385e986...e65249edde
it's a fork of toddr's gist
lizmat thinking of putting that into a module 19:12
bisectable6: dd Map.new(1,2,3,4) 19:19
bisectable6 lizmat, Bisecting by output (old=2015.12 new=272b658) because on both starting points the exit code is 0
lizmat, bisect log: gist.github.com/34283a97509385a4cd...f1346a1b49
lizmat, (2019-08-23) github.com/rakudo/rakudo/commit/c9...55c4f05f98
19:38 domidumont left 19:54 sena_kun joined 19:55 Altai-man_ left
nine Xliff: I think your line numbers don't match master anymore :) 20:19
Xliff: the gist is: we run rakudo in precompilation mode, which gives us a MoarVM bytecode file. We prepend a header with a checksum and dependency information. And then rename the result file over the previous one. That rename is crucial, as that's guaranteed to be atomic. This allows for us to not lock a repo when reading. 20:21
Xliff: this part: my $bc = "$io.bc".IO is actually quite ugly, as we're not supposed to assume that the precomp store uses a cirtain file system layout or files at all. Might want to change that to a temporary file at some point. 20:45
Geth rakudo: 70f96d9b4b | (Elizabeth Mattijsen)++ | src/core.c/REPL.pm6
Remove JVM backend dependent code

The associated ticket:
   github.com/Raku/old-issue-tracker/issues/5617
is marked as resolved, so there is no need for the exception anymore.
20:59
21:13 [Coke] left
Geth rakudo: 276c06d33b | (Elizabeth Mattijsen)++ | src/core.c/Stringy.pm6
Remove RT reference because it is no longer applicable

The ticket referred to missing use of nqp::p6bool, which is:
  - replaced by nqp::hllbool
  - and is used in this piece of code
21:22
rakudo: d6970e96b3 | (Elizabeth Mattijsen)++ | src/Perl6/Compiler.nqp
Remove mention of long solved ticket
rakudo: 3e332a1adf | (Elizabeth Mattijsen)++ | 8 files
Move references of RT tickets to the migrated GH tickets

By replacing the RT number by a fully clickable URL
rakudo: rbt++ created pull request #3413:
Run add_phasers_handling_code once for methods
21:51
21:55 sena_kun left 22:21 thundergnat joined
thundergnat m: class MyInt is Int { }; my $x = 42; Metamodel::Primitives.rebless( $x, MyInt); dd $x 22:21
camelia New type MyInt for Int is not a mixin type
in block <unit> at <tmp> line 1
thundergnat Hmm. That used to work. 22:22
bisectable6, class MyInt is Int { }; my $x = 42; Metamodel::Primitives.rebless( $x, MyInt); dd $x 22:23
bisectable6 thundergnat, Bisecting by exit code (old=2015.12 new=3e332a1). Old exit code: 0
thundergnat, bisect log: gist.github.com/0cc0c678fc789ac7bd...1a1914d242
thundergnat, There are 3 candidates for the first “new” revision. See the log for more details
AlexDaniel 6c: class MyInt is Int { }; my $x = 42; Metamodel::Primitives.rebless( $x, MyInt); dd $x
committable6 AlexDaniel, gist.github.com/fbf6aece339ffef8a1...b1c58b0da2
AlexDaniel m: old=2019.03.1 class MyInt is Int { }; my $x = 42; Metamodel::Primitives.rebless( $x, MyInt); dd $x 22:24
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed postfix call
at <tmp>:1
------> 3old=2019.03.7⏏051 class MyInt is Int { }; my $x = 42; Me
AlexDaniel bisect: old=2019.03.1 class MyInt is Int { }; my $x = 42; Metamodel::Primitives.rebless( $x, MyInt); dd $x
bisectable6 AlexDaniel, Bisecting by exit code (old=2019.03.1 new=3e332a1). Old exit code: 0
AlexDaniel, bisect log: gist.github.com/c13043b0c069803aa2...d672490412
AlexDaniel, There are 3 candidates for the first “new” revision. See the log for more details
AlexDaniel thundergnat: yeah, please file a ticket 22:25
thundergnat ok
Xliff Where is the code that handles --output? 22:34
thundergnat Issue filed: GH#3414 22:40
Geth rakudo: 06292bc826 | (Elizabeth Mattijsen)++ | 19 files
Replace RT ticket references to GitHub

And updated some "new" GH references to a full link as well.
22:43
lizmat will do roast probably on Sundat 22:44
*Sunday
22:44 patrickb joined 22:55 vrurg_ joined 22:56 vrurg left 23:30 lucasb left