»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
00:00 vike left 00:04 vike joined
vrurg Xliff: I'm not totally sure, but EXPORTHOW would only if declared in a compunit. 00:06
*would work
Xliff vrurg: Figured as much.
vrurg: It would be nice to be able to do everything you can with compunits in a REPL 00:07
vrurg maybe something like module Foo { my module EXPORTHOW { } }; import Foo – would work? Not sure though.
Xliff Oh! I keep forgetting about import. LOL! 00:08
Anyway, this is an odd duck:
"Type check failed in binding to parameter '$o'; expected Any but got A (?)"
I thought Any accepted anything,. 00:09
vrurg Xliff: no. Remember, there is Mu which is Perl6 root of everything. 00:10
Xliff OK. So I'm trying to override Metamodel::ClassHOW.compose. 00:12
And it's not doing what I'd expect the logical thing to be.
vrurg Xliff: Why can't you do a trait and just apply a role to ClassHOW? 00:13
Xliff "class Metamodel::myClass is Metamodel::ClassHOW { method compose ($o, :$compiler_services) {" <- the error is coming from the compose signature check. It's also taking a long time to run.
vrurg Xliff: try looking at my AttrX::Mooish. I intercept compose with a mixin role. 00:15
Xliff Ah! Thanks! 00:16
vrurg But I don't think you could gain any additional performance. It's Perl6, signature check will be there. 00:17
Ah, besides, compose can only be method compose(Mu);
Xliff OH!
vrurg Basically, typical signature for ClassHOW in Perl6 is compose(Mu \type, :$compiler-services) 00:18
Xliff That's what I'm doing. 00:19
vrurg Raw parameter speeds things up a bit because it doesn't cont/decont value.
Perhaps the problem is $o which is Any but has to be Mu? Sorry if I'm not following well, but fighting a bug alongside. :) 00:20
Xliff Ah. Hope you feel better. I am getting over one, too. 00:21
I'm probably not explaining well, either.
vrurg Basically, I understand the idea. But not sure if you really need to override all classes. 00:22
Perhaps, if you want to go this way, it'd be better to declare another keywords? like my-class instead of ? 00:23
of 'class'?
Xliff Hrm... no. Want to change 'class' like Grammar::Debugger HAS to change 'grammar'
Although that might be a decent compromise for the moment. 00:24
Oooh! I like this approach! 00:25
vrurg I briefly checked through Grammar/Actions – EXPORTHOW must work for class keyword anyway. 00:26
What approach excactly? ;)
Xliff Kinda viral. Applying a Mooish trait to an Attribute will attach a role to the implementing object's HOW. 00:27
vrurg Glad I helped! :) 00:28
Xliff :>
00:29 Doc_Holliwood joined
Xliff vrurg: Are roles composed independently of classes? 00:46
vrurg yes, if I get you correctly. They have own compose method. 00:47
Basically, any typeobject of composable archetype has compose.
00:48 Doc_Holliwood left
Xliff vrurg: OK. Tell me if I'm crazy -- gist.github.com/Xliff/103cb6c06a6f...cc6a16b00a 00:50
I'm thinking the fix for my issue is to defer alias additions until the class is composed. 00:51
vrurg Xliff: no, it's better if you add a method before compose. 00:52
Xliff I am. Immediately before. 00:53
SmokeMachine t.co/fmMwEwPCme?amp=1
vrurg But, you might not get the right method in method.package.
Xliff Yeah. Just thought of that.
But it's resolvable if I do a deep dive through ^roles and ^mro, yes?
vrurg Xliff: see what you get in there. Perhaps you'd need to use $*PACKAGE which is the being compiled package.
Xliff Ah! 00:54
Something like this? (updated) 00:55
vrurg Due to the uncertain order of things at compile time, attributes doesn't get theit package set correctly. Same could happen to methods.
vrurg hopes to get his hands on this issue at some point.
Xliff Or is $*PACKAGE the FILE name and not the CLASS name? 00:56
(assiming compunit is a unit class)
vrurg $*PACKAGE will be your class because you're applying the trait to a method. 00:57
Xliff OK
vrurg See what you have in method.package and I'm afraid it wouldn't be the class the method belongs to. This is also where you have to use $*PACKAGE.
Also, if you apply the trait to more than one method – you'll mixin your role more than once into the same HOW object. 00:58
Xliff so is $*PACKAGE =:= ::?CLASS?
vrurg Yes, at this point of time.
Remember, that after all module, class, role – they're all packages. 00:59
Xliff So then it's $*PACKAGE.^name, right?
vrurg Xliff: actually, yes. 01:01
SmokeMachine: you mean no more additional List is needed? 01:02
SmokeMachine: I mean, coercion of .^all output
Xliff vrurg: OK. Updated.
vrurg Xliff: but you still miss the point about method.package.HOW does MyHOW. method.package could be not what you expect. I don't know exactly if I'm right but I highly suspect it is. 01:04
SmokeMachine vrurg: sorry? I didn’t understand...
vrurg SmokeMachine: I always had to do Model.^all.Seq or otherwise it didn't work. 01:05
SmokeMachine vrurg: for Set and Bag it did work (if I’m not wrong) but now it run specific query for each... 01:06
vrurg Ah, that's the point! Anyway, a most certainly great thing! Congrats! 01:07
SmokeMachine vrurg: and I’ve also fixed a .classify bug after a .map... 01:08
vrurg SmokeMachine: not sure what is it about. But, anyway, I have too little time left. Need to focus on the bug. :( 01:09
01:10 molaf left 01:12 cpan-p6 left 01:13 cpan-p6 joined, cpan-p6 left, cpan-p6 joined
Xliff vrurg: Oh! Those shouold be $*PACKAGE as well. 01:18
vrurg Xliff: and don't forget to check if $*PACKAGE.HOW ~~ MyHOW before applying MyHOW 01:19
Xliff Heh. Thanks!
vrurg welcome! :) 01:22
Xliff OK. Updated again.
01:23 molaf joined 01:48 wamba joined
Xliff vrurg: Well... $*PACKAGE didn't work 02:20
It took the name of the role, rather than the name of the class. I will have to do a deep dive.
vrurg Of course and it will be always that way. Because method belongs to the role at compile time. 02:21
Xliff Yeah. Forgot
vrurg Xliff: unfortunately, there is no yet a way to catch the moment when role is being applied to a class. 02:22
But as a first approach you can try intercept specialize method on PatametericRoleHOW. 02:23
ClassHOW compise calls it before applying concretized role to itself.
02:23 Cabanossi left
Xliff Yeah. That's what's happening. 02:29
At class compose time, it doesn't look to have any roles.
I would think the roles would be there prior to compose.
02:34 Cabanossi joined
Xliff .^roles_to_compose(\obj) returns nothing... 02:37
Ah! I see what you meant by .specialize. 02:38
vrurg roles_to_compose list gets emptied by ClassHOW compose method. 02:40
Xliff Yeah, but I have role overriding ClassHOW.compose
it calls nextsame at the end.
vrurg I'm just sharing some knowledge. :) 02:41
Xliff Ah.
I'm just confused why it is empty before ClassHOW.compose
vrurg BTW, AttrX::Mooish does it all. AttrXMooishRoleHOW actually does override specialize.
Xliff Looking. 02:42
vrurg Before? Hm, it shouldn't be.
Xliff AHHH!
vrurg BTW, note that most likely you'd have to postpone actual aliasing and do it not when the trait is called but when class compose is executed. 02:44
This compilcates things because I'd have to iterate over the methods and extract those you've marked for processing.
s/I'd/You'd/
Xliff Hehe 02:45
That's what I'm doing NOW
Postponing until class compose
vrurg time for supper. cu tomorrow!
o/
Xliff o/
03:01 ravenousmoose joined 03:07 ravenousmoose left, ravenousmoose joined
Xliff m: class A {}; say A.WHO.^name 03:07
camelia Stash
03:20 japhb left 03:33 softmoth left 04:02 wamba left 04:04 ravenousmoose left 04:13 cinch_ joined, cinch left
Xliff m: Int.gist.^is_dispatcher.say 04:17
camelia No such method 'is_dispatcher' for invocant of type 'Perl6::Metamodel::ClassHOW'
in block <unit> at <tmp> line 1
Xliff m: Int.^find_method('gist').is_dispatcher.say
camelia True
04:19 Cabanossi left 04:20 japhb joined 04:23 agentzh left 04:25 agentzh joined 04:27 rainmanjam left 04:30 Cabanossi joined 04:37 Doc_Holliwood joined 05:11 molaf left 05:14 jmerelo joined
xinming_ Is it possible to make perl6 like javascript, to dynamic initialize the self? 05:35
Something like, code.apply($self-object, ['arg1', 'arg2', 'arg3']); 05:36
Xliff xinming: I don't know exactly what you mean. 05:38
Do you have a use case?
xinming_ In js, we can have the 'this' to be intialized to a different object. 05:39
let's say, function test () { console.log(this); }; test.apply("Hello"); test.apply([]); <--- In this case, the this will be initialized to a string, and a array according to the arg passed. 05:40
Xliff Ah. 05:41
xinming_ What I mean is, wether it's possible to call a method in perl6 like this, that we provide different self to the method.
Xliff m: class A { has $!value; submethod BUILD (:$!value) {}; method new($a) { self.bless( value => $a ) }; method test { $!value.say }; }: say A.new('Hello').test; say A.new([]).test 05:43
camelia 5===SORRY!5=== Error while compiling <tmp>
Confused
at <tmp>:1
------> 3 $a ) }; method test { $!value.say }; }:7⏏5 say A.new('Hello').test; say A.new([]).
expecting any of:
colon pair
Xliff m: class A { has $!value; submethod BUILD (:$!value) {}; method new($a) { self.bless( value => $a ) }; method test { $!value.say }; }; say A.new('Hello').test; say A.new([]).test
camelia Hello
True
[]
True
Xliff m: class A { has $!value; submethod BUILD (:$!value) {}; method new($a) { self.bless( value => $a ) }; method test { $!value.say }; }; A.new('Hello').test; A.new([]).test
camelia Hello
[]
Xliff xinming_: ^^ Something like that? 05:44
xinming_ Nope 05:45
Xliff Still confused, then. 05:46
Why do you need $!value to be self?
xinming_ class T { method x () { self.perl.say; } }; T.x.apply("abc"); T.x.apply([]); <--- the self here will be changed to "abc" or []
it's like multi, but not truely multi 05:47
Xliff Again, you aren't sufficiently explainingh why X can't use an attribute instead of self
Javascript's 'this' is an OO mutt. 05:48
This is so that Javascript can BE OO
xinming_ Xliff: because I wish that all that class methods will be changed to another "object"
It's a bit like localize the self before callign a method 05:49
Xliff But again. why do you need that to be self?
You're basically asking for an Object without a defined type. Perl6 doesn't do that.
"self" represents either the Class object, or the Class instance.
xinming_ Yea, that's what I'm asking.
IIRC, we can use multi to achieve that. 05:50
Xliff If you need something to be mutable like this, then you should use an attribute.
xinming_ Ok.
Xliff And yes, you can use multi's.
xinming_ Will think a different way to achieve this.
Xliff OK.
m: class A { multi method x (Str $a) { sau 05:54
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3class A { multi method x (Str $a) { sau7⏏5<EOL>
expecting any of:
statement end
statement modifier
statement modifier loop
Xliff m: class A { multi method x (Str $a) { say
camelia 5===SORRY!5===
Argument to "say" seems to be malformed
at <tmp>:1
------> 3class A { multi method x (Str $a) { say7⏏5<EOL>
Missing block
at <tmp>:1
------> 3class A { multi method x (Str $a) { say7⏏5<EOL>
expecting an…
Xliff m: class A { multi method x (Str $a) { say 'Str handled here'; }; multi method x (Int $a) { say 'Int handled here' }; multi method x (%a) { say 'Hash handled here'; }; }; A.x('Hello'); A.x(42); A.x( { me => 'bleh' }); 05:56
camelia Str handled here
Int handled here
Hash handled here
Xliff xinming_: ^^ Something more like that?
It has the advantage of not needing to be instantiated.
06:02 Doc_Holliwood left
Xliff xinming_: If you want it so that you can apply() a value before calling methods on X, like so that A.apply("abc").x says "abc", then you can do that like this: 06:08
m: class A { has $!value; method apply($a) { $!value = $a; self }; method x { $!value.perl.say }; }; A.new.apply("abc} 06:10
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in double quotes; couldn't find final '"' (corresponding starter was at line 1)
at <tmp>:1
------> 3$!value.perl.say }; }; A.new.apply("abc}7⏏5<EOL>
expecting …
06:10 DarthGandalf left
Xliff m: class A { has $!value; method apply($a) { $!value = $a; self }; method x { $!value.perl.say }; }; A.new.apply("abc) 06:10
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in double quotes; couldn't find final '"' (corresponding starter was at line 1)
at <tmp>:1
------> 3$!value.perl.say }; }; A.new.apply("abc)7⏏5<EOL>
expecting …
Xliff m: class A { has $!value; method apply($a) { $!value = $a; self }; method x { $!value.perl.say }; }; A.new.apply("abc")
06:10 domidumont joined
camelia ( no output ) 06:10
Xliff m: class A { has $!value; method apply($a) { $!value = $a; self }; method x { $!value.perl.say }; }; A.new.apply("abc").x
camelia "abc"
Xliff For that to work without instantiation....
m: class A { my $value; method apply($a) { $value = $a; self }; method x { $value.perl.say }; }; A.apply("abc").x 06:11
camelia "abc"
Xliff But then you can't hold "abc" and then have another A that is (1, 2, 3) because $value exists as a class attribute
06:13 DarthGandalf joined
rba currently trying to to trouble-shoot modules.perl6.org. Seems that the dists from CPAN not got unpacked. Any idea? 06:28
06:29 wamba joined 06:31 jmerelo left
SmokeMachine m: my &meth = Int.^lookup(“is-prime”); say 42.&meth 06:37
camelia False
SmokeMachine xinming_: were you asking for something like this ^^? 06:38
Xliff SmokeMachine: I don't think that's it. For one thing you need &meth from a type lookup. 06:46
El_Che insights.stackoverflow.com/survey/2019 <- it may interest some people here 06:52
07:00 wamba left 07:04 wamba joined 07:21 p9s``` left, p9s``` joined 07:27 abraxxa joined 07:31 abraxxa left 07:32 abraxxa joined
Xliff WOO HOO!!! 07:36
Xliff found a solution for github.com/lizmat/Method-Also/issues/1
07:40 zakharyas joined 07:41 sena_kun joined
xinming_ m: method test { self.perl.say; }; 4.&test; "Hello".&test; 07:52
camelia 5===SORRY!5===
Undeclared routine:
test used at line 1

Other potential difficulties:
Useless declaration of a has-scoped method in mainline (did you mean 'my method test'?)
at <tmp>:1
------> 3method7⏏5 test { s…
xinming_ SmokeMachine: I want something like this. :-) 07:53
m: my method test { self.perl.say; }; 4.&test; "Hello".&test;
camelia 4
"Hello"
xinming_ and I have to say, I never thought this could work.
:-)
Thanks for your example.
Xliff m: sub test ($a) { $a.say }; 4.&test; "Hello".&test 07:54
camelia 4
Hello
Xliff xinming_: ^^^ There is no "self" in that case. Just the invocant, which could be anything. 07:55
xinming_ I'm still trying something else.
m: class A { has $.a = 3 is rw; method t { $!a += 10; $!a.perl.say; }; }; my $x = A.new(:a(5)); my $y = A.new(:a(6)); my &meth = T.^lookup('t'); $x.&meth(); $y.&meth(); 07:58
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3class A { has $.a = 37⏏5 is rw; method t { $!a += 10; $!a.perl.s
expecting any of:
infix
infix stopper
postfix
xinming_ m: class A { has $.a = 3 is rw; method t { $!a += 10; $!a.perl.say; }; }; 07:59
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3class A { has $.a = 37⏏5 is rw; method t { $!a += 10; $!a.perl.s
expecting any of:
infix
infix stopper
postfix
xinming_ m: class A { has $.a is rw = 3; method t { $!a += 10; $!a.perl.say; }; }; my $x = A.new(:a(5)); my $y = A.new(:a(6)); my &meth = T.^lookup('t'); $x.&meth(); $y.&meth();
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
T used at line 1
xinming_ m: class A { has $.a is rw = 3; method t { $!a += 10; $!a.perl.say; }; }; my $x = A.new(:a(5)); my $y = A.new(:a(6)); my &meth = A.^lookup('t'); $x.&meth(); $y.&meth();
camelia 15
16
07:59 kensanata joined
xinming_ Xliff: This is what I want. 07:59
I want the "self" to be referenced dynamically, but also able to reference their values too. 08:00
*their attributes*
m: class A { has $.a is rw = 3; method t { $!a += 10; $!a.perl.say; }; }; class B { has $.a = 4; }; my $x = B.new(:a(5)); my $y = B.new(:a(6)); my &meth = A.^lookup('t'); $x.&meth(); $y.&meth(); 08:01
camelia Type check failed in binding to parameter '<anon>'; expected A but got B (B.new(a => 5))
in method t at <tmp> line 1
in block <unit> at <tmp> line 1
xinming_ m: class A { has $.a is rw = 3; method t { $!a += 10; $!a.perl.say; }; }; class B is A { }; my $x = B.new(:a(5)); my $y = B.new(:a(6)); my &meth = A.^lookup('t'); $x.&meth(); $y.&meth();
camelia 15
16
SmokeMachine m: class A { has $.a is rw = 3; method t { $!a += 10; $!a.perl.say; }; }; class B is A { }; my $x = B.new(:a(5)); my $y = B.new(:a(6)); $x.t; $y.t # xinming_, why not call the method? 08:07
camelia 15
16
xinming_ SmokeMachine: Because I want to provide these methods as callbacks 08:08
SmokeMachine m: class A { has $.a is rw = 3; method t { $!a += 10; $!a.perl.say; }; }; class B is A { }; my $x = B.new(:a(5)); my $y = B.new(:a(6)); my $meth = "t"; $x."$meth"(); $y."$meth"() # xinming_, or do that by the name?
camelia 15
16
xinming_ I'm still trying
SmokeMachine hum... 08:09
xinming_ m: sub t { $!a += 10; $!a.perl.say; }; }; class A { has $.a is rw = 3; }; my $x = A.new(:a(5)); my $y = A.new(:a(6)); $x.&t(); $y.&t(); 08:10
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable $!a used where no 'self' is available
at <tmp>:1
------> 3sub t { $!a7⏏5 += 10; $!a.perl.say; }; }; class A { ha
xinming_ m: my method t { $!a += 10; $!a.perl.say; }; }; class A { has $.a is rw = 3; }; my $x = A.new(:a(5)); my $y = A.new(:a(6)); $x.&t(); $y.&t();
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot understand $!a in this context
at <tmp>:1
------> 3my method t { $!a7⏏5 += 10; $!a.perl.say; }; }; class A { ha
SmokeMachine m: sub bla(&what-to-do) { say 42.&what-to-do }; bla Int.^lookup: "is-prime" # xinming_: something like this?
camelia False
xinming_ Nope;
I want to privde the code like that. 08:11
SmokeMachine m: sub t { .a += 10; .a.perl.say; }; }; class A { has $.a is rw = 3; }; my $x = A.new(:a(5)); my $y = A.new(:a(6)); $x.&t(); $y.&t(); 08:12
camelia 5===SORRY!5=== Error while compiling <tmp>
Unexpected closing bracket
at <tmp>:1
------> 3sub t { .a += 10; .a.perl.say; }; 7⏏5}; class A { has $.a is rw = 3; }; my $x
08:13 reach_satori left
SmokeMachine m: sub t($_) { .a += 10; .a.perl.say; }; class A { has $.a is rw = 3; }; my $x = A.new(:a(5)); my $y = A.new(:a(6)); $x.&t; $y.&t 08:14
camelia 15
16
SmokeMachine m: my &t = method { self.a += 10; self.a.perl.say; }; class A { has $.a is rw = 3; }; my $x = A.new(:a(5)); my $y = A.new(:a(6)); $x.&t; $y.&t 08:15
camelia 15
16
xinming_ SmokeMachine: Is it possible to convert a "sub" into a method? 08:18
I mean a code block
let's say, my &.code = -> { self.a += 10; self.a.perl.say; };
soemthing like that.
or, we'll have to use the method 08:19
my &.code = method { };
SmokeMachine why do you need to use self? isn't $_ good enough? 08:30
Xliff xinming_: See? ;> 08:31
SmokeMachine m: my &t = { .a += 10; .a.perl.say; }; class A { has $.a is rw = 3; }; my $x = A.new(:a(5)); my $y = A.new(:a(6)); $x.&t; $y.&t
camelia 15
16
xinming_ needs to be out for a while, talk to you later. :-)
Xliff o/
SmokeMachine o/ 08:32
xinming_ SmokeMachine: yea, $_ is the thing I consider. i'm still think about it though
08:37 wamba left 08:38 dakkar joined 08:49 reach_satori joined 08:59 ChoHag left 09:02 cinch_ is now known as cinch, p9s```` joined, cinch left, cinch joined 09:05 p9s``` left, wamba joined 09:18 cinch left 09:19 Cabanossi left 09:23 Cabanossi joined 09:24 molaf joined 09:32 molaf left 09:43 p9s```` left, p9s```` joined 09:47 bazzaar joined 09:53 cgfbee left, pat_js joined 10:11 ChoHag joined 10:13 reach_satori_ joined 10:15 Guest93 joined 10:16 reach_satori left, p9s```` left 10:17 p9s```` joined
kawaii Are there any inotify bindings for P6? Google failed me. 10:23
Need to monitor a file for changes and do something `whenever` that happens. 10:24
SmokeMachine m: start react whenever ".".watch { .say }; "./bla.test".IO.spurt: "test"; sleep 1 10:26
camelia Unhandled exception in code scheduled on thread 4
Failed to open file /home/camelia/bla.test: Permission denied
in block <unit> at <tmp> line 1
SmokeMachine m: start react whenever "/tmp".watch { .say }; "/tmp/bla.test".IO.spurt: "test"; sleep 1 10:27
camelia Unhandled exception in code scheduled on thread 4
A react block:
in code at <tmp> line 1

Died because of the exception:
No such method 'watch' for invocant of type 'Str'. Did you mean any of these?
batch
match
SmokeMachine m: start react whenever "/tmp".IO.watch { .say }; "/tmp/bla.test".IO.spurt: "test"; sleep 1
camelia /tmp/bla.test: FileChanged
<tmp>: FileChanged
SmokeMachine kawaii: ^^
kawaii Ooooo that looks like it'll work
Thank you SmokeMachine! 10:28
SmokeMachine kawaii: np
10:34 wamba left 10:36 bazzaar left 10:37 bazzaar joined 10:38 bazzaar left 10:40 Maylay left 10:46 wamba joined, reach_satori joined, ChoHag left 10:47 reach_satori_ left 10:58 isBEKaml joined, zakharyas left 10:59 isBEKaml left 11:00 zakharyas joined 11:10 pat_js left
SmokeMachine Xliff: but that's the same as `%results.values.map({ <complex function> if <some condition>})`, right? 11:24
11:26 pmurias joined
SmokeMachine m: say (^10).map({ do if .is-prime { say "here"; $_ * 2 }}).head 11:26
camelia here
4
SmokeMachine m: say (^10).map({ do if .is-prime { say "here"; $_ * 2 }}).head(3) 11:27
camelia here
here
here
(4 6 10)
pmurias lizmat: the WIP rakudo.js report is still WIP so don't put it in the weekly just yet, will finish it up once I fix some bugs I found in things I wanted to mention as working in the report ;)
11:28 Maylay joined
Xliff SmokeMachine: That depends. Do you want to be doing large and complex programming inside of .map()? 11:33
m: say (^10).map({ Nil }).elems 11:34
camelia 10
Xliff m: say (^10).map({ do if .is-prime { say "here"; $_ * 2 }}).elems
camelia here
here
here
here
4
11:35 wamba left
SmokeMachine Xliff: that’s not Nil... that’s Empty... 11:35
Xliff m: say (^10).map({ 5 if $_ == 5 }).elems
camelia 1
Xliff Yeah. I never use map like that.
Nice to know, though.
But in that situation, even though it works it may not be easy for everyone to write. 11:36
There are a lot of gotchas there.
SmokeMachine m: say (^10).map({Empty}).elems
camelia 0
Xliff So while you are correct, it does give a similar result. It's not really about the result. It's about the thinking behind the way the result was obtained.
TIMTOWTDI 11:37
11:42 p9s```` left 11:58 pat_js joined 12:01 wamba joined 12:02 p9s```` joined 12:05 zakharyas left, mensvaga joined
lizmat weekly: rakuist.io/articles/from-the-persp...re-or-less 12:15
notable6 lizmat, Noted! (weekly)
Xliff Is there a way I could run a list of values through an object constructor for a list of objects initialized with those values? 12:22
sena_kun Xliff, can you clarify a bit what you want? 12:26
maybe I can't read today, though. :)
SmokeMachine m: say (^10).map({ Int.new: $_ }) # Xliff: like this? 12:27
camelia (0 1 2 3 4 5 6 7 8 9)
Xliff Something like... ($a, $b, $c) = (1, 2, 3, 4, 5)».&Object.new
I'd rather not have the map.
Thanks, though. 12:28
sena_kun you don't need to specify type, actually
m: say (^10).map({ $_.new: $_ })
camelia (0 1 2 3 4 5 6 7 8 9)
SmokeMachine m: say (^10).&{ Int.new: $_ } # ???
camelia 10
SmokeMachine m: say (^10)>>.&{ Int.new: $_ } # ???
camelia (0 1 2 3 4 5 6 7 8 9)
Xliff Guys. Lose the Int
Arbitrary object.
SmokeMachine sena_kun: I was meaning Int being any class... 12:29
Xliff Oh. Missed the second one.
12:29 reach_satori left
sena_kun SmokeMachine, yes, I meant that as a side note, sorry. 12:29
SmokeMachine sena_kun: np :)
sena_kun m: class A { has $.a }; my @a = A.new(a => $_) for <1 2 3 4>; say @a; 12:30
camelia [A.new(a => IntStr.new(4, "4"))]
sena_kun m: class A { has $.a }; my @a = A.new(a => $_) for |<1 2 3 4>; say @a;
camelia [A.new(a => IntStr.new(4, "4"))]
sena_kun erm
m: class A { has $.a }; my @a := A.new(a => $_) for <1 2 3 4>; say @a;
camelia Type check failed in binding; expected Positional but got A (A.new(a => IntStr.new(...)
in block <unit> at <tmp> line 1
sena_kun m: class A { has $.a }; my $a = A.new(a => $_) for <1 2 3 4>; say $a; 12:31
camelia A.new(a => IntStr.new(4, "4"))
sena_kun ok, just ignore me
SmokeMachine m: class C { has Int $.a; has Str $.b }; say [\(:1a, :b<um>), \(:2a, :b<dois>), \(:3a, :b<tres>)]>>.&{ C.new: |$_ } 12:32
camelia [C.new(a => 1, b => "um") C.new(a => 2, b => "dois") C.new(a => 3, b => "tres")]
sena_kun m: class A { has $.a }; my @a = [A.new(a => $_) for <1 2 3 4>]; say @a; 12:33
camelia [A.new(a => IntStr.new(1, "1")) A.new(a => IntStr.new(2, "2")) A.new(a => IntStr.new(3, "3")) A.new(a => IntStr.new(4, "4"))]
SmokeMachine m: class C { has Int $.a; has Str $.b }; say do for [\(:1a, :b<um>), \(:2a, :b<dois>), \(:3a, :b<tres>)] -> Capture c { C.new: |c } 12:34
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed parameter
at <tmp>:1
------> 3 :b<dois>), \(:3a, :b<tres>)] -> Capture7⏏5 c { C.new: |c }
expecting any of:
constraint
formal parameter
daxim > Merging is blocked 12:35
– Merging can be performed automatically with 13 approving reviews.
any more objections, or what's the delay?
Xliff This seems to have worked. Thanks SmokeMachine!
my ($m, $s) = .[0,1]».&{ GIO::FileAttributeMatcher.new($_) };
SmokeMachine Xliff: np! :) 12:36
lizmat weekly: rakuist.io/articles/rakudo-perl-6-...g-fallback
notable6 lizmat, Noted! (weekly)
lizmat daxim: the voting period is not over yet
:-( 12:37
daxim ok
lizmat github.com/perl6/problem-solving/p...-536451971 # a week ago, one week to go 12:39
SmokeMachine m: class Bla { has $.a }; say Bla.^attributes; Bla.^add_attribute: Attribute.new(:package(Bla), :name<$!b>, :type(Int)); say Bla.^attributes # that's possible... 12:42
camelia (Mu $!a)
(Mu $!a Int $!b)
SmokeMachine m: class Bla { has $.a }; say Bla.^attributes; Bla.^add_attribute: Attribute.new(:package(Bla), :name<$!b>, :type(Int)); say Bla.^attributes; say Bla.new: :42a, :13b 12:44
camelia (Mu $!a)
(Mu $!a Int $!b)
Bla.new(a => 42)
SmokeMachine m: class Bla { has $.a }; say Bla.^attributes; Bla.^add_attribute: Attribute.new(:package(Bla), :name<$!b>, :type(Int)); say Bla.^attributes; Bla.^compose; say Bla.new: :42a, :13b
camelia (Mu $!a)
(Mu $!a Int $!b)
Bla.new(a => 42)
SmokeMachine hum... got it...
m: class C { has Int $.a; has Str $.b }; my &n = C.^lookup("new").assuming(C:); say [\(:1a, :b<um>), \(:2a, :b<dois>), \(:3a, :b<tres>)]>>.&n # it would be cool if it would be possible doing something like this... (I don't know with what syntax...) 12:49
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in argument list; couldn't find final ')' (corresponding starter was at line 1)
at <tmp>:1
------> 3 }; my &n = C.^lookup("new").assuming(C:7⏏5); say [\(:1a, :b<um>),…
pmurias SmokeMachine: what do we want a gist on js objects to do? 12:50
SmokeMachine pmurias: I think .toString() on that could be good enough, what do you think?
pmurias: or maybe return what console.log would print... (I don't know how) 12:51
12:53 lucasb joined 12:58 Doc_Holliwood joined
pmurias lizmat: the way the migration will be done seems sane, I don't feel qualified to vote if the rename is a good thing tho 13:00
SmokeMachine: .toString() seems better than nothing 13:01
lizmat pmurias: that's ok
wish I was 100% sure, still think it's the best of the bad alternatives
13:02 wamba left
pmurias lizmat: the proposal mentions a raku symlink is that intentional or a mistake? 13:02
13:03 sena_kun left
lizmat not a mistake 13:03
if you realize that rakudo is an implementation of a language, you realize that the executable should be called "rakudo"
pmurias what I mean is do we want to have a raku symlink pointing to rakudo? 13:06
13:07 wamba joined
pmurias `raku` and `perl6` should 13:09
be symlinks
SmokeMachine pmurias: maybe a `"JSObjectWrapper:" + JSON.stringify(obj)`? 13:21
pmurias: `"JavaScriptWrappedObject|" + obj.constructor.name + "|" + JSON.stringify(obj)`? 13:28
pmurias: a WHICH as well?\
lizmat pmurias: indeed 13:32
13:36 Guest3346 joined
pmurias lizmat: so raku is the replacement for perl6 and rakudo the executable name if someone want's to distinguish implementations? 13:36
lizmat the idea is that rakudo becomes the name of the executable, and that both "perl6" and "raku" become symlinks 13:37
that can be customized by users should they want to have multiple Perl 6 / Raku implementations around 13:38
this is actually not really about the renaming process at all, just correcting an error made in the past, in my view
pmurias replacing the Rakudo excecutable with anything that's not forked from it will be hard 13:46
SmokeMachine pmurias: I think the idea was use something like this: linux.die.net/man/8/alternatives 13:55
13:56 zakharyas joined 13:58 scimon joined 13:59 gabiruh joined 14:10 [Sno] left 14:11 [Sno] joined 14:14 Actualeyes joined
xinming_ SmokeMachine: termbin.com/6k0u2 14:15
SmokeMachine: In this case, Is it possible that we don't pass the "method", but isntead, we pass the -> { } ?
AlexDaniel rakuist.io xDDD
14:16 [Sno] left
AlexDaniel what a wonderful domain name 14:16
gdonald++
SmokeMachine xinming_: like that? www.irccloud.com/pastebin/VJioCxoP/ 14:18
vrurg AlexDaniel: it sounds... Familiar? :D
14:18 Seance[m] left, aearnus[m] left, Matthew[m] left, tyil[m] left 14:19 folex left, xliff[m] left, JulianF left, uzl[m] left, matiaslina left, roy[m] left, mack[m]1 left, batmanaod[m] left, MitarashiDango[m left, sergiotarxz[m] left, BlackChaosNL[m] left, EuAndreh[m] left, rba[m] left, lance_w[m] left, unclechu left, [Sno] joined, AlexDaniel` left, TravisRt2botio[m left, cpan-p6 left, Demos[m] left 14:21 cpan-p6 joined, cpan-p6 left, cpan-p6 joined
lizmat And another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2019/10/07/...syntaxing/ 14:24
sjn yay! 14:25
Xliff lizmat++ 14:27
14:28 p9s```` left
Xliff m: my %h = ( a => 1, b => 2, c => 4 ); my @a = %h.pairs.map( .value *= 2 ); @a.say; %h.pairs.say; 14:28
camelia No such method 'value' for invocant of type 'Any'. Did you mean 'values'?
in block <unit> at <tmp> line 1
Xliff m: my %h = ( a => 1, b => 2, c => 4 ); my @a = %h.pairs.map( *.value *= 2 ); @a.say; %h.pairs.say;
camelia [8 4 2]
(c => 8 b => 4 a => 2)
Xliff m: my %h = ( a => 1, b => 2, c => 4 ); my @a = [ %h.pairs.map( *.value *= 2 ).flat ]; @a.say; %h.pairs.say; 14:29
camelia [8 4 2]
(c => 8 b => 4 a => 2)
Xliff m: my %h = ( a => 1, b => 2, c => 4 ); my @a = ( %h.pairs.map( *.value *= 2 ).flat ); @a.say; %h.pairs.say; 14:30
camelia [2 4 8]
(a => 2 b => 4 c => 8)
14:30 ambs left
Xliff m: my %h = ( a => 1, b => 2, c => 4 ); my @a = ( %h.pairs.map({ .value *= 2; .clone }).flat ); @a.say; %h.pairs.say; 14:30
camelia [b => 4 c => 8 a => 2]
(b => 4 c => 8 a => 2)
14:30 ambs joined
Xliff m: my %h = ( a => 1, b => 2, c => 4 ); my @a = ( %h.pairs.map({ my $o = .clone; $o.value *= 2; $o }).flat ); @a.say; %h.pairs.say; 14:31
camelia [b => 4 a => 2 c => 8]
(b => 2 a => 1 c => 4)
Xliff m: my %h = ( a => 1, b => 2, c => 4 ); my %d = %h.clone; %d.gist.say 14:32
camelia {a => 1, b => 2, c => 4}
Xliff m: my %h = ( a => 1, b => 2, c => 4 ); my %d = %h.clone; %d<b> *= 2; %d.gist.say 14:33
camelia {a => 1, b => 4, c => 4}
Xliff m: my %h = ( a => 1, b => 2, c => 4 ); my %d = %h.clone; %d<b> *= 2; %d.gist.say; %h.gist.say
camelia {a => 1, b => 4, c => 4}
{a => 1, b => 2, c => 4}
14:41 wamba left 14:43 ChoHag joined 14:47 wamba joined 14:48 Doc_Holliwood left
xinming_ SmokeMachine: So, by default, sub will have $_ as default invocant, right? 14:48
SmokeMachine xinming_: a block... 14:49
xinming_ What about the pointy block?
SmokeMachine m: {;}.signature.say; sub {}.signature.say
camelia (;; $_? is raw)
()
SmokeMachine m: {;}.signature.say; sub {}.signature.say; ->{}.signature.say
camelia (;; $_? is raw)
()
()
SmokeMachine xinming_: ^^ 14:50
xinming_ termbin.com/rxw2
SmokeMachine m: {;}.signature.say; sub {}.signature.say; ->{}.signature.say; sub { $^not-self }.signature.say
camelia (;; $_? is raw)
()
()
($not-self)
xinming_ How can we do this?
SmokeMachine xinming_: for that you should use $value.xx... (the -> ($value) {...} is not what you want...) 14:51
14:51 lumin left
SmokeMachine m: -> $value { say $value }.(42); -> ($value) { say $value }.(42) 14:52
camelia 42
Cannot unpack or Capture `42`.
To create a Capture, add parentheses: \(...)
If unpacking in a signature, perhaps you needlessly used parentheses? -> ($x) {} vs. -> $x {}
or missed `:` in signature unpacking? -> &c:(Int) {}
in block <uni…
SmokeMachine m: -> $value { say $value }.(42); -> ($value) { say $value }.([42])
camelia 42
42
SmokeMachine xinming_: ^^
xinming_ Is it possible that I alias the $_ to another variable, But still pass the capture values correctly? 14:54
m: (-> { }).perl.say; ({}).perl.say;
camelia -> { #`(Block|56929680) ... }
{}
xinming_ m: (-> { }).perl.say; ({ ... }).perl.say;
camelia -> { #`(Block|62309488) ... }
-> ;; $_? is raw { #`(Block|63467456) ... }
14:55
SmokeMachine xinming_: why do you want an alias?
xinming_ so pointy block is the same as pointy block with signatures
SmokeMachine: I need to pass additional arg to the callback
well, will pass this with explicit arg 14:58
something like my &.method-cb = -> $self, $value { };
SmokeMachine xinming_: you mean like this? www.irccloud.com/pastebin/ozeQq0cS/ 14:59
15:00 pmurias left
SmokeMachine xinming_: what about something like this? www.irccloud.com/pastebin/7WtvemrS/ 15:03
moritz Hi all
I seem to remember that the ebook version of one Andrew Shitov's books is now available for free
can anybody remember which one, and maybe give me a download link? 15:04
ah, perl6.online/using-perl6/ 15:06
SmokeMachine xinming_: ok, now I'm exaggerating... www.irccloud.com/pastebin/0byn472W/ 15:07
15:07 pmurias joined 15:08 kylese joined, p9s```` joined 15:18 stnly joined 15:20 stnly left 15:23 sena_kun joined 15:24 sena_kun left
xinming_ SmokeMachine: The first one is fine, almost the same as &.method-cb = -> $self, $value { }; 15:32
SmokeMachine: Will choose that anyway.
SmokeMachine pmurias: have you seen my second suggestion? 15:38
pmurias: `"JavaScriptWrappedObject|" + obj.constructor.name + "|" + JSON.stringify(obj)`? 15:39
pmurias any feedback on the rakudo.js report draft: blogs.perl.org/users/pawel_murias/2...ate-1.html
SmokeMachine: there seem to be ports of what console.log does in node.js to the browser 15:41
SmokeMachine: maybe it makes sense to use that?
SmokeMachine pmurias: I do think so! :)
15:42 daxim left
moritz pmurias: in this paragraph: "A couple of tests don't work due to either being impossible in the browser (due to using file system IO) or rakudo itself having a fair amount of bugs that pop up when precompiling code (in usual runs tests aren't precompiled so they go undetected)" 15:42
are these bugs that are also present in rakudo-moar? If yes, adding a half-sentence to clarify this would be helpful 15:43
also, really impressive work! pmurias++ 15:44
pmurias moritz: will clarify, they are present in precompiled modules but not tests or scripts :( 15:45
xinming_ pmurias: Are you maintainer of rakudo.js? 15:47
IIRC, you are the dev, or I remember wrong.
pmurias xinming_: yes 15:48
xinming_: the main author 15:49
xinming_ pmurias: Do you have plan to export perl module to js?
pmurias xinming_: I can add support for that if you want to use that 15:50
xinming_ I think this is useful.
compile perl6 module to js, So, we can use the perl6 in nodejs.
I mean import perl6 in js 15:51
SmokeMachine pmurias: is IO impossible even using the js file api?
xinming_ SmokeMachine: I don't think so.
SmokeMachine www.javascripture.com/File 15:52
Geth_ ¦ problem-solving: Kaiepi assigned to jnthn Issue Perl 6 needs better ways to deal with network addresses github.com/perl6/problem-solving/issues/111 15:53
pmurias SmokeMachine: afair the File wasn't offering a direct access to the file system but allowing to ask the user for permission to read the contents of some files 15:54
15:55 zakharyas left
SmokeMachine pmurias: I've never used File... and have read about that too long ago... (sorry if not helping...) 15:55
s/if not/if I'm not/
pmurias IO *is* possible to at an extent supported on node.js 15:57
15:58 pat_js left
pmurias xinming_: I'll look at exposing Perl 6 modules to node.js once I wrap up the grant 15:59
got to run, will backlog and bbl&
xinming_ Ok, Thanks. That way, We make js <-> perl6
16:03 domidumont left 16:06 pmurias left 16:21 Sgeo_ left 16:23 rindolf3 joined
rindolf3 Hi all 16:23
TimToady: hi.
AlexDaniel .seen TimToady 16:24
tellable6 AlexDaniel, I saw TimToady 2019-07-22T20:38:55Z in #perl6-dev: * TimToady had the power company swapping his electric meter, and it broke my / key
16:25 Sgeo joined 16:28 scimon left 16:29 domidumont joined 16:30 mack[m] joined 16:31 Sgeo left 16:33 Sgeo joined 16:36 dakkar left 16:38 wildtrees joined 16:39 MilkmanDan left, [Sno] left 16:40 MilkmanDan joined 16:42 kylese left 16:44 Demos[m] joined, sergiotarxz[m] joined, rba[m] joined, xliff[m] joined, Matthew[m] joined, JulianF joined, BlackChaosNL[m] joined, lance_w[m] joined, EuAndreh[m] joined, TravisRt2botio[m joined, roy[m] joined, AlexDaniel` joined, unclechu joined, tyil[m] joined, batmanaod[m] joined, uzl[m] joined, MitarashiDango[m joined, matiaslina joined, Seance[m] joined, folex joined, aearnus[m] joined 16:46 [Sno] joined
uzl[m] moritz: This one perl6.online/perl6-at-a-glance/ ? 16:47
Kaiepi m: my package Foo { constant MIN = 1; constant MAX = 100; }; subset Foo of Int:D where (Foo::MIN..Foo::MAX); say 1 ~~ Foo; 16:49
camelia True
Kaiepi m: my package Foo { constant MIN = 1; constant MAX = 100; }; subset Foo of Int:D where (Foo::MIN..Foo::MAX); say Foo::MIN;
camelia 1
Kaiepi m: my package Foo { constant MIN = 1; constant MAX = 100; }; subset Foo of Int:D where (Foo::MIN..Foo::MAX); say OUR::.kv;
camelia (Foo (Foo))
Kaiepi is it a bad idea to be messing with symbols this heavily?
uzl[m] moritz: I also have the Perl 6 Deep Dive pdf that I got from a coupon that one time 16:50
16:50 [Sno] left 16:52 kensanata left 16:55 [Sno] joined
rindolf3 TimToady: here? 16:56
16:57 wamba left
tony-o does ctilmes idle here? 17:03
Geth_ ecosystem: 90471b8ca3 | tony-o++ (committed using GitHub Web editor) | META.list
refactoring DB::Xoos

so that you don't need to install DBIish & DB::Pg & DB::MySQL & etc.
17:06
AlexDaniel .seen ctilmes 17:10
tellable6 AlexDaniel, I saw ctilmes 2019-07-08T15:29:01Z in #perl6: <ctilmes> rfold, see stackoverflow.com/questions/552093...-collector
AlexDaniel notable6: sorta
notable6 AlexDaniel, No notes for “sorta”
AlexDaniel oops
tony-o: sorta!
tony-o ah, maybe i'll catch him soon 17:11
17:16 softmoth joined
SmokeMachine pmurias: look how interesting: perl6.github.io/6pad/#9789cd026063...7aaa2d489f 17:17
tellable6 SmokeMachine, I'll pass your message to pmurias
17:19 wamba joined 17:20 [Sno] left 17:23 sno joined 17:30 molaf joined 17:44 Black_Ribbon joined 17:49 bazzaar joined 17:55 hankache joined 18:03 Doc_Holliwood joined 18:05 pecastro joined 18:16 ravenousmoose joined 18:24 rindolf3 left 18:30 kensanata joined 18:33 wamba left
tony-o .tell ctilmes how production ready do you suppose 18:36
tellable6 tony-o, I'll pass your message to ctilmes
tony-o .tell ctilmes DB::MySQL is?
tellable6 tony-o, I'll pass your message to ctilmes
tony-o stupid fat fingers
18:38 molaf left 18:55 ChoHag left 18:56 ChoHag joined
Geth_ ¦ problem-solving: vrurg assigned to jnthn Issue Role concretization needs big improvements. github.com/perl6/problem-solving/issues/112 19:01
19:01 domidumont left 19:04 Black_Ribbon left 19:05 Black_Ribbon joined 19:06 Black_Ribbon left, Black_Ribbon joined 19:08 Black_Ribbon left 19:09 Black_Ribbon joined 19:12 cooper joined
uzl[m] m: given 1, 2 -> $a, $b { say "$a $b" } 19:17
camelia Too few positionals passed; expected 2 arguments but got 1
in block <unit> at <tmp> line 1
uzl[m] How do I localize several values using given? 19:18
Kaiepi m: given 1, 2 -> ($a, $b) { say "$a $b" }
camelia 1 2
Kaiepi 1, 2 is a list in that context
er, maybe an array
m: say WHAT my $ := 1, 2
camelia (List)
19:20 kensanata left 19:25 hythm joined
uzl[m] Thanks Kaiepi 19:30
Kaiepi np
bazzaar m: given (1, 2), 3 -> ($a, $b) { say "$b" } 19:31
camelia 3
19:31 cgfbee joined
bazzaar m: given (1, 2), 3 -> ($a, $b) { say $b } 19:31
camelia 3
bazzaar m: given (1, 2), 3 -> ($a, $b) { say $b.^name } 19:32
camelia Int
bazzaar m: given (1, 2), 3 -> ($a, $b) { say "$b.^name" }
camelia 3.^name
Grinnz complete non-stakeholder curiosity but, is there a reason assigning people to github issues gets announced but not the issues being opened? 19:33
hythm m: use Cro::Uri; grammar G { proto token location { * }; token location:sym<uri> { <uri> }; token location:sym<path> { <path> }; token uri { .* { try Cro::Uri.parse: $/ } }; token path { .* } }; say G.parse( 'raku.org', :rule<location> ); say G.parse( '/tmp', :rule<location> ); 19:34
camelia ===SORRY!===
Could not find Cro::Uri at line 1 in:
inst#/home/camelia/.perl6
inst#/home/camelia/rakudo-m-inst-2/share/perl6/site
inst#/home/camelia/rakudo-m-inst-2/share/perl6/vendor
inst#/home/camelia/rakudo-m-inst-2/share/p…
hythm is it possible to do something like the above? basically if Cro::Uri can parse the token then <uri> should match, if not then <path> should match. 19:36
SmokeMachine Is modules.perl6.org giving error for someone else?
bazzaar SmokeMachine: yes, same for me in firefox on linux (Host Error:The web server reported a gateway time-out error) 19:40
rba SmokeMachine: Sorry, trouble-shooting modules.perl6.org right now. Will bring back ASAP. 19:47
SmokeMachine rba: ok, thanks! 19:48
19:50 wamba joined 19:52 antoniogamiz joined
antoniogamiz o/ 19:52
bazzaar m: my $a = 42; say join(':', "$a.^name", $a.^name); # method call has less precedence than double quotes? 19:55
camelia 42.^name:Int
MasterDuke m: my $a = 42; say join(':', "$a.^name()", $a.^name); # yeah, unless you use parens
camelia Int:Int
antoniogamiz mm I have rakudo-pkg 2019.07.1-01 but the perl6 version is 2018.03 19:56
any idea how to update it?
SmokeMachine how do I set Perl 6 SDK for the project on COMMAIDE?
bazzaar MasterDuke: thanks 19:58
MasterDuke np
SmokeMachine: i see a "new" button to the right of the "project sdk" dropdown when i create a new project 20:00
SmokeMachine MasterDuke: thanks! 20:03
20:05 cooper left 20:14 mensvaga left 20:17 wamba left 20:18 wamba joined 20:19 ravenousmoose left 20:27 molaf joined 20:35 krychu joined 20:43 pmurias joined, hankache left 20:47 antoniogamiz left 20:56 agentzh left 20:58 agentzh joined, agentzh left, agentzh joined 21:27 Black_Ribbon left 21:36 wamba left
Geth_ ecosystem: b1c3156bab | threadless-screw++ (committed using GitHub Web editor) | META.list
Update META.list

Add String::FuzzyIndex to ecosystem See github.com/threadless-screw/String-FuzzyIndex
21:41
21:48 hythm left 22:05 squashable6 left 22:08 squashable6 joined, ChanServ sets mode: +v squashable6 22:21 softmoth left
Geth_ modules.perl6.org: 18a9b80d6c | (Roman Baumer)++ | lib/ModulesPerl6/DbBuilder/Dist/Source/CPAN.pm
make sure tempdir is in the user home dir and change dist_dir handling to make sure the directory move is working
22:26
22:40 krychu left 22:41 krychu joined, krychu left 22:42 krychu joined 22:43 vike left 22:47 bazzaar left
Geth_ modules.perl6.org: 77b8804055 | (Roman Baumer)++ | update-modules.perl6.org
fix: Can't load application from file /home/modules.perl6.org/modules.perl6.org/bin/ModulesPerl6.pl: iCCP: known incorrect sRGB profile at /home/modules.perl6.org/modules.perl6.org/bin/../lib/ModulesPerl6/SpriteMaker.pm line 30.
22:48
22:48 pecastro left 22:50 krychu left 22:54 Black_Ribbon joined 23:02 gabiruh left 23:07 softmoth joined 23:13 reach_satori joined 23:17 pmurias left 23:19 reach_satori left 23:20 vike joined 23:37 reach_satori joined 23:39 reach_satori left 23:44 reach_satori joined 23:52 reach_satori_ joined, reach_satori left 23:57 reach_satori_ left 23:58 reach_satori joined