00:03 patrickb left 00:04 rmmm joined
Xliff m: role Metamodel::MyRoleHOW { method specialize (Mu \r, Mu:U \obj, *@pos, *%named) { say 'Meee!'; }; role A { }; A.HOW does Metamodel::MyRoleHOW; A.^name.say 00:05
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot declare our-scoped role inside of a role
(the scope inside of a role is generic, so there is no unambiguous
package to install the symbol in)
at <tmp>:1
------> 3*@pos, *%named) { say 'M…
Xliff m: role Metamodel::MyRoleHOW { method specialize (Mu \r, Mu:U \obj, *@pos, *%named) { say 'Meee!'; }; }; role A { }; A.HOW does Metamodel::MyRoleHOW; A.^name.say
camelia A
Xliff m: role Metamodel::MyRoleHOW { method specialize (Mu \r, Mu:U \obj, *@pos, *%named) { say 'Meee!'; }; }; role A { }; A.HOW does Metamodel::MyRoleHOW; A.HOW.^name.say
camelia Perl6::Metamodel::ParametricRoleGroupHOW+{Metamodel::MyRoleHOW}
jnthn Xliff: The group contains all roles with the same short name
Xliff m: role Metamodel::MyRoleHOW { method specialize (Mu \r, Mu:U \obj, *@pos, *%named) { say 'Meee!'; }; }; role A { }; A.HOW does Metamodel::MyRoleHOW; A.HOW.^name.say; class B does A { }; B.new 00:06
camelia Perl6::Metamodel::ParametricRoleGroupHOW+{Metamodel::MyRoleHOW}
Xliff m: role Metamodel::MyRoleHOW { method specialize (Mu \r, Mu:U \obj, *@pos, *%named) { say 'Meee!'; }; }; role A { }; A.HOW does Metamodel::MyRoleHOW; class B does A { }; B.new
camelia ( no output )
jnthn Xliff: So given role R[::T] { } and role R[::T1, ::T2] { } then there's one parametric role group installed at R, holding the two parametric roles
Xliff jnthn: How come I don't see 'Mee'?
Or 'Meee!'? 00:07
specialize used to be called in this manner, now it's not.
jnthn Xliff: Not sure, that surprises me a bit 00:08
Xliff And even that is different. A role defined inside a compunit is a Perl6::Metamodel::ParametricRoleHOW, not a ParametricRoleGroupHOW.
jnthn Oh!!
Actually it's obvious
Xliff Maybe to you! :)
jnthn `does` happens at runtime, but compile-time composition happens at compile time
Xliff m: role Metamodel::MyRoleHOW { method specialize (Mu \r, Mu:U \obj, *@pos, *%named) { say 'Meee!'; }; }; role A { }; A.HOW but Metamodel::MyRoleHOW; class B does A { }; B.new
camelia Died with X::Method::NotFound
in block <unit> at <tmp> line 1
jnthn You need to do the mixin at compile time 00:09
Xliff Hrm... best way to do that?
jnthn BEGIN
Xliff LOL! OK.
That... does not help me a bit.
jnthn Well, obvious as in "compared to going through the source wondering what on earth" :)
How so?
Xliff Well, I need to pun the roles via a trait_mod 00:10
jnthn m: role Metamodel::MyRoleHOW { method specialize (Mu \r, Mu:U \obj, *@pos, *%named) { say 'Meee!'; }; }; role A { }; BEGIN A.HOW does Metamodel::MyRoleHOW; class B does A { }; B.new
camelia Meee!
5===SORRY!5=== Error while compiling <tmp>
Cannot find method 'collisions' on object of type Perl6::Metamodel::EnumHOW
at <tmp>:1
jnthn Um, what...
Where did the enum come from... 00:11
Oh...but it did output "Meee!"
Xliff m: role Metamodel::MyRoleHOW { method specialize (Mu \r, Mu:U \obj, *@pos, *%named) { say 'Meee!'; }; }; role A { }; BEGIN { A.HOW does Metamodel::MyRoleHOW; }; class B does A { }; B.new
camelia Meee!
5===SORRY!5=== Error while compiling <tmp>
Cannot find method 'collisions' on object of type Perl6::Metamodel::EnumHOW
at <tmp>:1
jnthn Oh, it's 'cus `say` returns `True` :D
Xliff Ah.
m: role Metamodel::MyRoleHOW { method specialize (Mu \r, Mu:U \obj, *@pos, *%named) { say 'Meee!'; Nil}; }; role A { }; BEGIN { A.HOW does Metamodel::MyRoleHOW; }; class B does A { }; B.new
camelia Meee!
5===SORRY!5=== Error while compiling <tmp>
Cannot find method 'collisions' on object of type Perl6::Metamodel::ClassHOW
at <tmp>:1
jnthn Well, you need to actually return a specialization :) 00:12
Xliff m: role Metamodel::MyRoleHOW { method specialize (Mu \r, Mu:U \obj, *@pos, *%named --> Nil) { say 'Meee!'; Nil }; }; role A { }; BEGIN { A.HOW does Metamodel::MyRoleHOW; }; class B does A { }; B.new
camelia Meee!
5===SORRY!5=== Error while compiling <tmp>
Cannot find method 'collisions' on object of type Perl6::Metamodel::ClassHOW
at <tmp>:1
Xliff m: role Metamodel::MyRoleHOW { method specialize (Mu \r, Mu:U \obj, *@pos, *%named --> Nil) { say 'Meee!' }; }; role A { }; BEGIN { A.HOW does Metamodel::MyRoleHOW; }; class B does A { }; B.new
camelia Meee!
5===SORRY!5=== Error while compiling <tmp>
Cannot find method 'collisions' on object of type Perl6::Metamodel::ClassHOW
at <tmp>:1
Xliff m: role Metamodel::MyRoleHOW { method specialize (Mu \r, Mu:U \obj, *@pos, *%named) { say 'Meee!'; self; }; }; role A { }; BEGIN { A.HOW does Metamodel::MyRoleHOW; }; class B does A { }; B.new
camelia Meee!
5===SORRY!5=== Error while compiling <tmp>
Cannot find method 'collisions' on object of type NQPClassHOW
at <tmp>:1
Xliff ?!?
OK. Well one question answered... sorta. 00:13
jnthn m: role Metamodel::MyRoleHOW { method specialize (Mu \r, Mu:U \obj, *@pos, *%named) { say 'Meee!'; nextsame }; }; role A { }; BEGIN A.HOW does Metamodel::MyRoleHOW; class B does A { }; B.new
camelia Meee!
jnthn There we go :)
Xliff Ahhh!
jnthn Don't know if that's ultimately what you want, but delegating to the original implementation will do the job 00:14
Xliff OK. Is there any way to delay some of this until run-time?
Are trait_mods compile time?
jnthn Yes
Xliff OK. Great!
jnthn Can you define "some of this"? :)
Ah, if trait application being compile time suffices, then fine :) 00:15
Xliff Yes.
However I need to know if BEGIN time at the compunit level is enough.
If I am compiling multiple compunits, will begin wait until all are compiled? 00:16
s/begin/BEGIN/
jnthn BEGIN is executed as soon as the compiler reaches it
Well, after it's parsed it
Modulo a hack to make sure it's eaten a heredoc
Xliff So I want to define a way to execute a piece of code for every comp unit compiled. 00:17
jnthn If you're in a trait_mod then you're implicitly at compile time
Xliff So that I can then compose method aliases.
jnthn So no need to write BEGIN in one of those 00:18
Xliff Method aliases are established at compile time, but due to how roles compose protos, those protos are NOT available until class composition time.
s/protos/method candidate/ 00:19
So I want to wait until the class is composed before I assign the method aliases established in the role. 00:21
jnthn Ah, hm. 00:22
Xliff jnthn: See discussion here ... github.com/lizmat/Method-Also/issues/1
jnthn That's an interesting one
And probably needs more brain than I have left today
Xliff This was fixed a while ago... now we're back to square one.
Yeah... well... *sigh*
My stuff is broken until I can get this fixed again... and I still have partially eaten brain left.
It's just so DISAPPOINTING to get something fixed and have it break again. 00:23
This issue PROBABLY needs an internal fix and should not be left to module space.
jnthn If the problem is that you want to do something after protos have been produced, maybe you want to override incorporate_multi_candidates, callsame it, and then do your stuff 00:25
You probably don't want to really wait until after the class composition is totally done, otherwise you're after method cache handling 00:27
Probably hooking in at the earliest point after the things you need are in place would work 00:28
Xliff So that would be incorporate_multi_candidates? 00:29
00:29 sena_kun left
Xliff I'm still trying to understand why it stopped working when punning to ParametricRoleHOW! 00:30
Kaiepi oh boy, mixing in features to roles...
doesn't sound fun 00:31
Xliff Worse... roles in the Metamodel!
Kaiepi i'm mixing in support for parameterization to subsets atm, and that's bad enough, let alone roles
for different reasons though 00:32
jnthn Could be worse; you could have been the one that had to design and implement the whole thing in the first place... ;-) 00:33
Kaiepi heh
part of the problem is raku classes and roles don't always play nice with the nqp ones for rakudo's metamodels
m: class FooHOW does Metamodel::MethodContainer { }; say FooHOW.^methods.^name 00:34
camelia List
Kaiepi m: class FooHOW does Metamodel::MethodContainer { }; say FooHOW.^method_table.^name
camelia Hash
Kaiepi wait what?
jnthn Return values get hllize'd
Kaiepi that was returning nqp::null() last time i tried
i'll have to figure out what i was doing at the time for that to happen 00:35
jnthn Are you sure you're doing what you thing you're doing? YOu're calling a method on the meta-class of FooHOW, not on FooHOW
Kaiepi oh right
jnthn *think
Kaiepi m: class FooHOW does Metamodel::MethodContainer { method new_type() { Metamodel::Primitives.create_type: self.new } }; my constant Foo = FooHOW.new_type; say Foo.^methods.^name 00:36
camelia Cannot iterate over a VMNull type object
in block <unit> at <tmp> line 1
Kaiepi there we go
jnthn Urgh, yes
I can guess how that happens; there's probably not an easy fix
(Though surely a not-easy one is possible :))
Kaiepi with parametric subsets, the issue i'm having rn is ensuring they can handle parameterizations without keeping state since raku attributes don't play nice either 00:38
luckily i've been learning haskell lately so there's a functional approach to this i can use to accomplish this
*parameterizations with generics 00:39
jnthn sleep time o/ 00:47
Kaiepi night 00:50
japhb Is there a way to change the default method invocant constraint for a class so that all methods are constrained to be instance methods (or alternately, constrained to be class methods) unless otherwise specified?
Having `::?CLASS:D: ` at the start of every signature is very cluttery 00:52
Xliff Oh... that would be nice. 00:53
japhb Actually, I'd love to be able to default *all* of the type smilies to :D, then use :U or :_ explicitly for the other choices. I'm fairly certain that would not only de-clutter my code, but vastly reduce a big source of bugs -- it ought to be possible for people to say "Make me do extra work to allow undefined arguments". 01:07
Kaiepi m: role Foo[\T] { say (try my ::?CLASS:D $ = T) // 'oops!' }; Foo[1].new 01:26
camelia oops!
oops!
Kaiepi generics mess with this though
wait nvm that's a separate issue 01:28
it'd be nice but i'm wary of what would happen if that were the case 01:29
02:19 rmmm left 02:51 Kaiepi left 02:53 Kaiepi joined, Kaiepi left 02:54 Kaiepi joined 02:55 Kaiepi left 02:56 Kaiepi joined 03:08 cognominal joined 03:10 Kaiepi left 03:11 Kaiepi joined, cognomin_ left 03:14 cognomin_ joined 03:18 cognominal left
Xliff m: role NewRoleHOW { method incorporate_multi_candidates (|) { my \r := callsame; say 'HIII!'; r; }; }; role = 04:27
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse role definition
at <tmp>:1
------> 3 := callsame; say 'HIII!'; r; }; }; role7⏏5 =
expecting any of:
generic role
Xliff m: role NewRoleHOW { method incorporate_multi_candidates (|) { my \r := callsame; say 'HIII!'; r; }; }; role B { multi method a (Str $a) { say 'Str'; }; multi method a (Int $i) { say 'Int'; }; }; 04:28
camelia ( no output )
Xliff m: role NewRoleHOW { method incorporate_multi_candidates (|) { my \r := callsame; say 'HIII!'; r; }; }; role B { multi method a (Str $a) { say 'Str'; }; multi method a (Int $i) { say 'Int'; }; }; class A does B { }; A.HOW does NewRoleHow; A.new.a('H')
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
NewRoleHow used at line 1. Did you mean 'NewRoleHOW'?
Xliff m: role NewRoleHOW { method incorporate_multi_candidates (|) { my \r := callsame; say 'HIII!'; r; }; }; role B { multi method a (Str $a) { say 'Str'; }; multi method a (Int $i) { say 'Int'; }; }; class A does B { }; A.HOW does NewRoleHOW; A.new.a('H')
camelia Str
Xliff m: role NewRoleHOW { method incorporate_multi_candidates (|c) { my \r := callsame; say 'HIII!'; r; }; }; role B { multi method a (Str $a) { say 'Str'; }; multi method a (Int $i) { say 'Int'; }; }; class A does B { }; A.HOW does NewRoleHOW; A.new.a('H')
camelia Str
Xliff m: role NewRoleHOW { method incorporate_multi_candidates (|c) { my \r := callsame; say 'HIII!'; r; }; }; role B { multi method a (Str $a) { say 'Str'; }; multi method a (Int $i) { say 'Int'; }; }; class A does B { }; BEGIN A.HOW does NewRoleHOW; A.new.a('H') 04:29
camelia Str
Xliff m: role NewRoleHOW { method incorporate_multi_candidates (|c) { my \r := callsame; say 'HIII!'; r; }; }; role B { multi method a (Str $a) { say 'Str'; }; multi method a (Int $i) { say 'Int'; }; }; class A does B { }; BEGIN { A.HOW does NewRoleHOW; }; A.new.a('H')
camelia Str
Xliff m: role NewRoleHOW { method incorporate_multi_candidates (|c) { my \r := callsame; say 'HIII!'; r; }; }; role B { multi method a (Str $a) { say 'Str'; }; multi method a (Int $i) { say 'Int'; }; }; class A does B { }; BEGIN { A.HOW does NewRoleHOW; }; A.new.a('H')
camelia Str
Xliff m: role NewRoleHOW { method incorporate_multi_candidates (|c) { my \r := callsame; say 'HIII!'; r; }; }; role B { multi method a (Str $a) { say 'Str'; }; multi method a (Int $i) { say 'Int'; }; }; class A does B { }; BEGIN { A.HOW does NewRoleHOW; }; A.new.a('H') 04:30
camelia Str
Xliff m: role NewRoleHOW { method incorporate_multi_candidates ($obj) { my \r := callsame; say 'HIII!'; r; }; }; role B { multi method a (Str $a) { say 'Str'; }; multi method a (Int $i) { say 'Int'; }; }; class A does B { }; BEGIN { A.HOW does NewRoleHOW; }; A.new.a('H') 04:54
camelia Str
Xliff m: role NewRoleHOW { method incorporate_multi_candidates ($obj) { my \r := callsame; say 'HIII!'; r; }; }; role B { multi method a (Str $a) { say 'Str'; }; multi method a (Int $i) { say 'Int'; }; }; class A does B { }; BEGIN { A.HOW does NewRoleHOW; }; A.HOW.^name.say 04:55
camelia Perl6::Metamodel::ClassHOW+{NewRoleHOW}
Xliff m: role NewRoleHOW { method incorporate_multi_candidates ($obj) { my \r := callsame; say 'HIII!'; r; }; }; role B { multi method a (Str $a) { say 'Str'; }; multi method a (Int $i) { say 'Int'; }; }; class A does B { }; BEGIN A.HOW but NewRoleHOW; A.HOW.^name.say 04:56
camelia 5===SORRY!5=== Error while compiling <tmp>
An exception occurred while evaluating a BEGIN
at <tmp>:1
Exception details:
Died with X::Method::NotFound
in code at <tmp> line 1
Xliff m: role NewRoleHOW { method incorporate_multi_candidates ($obj) { my \r := callsame; say 'HIII!'; r; }; }; role B { multi method a (Str $a) { say 'Str'; }; multi method a (Int $i) { say 'Int'; }; }; class A does B { }; BEGIN A.HOW does NewRoleHOW; A.HOW.^name.say
camelia Perl6::Metamodel::ClassHOW+{NewRoleHOW}
Xliff m: role NewRoleHOW { method incorporate_multi_candidates ($obj) { my \r := callsame; say 'HIII!'; r; }; }; role B { multi method a (Str $a) { say 'Str'; }; multi method a (Int $i) { say 'Int'; }; }; class A does B { }; BEGIN A.HOW does NewRoleHOW;
camelia ( no output )
Xliff m: role NewRoleHOW { method incorporate_multi_candidates ($obj) { my \r := callsame; say 'HIII!'; r; }; }; role B { multi method a (Str $a) { say 'Str'; }; multi method a (Int $i) { say 'Int'; }; }; class A does B { }; BEGIN A.HOW does NewRoleHOW; A.new.a(1) 04:57
camelia Int
Xliff m: role NewRoleHOW { method incorporate_multi_candidates ($obj) { callsame; say 'HIII!'; }; }; role B { multi method a (Str $a) { say 'Str'; }; multi method a (Int $i) { say 'Int'; }; }; class A does B { }; BEGIN A.HOW does NewRoleHOW; A.new.a(1)
camelia Int
Xliff m: role NewRoleHOW { method incorporate_multi_candidates ($obj) { callsame; say 'HIII!'; }; }; role B { multi method a (Str $a) { say 'Str'; }; multi method a (Int $i) { say 'Int'; }; }; class A does B { }; BEGIN A.HOW does NewRoleHOW;
camelia ( no output )
Xliff m: role NewRoleHOW { method incorporate_multi_candidates ($obj) { callsame; say 'HIII!'; }; }; role B { multi method a (Str $a) { say 'Str'; }; multi method a (Int $i) { say 'Int'; }; }; class A does B { }; BEGIN B.HOW does NewRoleHOW; 04:58
camelia ( no output )
Xliff m: role NewRoleHOW { method incorporate_multi_candidates ($obj) { callsame; say 'HIII!'; }; }; role B { multi method a (Str $a) { say 'Str'; }; multi method a (Int $i) { say 'Int'; }; }; class A does B { }; BEGIN { A.HOW does NewRoleHOW; B.HOW does NewRoleHOW; };
camelia ( no output )
Xliff jnthn: ^^^ ????
06:30 Kaiepi left 06:37 Kaiepi joined, Kaiepi left 06:38 Kaiepi joined 06:39 Kaiepi left 06:40 discord61 joined, Kaiepi joined, discord6 left, discord61 is now known as discord6 06:55 discord6 left, discord6 joined 07:13 Kaiepi left 08:07 Kaiepi joined 08:23 Xliff left 09:16 Kaiepi left 09:22 Kaiepi joined 10:23 ufobat joined 10:37 jmerelo joined
jmerelo hey 10:37
tellable6 2019-11-30T14:35:13Z #raku <tbrowder> jmerelo post updated--basically done, but still some minor edits to make (i need to add another note), and i'll try to fix the wordpress issues with extra newlines.
2019-11-30T19:03:57Z #raku <tbrowder> jmerelo i took 9 dec slot. though i'm happy to give it up if someone else wants it, but speak soon!
2019-11-30T19:06:10Z #raku <tbrowder> jmerelo check yr email
2019-12-01T00:04:15Z #raku <tbrowder> jmerelo wordpress is not showing my latest version!!!! wp sucks rocks
2019-12-01T00:12:48Z #raku <tbrowder> jmerelo it looks like it's finally taken my update-whew!
jmerelo clickbaits the first day of the Advent Calendar rakuadventcalendar.wordpress.com/2...perl-code/ 10:38
Also, now Google search from the search slot actually searches docs.raku.org. Check it out at docs-stage.raku.org/ 10:40
As usual, if everything's OK, I'll deploy to docs.raku.org
Tanks rba++ for setting up this stating infrastructure. It's great for, well, staging changes before being deployed to the actual site.
s/stating/staging/ 10:41
10:50 sena_kun joined
jmerelo sena_kun: ready for today's advent calendar? 10:58
tonight, rather 10:59
I see it's already scheduled. I'll add some links, if you don't mind. 11:00
11:02 sena_kun left
jmerelo .tell sena_kun I've done a bit of editing here and there. Other than that, perfect! 11:03
tellable6 jmerelo, I'll pass your message to sena_kun
11:16 sena_kun joined 11:40 ufobat_ joined 11:43 ufobat left 11:50 ufobat joined 11:52 ufobat_ left
Geth ¦ rakudo: lizmat self-unassigned LTA: Heredocs give warning trouble with empty lines that are partially indented github.com/rakudo/rakudo/issues/2409 11:56
11:58 MasterDuke left
lizmat Files=1290, Tests=109646, 207 wallclock secs (27.95 usr 7.92 sys + 2915.13 cusr 261.17 csys = 3212.17 CPU) 11:58
[Tux] Rakudo version 2019.11-71-gc16b5a204 - MoarVM version 2019.07.1-395-geb3d981d7
csv-ip5xs0.723 - 0.819
csv-ip5xs-206.669 - 6.727
csv-parser21.604 - 23.045
csv-test-xs-200.426 - 0.434
test7.425 - 7.619
test-t1.747 - 1.790
test-t --race0.823 - 0.946
test-t-2028.953 - 29.193
test-t-20 --race9.054 - 9.665
12:16
12:31 ufobat left
tbrowder lizmat: does the heredoc issue seem hard to fix? 12:40
lizmat tbrowder: I'm a complete noob wrt to heredocs, so I'm not the most efficient person to be responsible for fixing that issue 12:41
tbrowder can it be fixed in Rakudo instead of nqp?
lizmat I have no idea
tbrowder ok, thnx 12:42
lizmat 's mind is in CoC land atm
Geth problem-solving/CoC: 48f4c51ebe | (Elizabeth Mattijsen)++ | solutions/meta/CoC.md
Rework the "Responsibility" section
12:44
SmokeMachine . 12:55
tellable6 2019-11-30T16:07:57Z #raku-dev <lizmat> SmokeMachine could you please check that Red survived github.com/rakudo/rakudo/commit/1d8d62d46d ?
SmokeMachine lizmat: I’ll take a look 12:56
13:02 sena_kun left
SmokeMachine thanks! 13:04
lizmat is off for some F1& 13:05
13:17 sena_kun joined, sena_kun left 13:30 MasterDuke joined
MasterDuke anyone know anything about this? "Tree-sitter - a new parsing system for programming tools" by Max Brunsfeld, www.youtube.com/watch?v=Jes3bD6P0To 13:38
jnthn .tell Xliff You'd need to arrange for that to be overridden in the ClassHOW 13:42
tellable6 jnthn, I'll pass your message to Xliff
Geth nqp: 4b3bb9c8c3 | (Stefan Seifert)++ | tools/templates/MOAR_REVISION
Bump MoarVM for NativeCall's new serialize_lib_name attribute
14:04
rakudo: 55b3ed5626 | (Stefan Seifert)++ | 2 files
Fix relocatability of bundled native libraries

Native libraries (and other resource files) bundled with installed modules are supposed to be relocatable, i.e. their path is always relative to the current path of the repository. This is especially important for packaging as the module will get installed into a temporary build directory using the Staging repository. The generated files will be moved to their final location when ... (5 more lines)
14:09 sena_kun joined 15:02 sena_kun left 15:18 sena_kun joined 15:52 patrickb joined 15:56 jmerelo left 16:00 ufobat joined
Geth rakudo: 7cfdd59823 | (Patrick Böker)++ | 18 files
Rename PERL6_HOME to RAKUDO_HOME

Same for Configure.pl parameter --perl6-home -> --rakudo-home. Stay backwards compatible by mapping --perl6-home to --rakudo-home and accepting both PERL6_HOME and RAKUDO_HOME environment variables. This commit does not yet touch any file system paths. These changes require a newer nqp_configure which the commit also pulls in.
16:20
rakudo: ab2ba1ab22 | (Patrick Böker)++ (committed using GitHub Web editor) | 18 files
Merge pull request #3321 from patzim/perl6-to-rakudo-home

Rename PERL6_HOME to RAKUDO_HOME
problem-solving/CoC: e2b18bf640 | (Elizabeth Mattijsen)++ | solutions/meta/CoC.md
Make discrimination clause more specific
16:22
16:28 ufobat left
patrickb .tell nine Can you have a look this PR please? -> github.com/rakudo/rakudo/pull/3282 16:33
tellable6 patrickb, I'll pass your message to nine
17:00 sena_kun left
Geth rakudo: patzim++ created pull request #3335:
Make the raku symlinks relative
17:06
17:11 discord6 left, AlexDaniel left, vrurg left, jjatria left, moon-child left, pochi left, jnthn left, klapperl left, go|dfish left, timotimo left, patrickb left, Geth left, robertle left, cognomin_ left, dmc00 left, nebuchadnezzar left, TreyHarris left, rba[m] left, unicodable6 left, committable6 left, Demos[m] left, kawaii left, Kaiepi left, maettu left, samcv left, [Coke] left, japhb left, lucs left, moritz left, jdv79 left, b2gills left, sjn left, Ulti left, timotimo[m] left, quotable6 left, bloatable6 left, benchable6 left, coverable6 left, reportable6 left, greppable6 left, nativecallable6 left, statisfiable6 left, shareable6 left, squashable6 left, tellable6 left, kubrat left, rba left, epony left, EuAndreh[m] left, zostay left, MasterDuke left, lizmat left, releasable6 left, notable6 left, bisectable6 left, tyil[m] left, evalable6 left, ZzZombo left, AlexDaniel` left, kurahaupo left 17:12 patrickb joined, MasterDuke joined, Kaiepi joined, discord6 joined, cognomin_ joined, AlexDaniel joined, ZzZombo joined, Geth joined, lizmat joined, dmc00 joined, vrurg joined, robertle joined, quotable6 joined, releasable6 joined, notable6 joined, unicodable6 joined, bloatable6 joined, committable6 joined, benchable6 joined, coverable6 joined, bisectable6 joined, reportable6 joined, nativecallable6 joined, greppable6 joined, statisfiable6 joined, shareable6 joined, squashable6 joined, jjatria joined, timotimo[m] joined, tyil[m] joined, EuAndreh[m] joined, Demos[m] joined, rba[m] joined, AlexDaniel` joined, maettu joined, moon-child joined, pochi joined, nebuchadnezzar joined, samcv joined, [Coke] joined, tellable6 joined, japhb joined, TreyHarris joined, evalable6 joined, b2gills joined, epony joined, sjn joined, jnthn joined, kubrat joined, kurahaupo joined, lucs joined, camelia joined, dogbert17 joined, tony-o joined, bartolin joined, nine joined, SyrupThinker joined, masak joined, tyil joined, tobs joined, Hotbees joined, klapperl joined, go|dfish joined, timotimo joined, Ulti joined, moritz joined, kawaii joined, jdv79 joined, rba joined, zostay joined
tbrowder MasterDuke: looks pretty slick! 17:13
17:15 sena_kun joined
Geth rakudo: 92a8a08f5d | (Elizabeth Mattijsen)++ | src/core.c/Int.pm6
Introducing .base("beer") and .base("camel")

Yes, this isn't serious, but doesn't affect performance of Int.base at all, and it was too long ago since we added another easter egg to Rakudo. The amount of -Oseriousness was at a maximum.
17:24
17:40 AlexDaniel left 17:41 AlexDaniel joined, AlexDaniel left, AlexDaniel joined
Geth rakudo: 314aa05e9b | (Aleks-Daniel Jakimenko-Aleksejev)++ | src/core.c/Int.pm6
Revert "Introducing .base("beer") and .base("camel")"

This reverts frivolous commit 92a8a08f5dd073fe1d8c774bfbd52d916362afd7.
  “You think it's funny today” except that it's not even funny.
17:55
lizmat wow, not even 30 minutes 18:02
ok, just about 30 minutes
AlexDaniel :) 18:03
lizmat is this the signal to remove all of the other easter eggs ?
lizmat is a little disappointed 18:04
sjn thinks there's too little humour and wit in software development in general 18:05
sena_kun thought there is Raku Advent where people can show off tricks and write things like this one 18:09
AlexDaniel ping...?
I am playing with sake all for releasing, resolving the arising questions... the one thing I am worrying right now is that won't I accidentally "release" nqp? as in, I have access to push. 18:10
AlexDaniel if you want to introduce fun stuff, please commit to whateverable :D
sena_kun: no
sena_kun great
AlexDaniel sena_kun: unless you run `sake human-upload` 18:11
and even that will fail
sena_kun .oO ( failures are welcome )
sena_kun continues to stare at logs
lizmat goes off to do something else for the rest of the day 18:17
18:26 ufobat joined 18:57 lucasb joined 19:00 sena_kun left
japhb lizmat: Idea for mixing in easter eggs -- a branch named something egg-related, like 'fritatta' because it's baked eggs with other stuff mixed in, that has all the patches for various easter eggs. If someone wants an up-to-date but eggy form of rakudo, they can just rebase that branch onto master and build it. :-) 19:03
nine Wait...beer and camel are gone already? Wanted to try them on camelia but went for cooking first :( 19:14
tellable6 2019-12-01T16:33:42Z #raku-dev <patrickb> nine Can you have a look this PR please? -> github.com/rakudo/rakudo/pull/3282
19:17 sena_kun joined
Geth rakudo: a00628e0fb | (Patrick Böker)++ | tools/templates/moar/Makefile.in
Make the raku symlinks relative

This makes them work when relocated.
19:19
rakudo: 84ef864cb3 | (Patrick Böker)++ (committed using GitHub Web editor) | tools/templates/moar/Makefile.in
Merge pull request #3335 from patzim/relative-raku-symlink

Make the raku symlinks relative
rakudo/master: 5 commits pushed by (Patrick Böker)++
patrickb .tell rba Now I'm at the point where I need external feedback to progress with the rakudo.org website changes. Any updates on the test server? 19:23
tellable6 patrickb, I'll pass your message to rba
AlexDaniel nine: try them on committable then 20:02
c: 92a8a08f5 say 42.base(‘beer’)
committable6 AlexDaniel, ¦92a8a08: «🍻🍺🍻🍺🍻🍺␤»
Geth rakudo: MasterDuke17++ created pull request #3336:
Fix "unused variable" compiler warnings in C ops
20:03
20:18 ufobat_ joined 20:22 ufobat left
AlexDaniel u: 🩂 20:22
unicodable6 AlexDaniel, U+1FA42 NEUTRAL CHESS BISHOP ROTATED TWO HUNDRED SEVENTY DEGREES [So] (🩂)
AlexDaniel what
gist.github.com/Whateverable/5f092...dafee14a35 20:23
u: 🨆 20:24
unicodable6 AlexDaniel, U+1FA06 WHITE CHESS KNIGHT ROTATED FORTY-FIVE DEGREES [So] (🨆)
AlexDaniel u: white chess knight 20:26
unicodable6 AlexDaniel, U+2658 WHITE CHESS KNIGHT [So] (♘)
AlexDaniel, U+1FA06 WHITE CHESS KNIGHT ROTATED FORTY-FIVE DEGREES [So] (🨆)
AlexDaniel, 11 characters in total (♘🨆🨍🨛🨢🨰🨷🩅🩎🩏🩐): gist.github.com/70c0843cbd039fc694...0812e87cad
AlexDaniel github.com/ryn1x/Terminal-Spinners/issues/5 20:28
20:32 ufobat_ left 21:01 sena_kun left 21:16 sena_kun joined 21:30 Xliff joined 21:48 travis-ci joined
travis-ci Rakudo build passed. Patrick Böker 'Merge pull request #3335 from patzim/relative-raku-symlink 21:48
travis-ci.org/rakudo/rakudo/builds/619314597 github.com/rakudo/rakudo/compare/3...ef864cb321
21:48 travis-ci left
AlexDaniel m: my $a = ‘🐪’; for ^30 { say $a++ } 21:58
camelia 🐪
🐫
🐫🐪
🐫🐫
🐫🐪🐪
🐫🐪🐫
🐫🐫🐪
🐫🐫🐫
🐫🐪🐪🐪
🐫🐪🐪🐫
🐫🐪🐫🐪
🐫🐪🐫🐫
🐫🐫🐪🐪
🐫🐫🐪🐫
🐫🐫🐫🐪
🐫🐫🐫🐫
AlexDaniel e: my $a = ‘🐪’; for ^30 { say $a++ }
evalable6 🐪
🐫
🐫🐪
🐫🐫
🐫🐪🐪
AlexDaniel, Full output: gist.github.com/9bbd9af332dea12b87...3334dfc54f
Geth rakudo: 77ffb06330 | (Elizabeth Mattijsen)++ | 3 files
"I think that the source code is not the place where you make jokes by introducing special cases"

I guess this is the consequence of Raku becoming a serious programming language. :-(
22:18
lizmat I guess I should have stayed away from the keyboard this evening :-( 22:23
I will now
AlexDaniel lizmat: I guess I'm wrong, actually 22:36
I totally forgot that ++ does that magic
there was a ticket somewhere discussing .succ on strings, but as long as this behavior is there, you can do whatever 22:37
beer or not beer, it's unpredictable anyway
.oO( Tonight on Raku FM! AlexDaniel learns about ++ operator )
22:45
so both .succ and ++ on strings do the same, but there's also another behavior that you can get with .. 22:46
AlexDaniel shrugs and runs away
m: my $x = ‘-42’; $x++; say $x 22:49
camelia -43
AlexDaniel rrrright
m: my $x = ‘-42’; say $x + 1
camelia -41
Geth rakudo: 68cee0dd41 | (Daniel Green)++ | src/vm/moar/ops/perl6_ops.c
Fix "unused variable" compiler warnings in C ops
22:50
rakudo: a707633755 | niner++ (committed using GitHub Web editor) | src/vm/moar/ops/perl6_ops.c
Merge pull request #3336 from MasterDuke17/remove_unused_variables_in_c_code

Fix "unused variable" compiler warnings in C ops
Xliff m: my $x = -42; $x++; say $x; 22:53
camelia -41
Xliff m: my $x = '-42'; $x++; say $x;
camelia -43
Xliff Ouch. 22:54
AlexDaniel Xliff: yeah I can't exactly blame myself for not remembering that ++ works on strings :D
because it kinda doesn't :)
Xliff Can see that! LOL
say 🐪 + 2 22:55
m: say '🐪' + 2
camelia Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5🐪' (indicated by ⏏)
in block <unit> at <tmp> line 1
Xliff m: say '🐪'.succ.succ
camelia 🐫🐪
Xliff Actually, I don't see why that needs to come out.
m: '⚀' 22:56
camelia WARNINGS for <tmp>:
Useless use of constant string "⚀" in sink context (line 1)
Xliff m: my $a = '⚀'; $a.succ xx 7; $a.say
camelia
AlexDaniel Xliff: I guess it really doesn't matter what comes out of it, it's surprising anyway and .. range feature is more so
Xliff m: my $a = '⚀'; $a .= succ for ^7; $a.say
camelia ⚀⚁
Xliff AlexDaniel: Any less surprising than ^^ 22:57
Another solution would be a tongue-in-cheek reference in the docs. 22:58
Would take the "surprise" out of it and leave the character.
AlexDaniel: Same with this... 22:59
m: say ++'▁'
camelia Cannot resolve caller prefix:<++>(Str:D); the following candidates
match the type but require mutable arguments:
(Mu:D $a is rw)

The following do not match for other reasons:
(Bool $a is rw)
(Int:D $a is rw --> Int:D)
(M…
Xliff m: say (++'▁')
camelia Cannot resolve caller prefix:<++>(Str:D); the following candidates
match the type but require mutable arguments:
(Mu:D $a is rw)

The following do not match for other reasons:
(Bool $a is rw)
(Int:D $a is rw --> Int:D)
(M…
Xliff ?!?
AlexDaniel put it in a variable
Xliff m: my $a = '▁'; say ++$a; 23:00
camelia
Xliff But you get my point!
AlexDaniel 😕
Xliff If you think these are surprising, I think it's better we take all of these ranges and document them, rather than removing things because they are "surprising"
23:01 sena_kun left
AlexDaniel Xliff: that's right, yes, beer doesn't matter as long as it does that 23:01
Xliff m: "᱅".Int.say 23:02
camelia 5
Xliff m: my $wtf = "᱅"; $wtf .= succ xx 10000.rand; $wtf.say
camelia ᱃᱈᱃
Xliff m: my $wtf = "᱅"; $wtf .= succ xx 10000.rand; $wtf.say. $wtf.Int.say
camelia 5===SORRY!5=== Error while compiling <tmp>
Unsupported use of . to concatenate strings; in Perl 6 please use ~
at <tmp>:1
------> 3"; $wtf .= succ xx 10000.rand; $wtf.say.7⏏5 $wtf.Int.say
Xliff m: my $wtf = "᱅"; $wtf .= succ xx 10000.rand; $wtf.say; $wtf.Int.say
camelia ᱄᱁᱆᱆
4166
23:02 travis-ci joined
travis-ci Rakudo build passed. Patrick Böker 'Merge pull request #3282 from patzim/spectest-inlinep5-hint 23:02
travis-ci.org/rakudo/rakudo/builds/619314911 github.com/rakudo/rakudo/compare/8...4e5e464637
23:02 travis-ci left
Xliff I could swear I've seen these symbols, before... I'm looking at you, Stargate!!! 23:03
(kidding)
AlexDaniel: And yes. Beer documents quite well. When you spill it on your shirt it quite visibly notes: "I'm drunk!" 23:04
23:18 sena_kun joined 23:20 kurahaupo left 23:39 dmc00 left