»ö« 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.
Zoffix . 00:28
timotimo m: class IfIAddAName is Hash is Array {method Array{[]}; method Hash {{}}}; use MONKEY-TYPING; augment class Str {method IfIAddAName { IfIAddAName.new }}; my IfIAddAName() $v = "a" 00:32
camelia 5===SORRY!5=== Error while compiling <tmp>
Coercion IfIAddAName(Any) is insufficiently type-like to qualify a variable
at <tmp>:1
------> 3 IfIAddAName.new }}; my IfIAddAName() $v7⏏5 = "a"
expecting any of:
constraint
timotimo mhm
lookatme_q o| 00:45
vrurg m: my Str @a = <a b c>; say @a; my Array[Str] $b = <c d e>; say $b 01:07
camelia [a b c]
Type check failed in assignment to $b; expected Array[Str] but got List ($("c", "d", "e"))
in block <unit> at <tmp> line 1
vrurg Why???
m: my Str @a = <a b c>; say @a; my Array[Str] $b = [<c d e>]; say $b 01:08
camelia [a b c]
Type check failed in assignment to $b; expected Array[Str] but got Array ($["c", "d", "e"])
in block <unit> at <tmp> line 1
vrurg m: my Str @a = <a b c>; say @a; my Array[Str] $b = <c d e>.Array; say $b
camelia [a b c]
Type check failed in assignment to $b; expected Array[Str] but got Array ($["c", "d", "e"])
in block <unit> at <tmp> line 1
vrurg Looks like a bug to me. 01:09
lookatme_q m: my Str @a := <a b c>; say @a.WHAT 01:10
camelia Type check failed in binding; expected Positional[Str] but got List ($("a", "b", "c"))
in block <unit> at <tmp> line 1
vrurg lookatme_q: with 'my Str @a' it coerces List into Array. 01:11
m: say Array ~~ Array[Str] 01:12
camelia False
MasterDuke m: my Str @a = <a b c>; say @a; my Array[Str] $b; $b.append(<c d e>.Array); say $b
camelia [a b c]
[c d e]
MasterDuke m: my Str @a = <a b c>; say @a; my Array[Str] $b; $b.append(<c d e>); say $b
camelia [a b c]
[c d e]
vrurg m: my Str @a = <a b c>; say @a; my Array[Str] $b; $b.append(1,2,3); say $b 01:13
camelia [a b c]
Type check failed in assignment to ; expected Str but got Int (1)
in block <unit> at <tmp> line 1
vrurg A workaround, but still I would suspect a bug.
Xliff m: class A { }; say A.can('Bool'); 01:21
camelia (Bool)
Xliff m: class A { }; say A.?Bool;
camelia False
Xliff m: class A { method blah { say "Blah!"; }; method Bool { False }; }; say A.?Bool; 01:25
camelia False
Xliff ^^ Is that LTA?
m: class A { method blah { say "Blah!"; }; method Bool { False }; }; say A.Bool;
camelia False
Xliff m: class A { method blah { say "Blah!"; }; method Bool { True }; }; say A.Bool; 01:25
camelia True
Xliff m: class A { method blah { say "Blah!"; }; method Bool { True }; }; say A.?Bool;
camelia True
Xliff m: class A { method blah { say "Blah!"; }; method Bool { True }; }; say A.can('Bool') 01:26
camelia (Bool Bool)
Xliff m: class A { method blah { say "Blah!"; }; method Bool { True }; }; say A.can('Bool').gist
camelia (Bool Bool)
Xliff m: class A { method blah { say "Blah!"; }; method Bool { True }; }; say A.can('blah').gist 01:28
camelia (blah)
Xliff m: class A { method blah { say "Blah!"; }; method Bool { True }; }; say A.can('blah')
camelia (blah)
rouking Do you folks think it would be a good idea to add some way to put type constraints on array literals? 01:39
The issue I've encountered is that the following doesn't work:
rouking p6: subset Matrix of Array[Array] where { [==] $_>>.elems }; my Matrix $m1 = [[1, 2], [3, 4]]; 01:40
camelia Type check failed in assignment to $m1; expected Matrix but got Array ($[[1, 2], [3, 4]])
in block <unit> at <tmp> line 1
rouking Even minus the `where` clause, it doesn't work, because `[[1, 2], [3, 4]]` is not type-parameterized although one would think it is compatible with `Array[Array]` 01:41
I'm not sure how difficult it would be make this "just work", i.e. check if it's compatible on assigment into a subset type even if the parameterization is not explicit 01:42
Thoughts? 01:43
timotimo you can use .= new(...) for that purpose, maybe that helps?
rouking p6: subset Matrix of Array[Array] where { [==] $_>>.elems }; my Matrix $m1 .= new: [[1, 2], [3, 4]]; 01:44
camelia You cannot create an instance of this type (Matrix)
in block <unit> at <tmp> line 1
timotimo ah, yes, subsets don't do that kind of thing, right
p6: subset Matrix of Array[Array] where { [==] $_>>.elems }; my Matrix $m1 is default(Array[Array]) .= new: [[1, 2], [3, 4]]
camelia ( no output )
timotimo p6: subset Matrix of Array[Array] where { [==] $_>>.elems }; my Matrix $m1 is default(Array[Array]) .= new: [[1, 2], [3, 4]]; say $m1.perl; say $m1 ~~ Matrix 01:45
camelia Array[Array].new($[1, 2], $[3, 4])
True
timotimo the "is default" is not necessary here, you can just put Array[Array].new on the RHS of the = instead
rouking Ah, that's an interesting way of doing it. Although I feel that's a bit... Less Than Awesome™?
It's a bit of a leaky abstraction from the subset, if you will 01:46
timotimo we do have shaped arrays, btw
but they are slooooow
rouking "fixing" it might require some systemic change to the type system, though
Xliff m: class A { method blah { say "Blah!"; }; method c { say ::?CLASS }; }; C.c;
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
C used at line 1
timotimo not optimized at all, that's what makes them slow
Xliff m: class A { method blah { say "Blah!"; }; method c { say ::?CLASS }; }; A.c;
camelia (A)
Xliff m: class A { method blah { say "Blah!"; }; method c { say ::?CLASS; say ::?METHOD; }; }; A.c;
camelia 5===SORRY!5=== Error while compiling <tmp>
No such symbol '::?METHOD'
at <tmp>:1
------> 3; method c { say ::?CLASS; say ::?METHOD7⏏5; }; }; A.c;
01:47
timotimo probably has to be ::?ROUTINE?
lookatme_q p6: subset Matrix of Array[Array] where { [==] $_>>.elems }; my Matrix $m1 = Array[Array].new: [[1, 2], [3, 4]]; 01:47
camelia ( no output )
Xliff Where are the possible ::? symbols documented?
lookatme_q p6: subset Matrix of Array[Array] where { [==] $_>>.elems }; my Matrix $m1 = Array[Array].new: [[1, 2], [3, 4]]; dd $m1;
camelia Array[Array] $m1 = Array[Array].new($[1, 2], $[3, 4])
Xliff m: class A { method blah { say "Blah!"; }; method c { say ::?CLASS; say ::?LINE; }; }; A.c;
camelia 5===SORRY!5=== Error while compiling <tmp>
No such symbol '::?LINE'
at <tmp>:1
------> 3 }; method c { say ::?CLASS; say ::?LINE7⏏5; }; }; A.c;
lookatme_q p6: subset Matrix of Array[Array] where { [==] $_>>.elems }; my Matrix $m1 = Array[Array].new: [[1, 2], [3, 4], [4, 5, 6]];
camelia Type check failed in assignment to $m1; expected Matrix but got Array[Array] (Array[Array].new($[1, 2], $[3, 4]...)
in block <unit> at <tmp> line 1
Xliff m: class A { method blah { say "Blah!"; }; method c { say ::?CLASS; say $*METHOD }; }; A.c; 01:48
camelia (A)
Dynamic variable $*METHOD not found
in method c at <tmp> line 1
in block <unit> at <tmp> line 1
lookatme_q m: class A { method blah { say "Blah!"; }; method c { say ::?CLASS; say &?ROUTINE; }; }; A.c; 01:49
camelia (A)
c
rouking Hmmm... I can't even begin to fathom what would be necessary for adding a type parameterization on the fly to an unparameterized class
Xliff lookatme_q++
timotimo .^parameterize?
timotimo m: say Array.^parameterize([Array]).perl 01:49
camelia "Can not parameterize Array with [Array,]"
timotimo m: say Array.^parameterize(Array).perl
camelia Array[Array]
timotimo m: say Array.^parameterize(Str).perl
camelia Array[Str]
timotimo well, that was easy ;) ;)
rouking Well, dang
But does it work with actual objects 01:50
timotimo m: say [1, 2, 3].^parameterize(Int).perl
camelia Parameter 'arr' of routine 'parameterize' must be a type object of type 'Mu', not an object instance of type 'Array'. Did you forget a 'multi'?
in block <unit> at <tmp> line 1
rouking oof
timotimo only if you .WHAT, i.e. go from the object back to its type object
m: say [1, 2, 3].WHAT.^parameterize(Int).perl
camelia Array[Int]
rouking but that doesn't really solve the problem at hand, does it? 01:51
rouking You just end up with a type 01:51
vrurg m: my @a = 1,2,3; @a.WHAT.^parametrize(Int); say @a.perl; say @a.WHAT
camelia No such method 'parametrize' for invocant of type 'Perl6::Metamodel::ClassHOW+{<anon>}'. Did you mean 'parameterize'?
in block <unit> at <tmp> line 1
rouking I suppose you could simply *attempt* to make a copy into a parameterized type
vrurg m: my @a = 1,2,3; @a.WHAT.^ parameterize(Int); say @a.perl; say @a.WHAT
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed postfix call
at <tmp>:1
------> 3my @a = 1,2,3; @a.WHAT.^7⏏5 parameterize(Int); say @a.perl; say @a.
01:52
rouking can't have space, there
vrurg m: my @a = 1,2,3; @a.WHAT.^parameterize(Int); say @a.perl; say @a.WHAT
camelia [1, 2, 3]
(Array)
vrurg Thanks, overlooked it. So, as expected, the array type is not changed through .WHAT call. 01:53
rouking Yeah, and that's probably a good thing
vrurg Perhaps. 01:53
vrurg is dreaming of a singe routine which would try coercing any value into any type, as operator '=' does... 01:54
vrurg I'm tired permanently fixing attribute coercion in my module... 01:54
rouking Well, I could imagine some code around `subset` which first sees if the types match, then attempts to call .new on the wanted type, passing in the given type 01:55
or rather, the given value.
Similar to the caller-side solution timotimo gave
Not sure about the performance impact, though 01:56
vrurg Which is critical because I'm working through Proxy which is pretty slow is at was told. 01:58
timotimo i'm going to bed Real Soon Now, but please feel free to review my next blog post; write your findings/comments here on the channel or privmsg/query me here on freenode (you probably have to be registered with nickserv to privmsg me though?) or find my email address on the mailing list or git log or whatever: wakelift.de/p/31a96e34-887c-468e-8...4d448ec1f/ 02:03
thank y'all and good night!
watch out: it's a monster of a post, about 3k words
3.4k 02:04
lookatme_q m: my $a = 1,2,3; say $a.WHAT 02:05
camelia WARNINGS for <tmp>:
(Int)
Useless use of constant integer 2 in sink context (lines 1, 1)
Useless use of constant integer 3 in sink context (lines 1, 1)
timotimo m: @(my $a) = 1, 2, 3; say $a.perl; say $a.^name 02:06
camelia Cannot modify an immutable Any ((Any))
in block <unit> at <tmp> line 1
lookatme_q m: my $a := 1,2,3; say $a.WHAT
camelia (List)
lookatme_q Many things can not understand :) 02:06
buggable New CPAN upload: AttrX-Mooish-v0.4.3.tar.gz by VRURG modules.perl6.org/dist/AttrX::Mooish:cpan:VRURG 02:43
AlexDaniel` squashable6: next 04:52
squashable6 AlexDaniel`, ⚠🍕 Next SQUASHathon in ≈5 hours (2018-09-01 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
AlexDaniel` :O
That one kind of slipped through the cracks! 04:53
squashable6 Webhook for perl6/doc is now active! Responsive is better than fast. 04:56
AlexDaniel` .tell jmerelo it's SQUASHathon time!!! :) 04:57
yoleaux AlexDaniel`: I'll pass your message to jmerelo.
jlouis hello 07:44
p6: say 3;
camelia 3
AlexDaniel that was quick 07:45
Xliff \o 07:54
Is there a way I can define a class inside of a Role?
I get this when I do:
Cannot declare our-scoped class inside of a role
(the scope inside of a role is generic, so there is no unambiguous
package to install the symbol in)
I would use an anonymous class, but I want to use when to isolate it. If it is possible to identify an anonymous class using "when" then how would that be possible? 07:55
Xliff m: my $a = class { method bleah { say "Bleah!"; } }; say $a.^name; 07:56
camelia <anon|1>
Xliff m: my $a = class { method bleah { say "Bleah!"; } }; say $a.WHAT;
camelia (<anon|1>)
Xliff m: my $a = class { method bleah { say "Bleah!"; } }; given $a.^name { when Str { say "WHAT?" }; default { say "DUR!" }; }; 07:57
camelia WHAT?
Xliff m: my $a = class { method bleah { say "Bleah!"; } }; given $a.^name { when Str { .say }; default { say "DUR!" }; };
camelia <anon|1>
Xliff m: my $a = class { method bleah { say "Bleah!"; } }; given $a.^name { when Str { when /anon/ { .say }; default { "wtf"; }; }; }; default { say "DUR!" }; }; 07:58
camelia 5===SORRY!5=== Error while compiling <tmp>
Unexpected closing bracket
at <tmp>:1
------> 3"wtf"; }; }; }; default { say "DUR!" }; 7⏏5};
Xliff m: my $a = class { method bleah { say "Bleah!"; } }; given $a.^name { when Str { when /anon/ { .say }; default { "wtf"; }; }; default { say "DUR!" }; };
camelia <anon|1>
Xliff m: my $a = class { method bleah { say "Bleah!"; } }; given $a.^name { when Str { when /<anon/ { .say }; default { "wtf"; }; }; default { say "DUR!" }; };
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in metachar:sym<assert>; couldn't find final '>' (corresponding starter was at line 1)
at <tmp>:1
------> 3 given $a.^name { when Str { when /<anon7⏏5/ { .say }; defa…
Xliff m: my $a = class { method bleah { say "Bleah!"; } }; given $a.^name { when Str { when / '<anon' / { .say }; default { "wtf"; }; }; default { say "DUR!" }; }; 07:59
camelia <anon|1>
pmurias hmm, what is a good name for a base class for all the non-resizable P6opaque reprs 09:30
pmurias for things like P6int, CPointer etc that are fixed size and don't support adding new attributes 09:31
?
jnthn pmurias: There's only one (P6Opaque) that supports that anyway 09:40
There's no name for it that already exists
Though if going with the op name, NonMixinable or something works 09:41
pmurias jnthn: I'm thinking about FixedSizeObject ;) 09:43
it's a big distinction on the truffle backend because the P6opaque objects are being implemented with framework provided truffle magic (Self style object shapes) while other objects are regular old school java ones like on the jvm backend 09:46
El_Che releasable6: status 10:56
releasable6 El_Che, Next release will happen when it's ready. 0 blockers. 480 out of 500 commits logged
El_Che, Details: gist.github.com/60914c543f1ff5bd57...466d56f3b9
AlexDaniel El_Che: waiting for moarvm release, expected tomorrow-ish 10:57
lizmat weekly: opensource.com/article/18/8/containers-perl-6 11:03
notable6 lizmat, Noted!
El_Che AlexDaniel: big changes? 11:04
AlexDaniel El_Che: well, it's two months worth of changes, so yes
El_Che besides that 11:05
something that needed time to be settled, eg
AlexDaniel El_Che: not really, the last few days samcv was trying to manage with the huge changelog (there're some new tools & possibly automation coming) 11:09
AlexDaniel El_Che: fwiw, with the rate of changes in moar/rakudo it is likely that in the future the deadlines won't be any stricter 11:13
AlexDaniel El_Che: so the last release we had to skip because all of the perf improvements needed a bit more time to stabilize, and there are already postrelease branches for after 2018.08 11:14
AlexDaniel with some relatively massive changes :) 11:15
AlexDaniel I think someone even proposed to do releases once every two months 11:18
I'm not convinced that it is going to be better that way, even though I'd need to do less work :) 11:19
AlexDaniel squashable6: status 11:21
squashable6 AlexDaniel, 🍕🍕 SQUASHathon is in progress! The end of the event in 2 days and ≈0 hours. See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
atweiden-air has anyone had any luck cross-compiling nqp for aarch64? 14:03
Geth doc: MorayJ self-assigned Revise phasers page github.com/perl6/doc/issues/2268
MorayJ self-unassigned Revise phasers page github.com/perl6/doc/issues/2268

fb2dd7aec6 | (JJ Merelo)++ | doc/Type/List.pod6 Changes the signature of the methods
Corresponding to the real one. This closes #2175.
The problem is that I'm not sure if `List` is the correct place for this. They are defined in `Any` so in principle they could be applied anywhere. Besides, two of them are subs, not methods.
14:48
squashable6 🍕🍕🍕 First contribution by MorayJ++! ♥
pmurias AlexDaniel: don't the releases tend to get more traumatic the rarer they are? 14:51
AlexDaniel pmurias: yes, overall it is better to release often 14:52
pmurias: but when it comes to things *I* need to do, releasing less often means a bit less stuff to do 14:53
jjmerelo Checking in... 14:57
squashable6: status
squashable6 jjmerelo, 🍕🍕 SQUASHathon is in progress! The end of the event in 1 day and ≈21 hours. See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
jjmerelo, Log and stats: gist.github.com/d7787d57ceeed20bb0...e04e43301c
AlexDaniel jjmerelo: CHECK CHECK CHECK CHECK
CHECK
jjmerelo OK, I'll see what I can do. 14:58
jdv79 can anyone golf this better?: nopaste.xyz/?3f0630a4a4dfb467#JtgB...H71e/5CPo= 15:05
squashable6 🍕🍕🍕 First contribution by JJ++! ♥
AlexDaniel jdv79: what about -ne or similar?
uzl Hello #perl6 15:06
uzl I'm using Rakudo Star version 2018.04.1 and would like to get 2018.06. Do I need to download that version and recompile it again? 15:06
AlexDaniel jdv79: and what kind of a golf you need? :) maybe +… is shorter than ….elems but is that what you are looking for? 15:07
jdv79 just a golf that works
its a pretty simple task. just curious. 15:08
AlexDaniel jdv79: git shortlog -nse 15:10
AlexDaniel jdv79: doesn't count as a golf right? :P 15:11
timotimo jdv79: i'm not sure in what way it doesn't work, or is that not the question? 15:15
jdv79 AlexDaniel: no 15:17
AlexDaniel jdv79: perl6 -e 'lines.grep({/^Author:/}).Bag.pairs.perl.say' 15:17
jdv79 timotimo: it works
just wondering about golfing it. that's all.
timotimo oh, ok
i thought "a golf that works" meant the code you had didn't work yet
jdv79 i guess that is confusing
AlexDaniel jdv79: I mean, full command would be like git log --stat | perl6 -e 'lines.grep({/^Author:/}).Bag.sort(*.value).perl.say' 15:18
jdv79 yeah. cool. 15:19
is there a terse way to print that in line oriented fashion?
timotimo i like ".say for" 15:20
AlexDaniel golf-like way or proper way? :)
».say should work during this minute
jdv79 golf of course
AlexDaniel m: <a b c>».say # don't do that in real code though 15:21
camelia a
b
c
squashable6 🍕 JJ++ wrote a comment on “.classify docs lack `:as…”: github.com/perl6/doc/issues/2175#i...-417699130 15:24
jdv79 just trying to illustrate stuff for a jr colleague and trying to remember p6 stuffs. 15:25
thansk
AlexDaniel lines.grep({/^A/}).Bag.invert.sort».say
AlexDaniel lines.grep(/^A/).Bag.invert.sort».say 15:26
jdv79 nice
AlexDaniel Bag(grep /^A/,lines).invert.sort».say 15:27
AlexDaniel something like that 15:27
github.com/AlexDaniel/6lang-golf-cheatsheet 15:28
jdv79 nice 15:29
synopsebot Link: doc.perl6.org/type/List
squashable6 🍕 JJ++ closed issue “.classify docs lack `:as…”: github.com/perl6/doc/issues/2175
Geth doc: uzluisf++ created pull request #2287:
Add minor fixes
15:42
squashable6 🍕 uzluisf++ opened pull request “Add minor fixes”: github.com/perl6/doc/pull/2287
🍕🍕🍕 First contribution by uzluisf++! ♥
squashable6 🍕 JJ++ submitted a review on pull request “Add minor fixes”: github.com/perl6/doc/pull/2287#pul...-151450393 15:43
uzl Is there any reason why the double pointy block is not mentioned here as way to edit values in place? link: docs.perl6.org/language/hashmap#In..._of_values 15:44
jjmerelo @uzl probably not. 15:48
Geth doc: 4ea0a881de | (Luis F. Uceta)++ | doc/Language/hashmap.pod6
Add minor fixes
15:55
doc: 863d28b77d | (Luis F. Uceta)++ | doc/Language/hashmap.pod6
Add minor fix
synopsebot Link: doc.perl6.org/language/hashmap
doc: 2d6c689881 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | doc/Language/hashmap.pod6
Merge pull request #2287 from uzluisf/master

Add minor fixes
squashable6 🍕 JJ++ merged pull request “Add minor fixes”: github.com/perl6/doc/pull/2287
squashable6 🍕 JJ++ wrote a comment on “$=finish not documented”: github.com/perl6/doc/issues/2284#i...-417710594 16:01
🍕 JJ++ labeled issue “Declarators don't know the name of attributes” (big): github.com/perl6/doc/issues/2269 16:03
squashable6 🍕 JJ++ edited issue “Proc.run is not documented”: github.com/perl6/doc/issues/2233 16:11
squashable6 🍕 JJ++ wrote a comment on “Proc.run is not documented”: github.com/perl6/doc/issues/2233#i...-417714024 16:13
squashable6 🍕 JJ++ wrote a comment on “Proc.run is not documented”: github.com/perl6/doc/issues/2233#i...-417715286 16:18
timotimo m: say "foo".substr 16:23
camelia Must at least specify a 'from' value with 'substr'
in block <unit> at <tmp> line 1
timotimo that doesn't look like a thing we want in perl6, right? a method that's "available", but that throws an exception like that?
lizmat timotimo: I think I had a reason for that... 16:25
timotimo is there another candidate that would otherwise have been hit perhaps? 16:26
lizmat it starts infinilooping without it 16:27
guess I was too lazy to figure out what caused that
Geth doc: b90dcb2850 | (JJ Merelo)++ | 2 files
Moves run to Proc

Where it should have been from the beginning. As a matter of fact, `run` was there, but lumped together with shell and new, so it was not indexed properly. It should be now. This closes #2233
16:28
squashable6 🍕 JJ++ closed issue “Proc.run is not documented”: github.com/perl6/doc/issues/2233
timotimo interesting. maybe we can put in a ticket for that so we don't forget about it?
timotimo maybe there is already one ... 16:28
squashable6 🍕 JJ++ opened issue “Spin off shell from Proc”: github.com/perl6/doc/issues/2288 16:31
🍕 JJ++ edited issue “Spin off shell from Proc.new”: github.com/perl6/doc/issues/2288
🍕 JJ++ labeled issue “Spin off shell from Proc.new” (docs): github.com/perl6/doc/issues/2288
🍕 JJ++ labeled issue “Spin off shell from Proc.new” (update): github.com/perl6/doc/issues/2288
Geth doc: 3f2c47f117 | (JJ Merelo)++ | doc/Type/Proc.pod6
Some reflow and typographic changes
16:34
synopsebot Link: doc.perl6.org/type/Proc
timotimo wakelift.de/2018/08/31/faster-fasta-please/ - i published my blog post! 16:52
notable is down :S
Geth doc: MorayJ++ created pull request #2289:
Phasers
16:54
squashable6 🍕 MorayJ++ opened pull request “Phasers”: github.com/perl6/doc/pull/2289
Geth ¦ doc: MorayJ self-assigned Revise phasers page github.com/perl6/doc/issues/2268 17:04
lizmat weekly: wakelift.de/2018/08/31/faster-fasta-please/ 17:15
timotimo but notable is down :<
squashable6 🍕 MorayJ++ wrote a comment on “Revise phasers page”: github.com/perl6/doc/issues/2268#i...-417737337 17:33
🍕 MorayJ++ wrote a comment on “Document COMPOSE phaser as NYI (for now)”: github.com/perl6/doc/issues/2281#i...-417737634 17:34
lin Does anyone knoe what happened to spider-mario's arch repo? 17:37
MasterDuke lin: what's wrong? i installed from it two months ago 17:40
lin Doesn't seem to be resolving anymore, I've been using it as well 17:41
MasterDuke lin: oh, do you mean the binary repo? 17:43
lin Yup
MasterDuke ah, i haven't used that, just the build-from-source pkg 17:51
lin Fair enough, I was hoping he might be around here 17:55
daemon random free game: www.humblebundle.com/store/warhamm...ace-marine 17:58
xinming m: my $op = "+"; ::(infix:{$op^C.(3, 4).say; 20:15
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3y $op = "+"; ::(infix:{$op^C.(3, 4).say;7⏏5<EOL>
xinming m: my $op = "+"; ::(infix:{$op}).(3, 4).say;
camelia ===SORRY!===
Cannot find method 'has_compile_time_value' on object of type NQPMu
xinming What might be the right way to do this?
We can have [&sub] to make a sub "infix" 20:19
Now, trying to do something reverse, make a "infix" function
avuserow m: say &infix:<+>(1, 2) # xinming, like this? 20:21
camelia 3
xinming avuserow: yes, something like that 20:21
thanks
m: my $op = "+"; ::(&infix:{$op}).(3, 4).say;
camelia 5===SORRY!5=== Error while compiling <tmp>
You can't adverb &infix
at <tmp>:1
------> 3my $op = "+"; ::(&infix:{$op}7⏏5).(3, 4).say;
expecting any of:
horizontal whitespace
statement end
statement mo…
xinming m: my $op = "+"; ::("&infix:{$op}").(3, 4).say; 20:22
camelia No such symbol '&infix:+'
in block <unit> at <tmp> line 1
xinming m: my $op = "+"; ::("&infix<$op>").(3, 4).say;
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
infix used at line 1. Did you mean 'indir', 'index'?
xinming m: my $op = "+"; ::("&infix:<$op>").(3, 4).say;
camelia 7
xinming hahaha
avuserow xinming, another syntax for this is &infix:["+"] but that doesn't seem to make it easier here 20:22
xinming Yea,, thanks 20:23
Altreus p6 doesn't report the type of an exception if it wasn't given a message 21:08
Altreus I may be mistaken, hold on 21:09
it does, cro just doesn't supply an exception :P 21:11
SmokeMachine m: say &infix:["+"].(31, 11) 21:39
camelia 42
SmokeMachine m: my $a = +; say &infix:[$a].(31, 11)
camelia 5===SORRY!5=== Error while compiling <tmp>
Prefix + requires an argument, but no valid term found
at <tmp>:1
------> 3my $a = +7⏏5; say &infix:[$a].(31, 11)
expecting any of:
prefix
SmokeMachine m: my $a = "+"; say &infix:[$a].(31, 11)
camelia Use of uninitialized value of type Any in string context.
Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.
in any ACCEPTS at gen/moar/stage2/NQPCORE.setting line 594
Use of uninitialized value of type …
SmokeMachine m: my $a; BEGIN $a = "+"; say &infix:[$a].(31, 11) 21:41
camelia 42
squashable6 🍕 MorayJ++ closed pull request “Phasers”: github.com/perl6/doc/pull/2289 21:42
🍕 MorayJ++ reopened pull request “Phasers”: github.com/perl6/doc/pull/2289
pyrimidine timotimo: awesome post on FASTA parsing! I had a few versions here, including a grammar: github.com/cjfields/bioperl6/tree/...arse-fasta 21:50
yoleaux 27 Aug 2017 12:52Z <AlexDaniel> pyrimidine: irclog.perlgeek.de/perl6-dev/2017-...i_15075855
27 Aug 2017 12:53Z <AlexDaniel> pyrimidine: mystery resolved. It's still not as low, but that's possibly noise
pyrimidine Heh, been a while :)
pyrimidine Grammar version I think originated from maybe Ulti, I think. 21:52
Geth doc/master: 6 commits pushed by MorayJ++ 22:00
squashable6 🍕 MorayJ++ merged pull request “Phasers”: github.com/perl6/doc/pull/2289
squashable6 🍕 MorayJ++ wrote a comment on “Revise phasers page”: github.com/perl6/doc/issues/2268#i...-417800231 22:01
🍕 MorayJ++ closed issue “Revise phasers page”: github.com/perl6/doc/issues/2268
Juliana Hi there, 22:21
is there a way to match everything but excluding a particular string ? 22:22
$text ~~ / ^^ "ASUNTO" .* "RESULTANDO QUE" /;
this expresion includes the string "RESULTADO QUE" as part of the match 22:23
MasterDuke Juliana: you mean something like `!$text.contains("RESULTADO QUE")` ? 22:27
yoleaux 18:59Z <pmurias> MasterDuke: re nqp::istrue_s it not defined in nqp because it's not used by a QAST::Op but only in a lower level MAST
18:59Z <pmurias> MasterDuke: re Missing dependency message that's because the setting isn't properly cross compiled and loaded yet
Juliana MasterDuke: no, just trying to set a grammar to parse a semi-structured text (txt file) which contains sections identified by specific expresion. So I want to parse just the text related to the "ASUNTO" section which comes before the "RESULTANDO QUE" section 22:30
[Coke] <!before pattern> 22:37
[Coke] m: /win 3 22:37
camelia 5===SORRY!5===
Regex not terminated.
at <tmp>:1
------> 3/win 37⏏5<EOL>
Unable to parse regex; couldn't find final '/'
at <tmp>:1
------> 3/win 37⏏5<EOL>
expecting any of:
infix stopper
Other potential dif…
timotimo i like <( and )> better than using <!before> and such 22:50
timotimo m: say "ASUNTO 99 RESULTANDO QUE CERVEZA" ~~ / ^^ "ASUNTO" .* )> "RESULTANDO QUE" / 22:51
camelia 「ASUNTO 99 」
timotimo m: say "ASUNTO 99 RESULTANDO QUE CERVEZA" ~~ / ^^ "ASUNTO" .*? )> " RESULTANDO QUE" /
camelia 「ASUNTO 99」
Altreus Somehow my code runs this line github.com/shuppet/p6-api-discord/...d.pm6#L172 without running this line github.com/shuppet/p6-api-discord/...d.pm6#L190 23:14
help :) 23:15
Juliana timotimo, thanks! 23:19
timotimo Altreus: you but one of the lines is for having "READY" in the "t" key, and the other is for "MESSAGE_CREATE"? 23:22
buggable New CPAN upload: Async-Command-0.0.3.tar.gz by MLDEVINE modules.perl6.org/dist/Async::Comma...n:MLDEVINE 23:23
Altreus timotimo: that's right 23:29
timotimo: I need to make a class that wraps up this JSON to make it more legible :)
timotimo: the API has some default behaviour for certain message types 23:30
but IDK why it doesn't return from User.from-json
timotimo have you put logging absolutely everywhere? :D 23:32
that's how i tend to do it
but just because i haven't made the debugging stuff in moarvm good enough
Altreus ye
I didn't commit it but I had a say on line 172
which runs 23:33
which doesn't make sense because handle-message is synchronous
timotimo you're not accidentally tapping more than once?
Altreus it only runs the say once :s 23:34
and there's only one READY
It's late though ... I might have another look in the morning 23:35