»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by masak on 12 May 2015.
00:00 lichtkind left, Psyche^ joined
zengargoyle i'm assuming it's in rakudo, neither Pod::To::Text nor Pod::To::Markdown mention 'finish' and both fail to display POD after =finish 00:03
rakudobug.so
jdv79 i only say that cause i didny expect that to be so large a diff
00:04 Psyche^_ left, raiph joined 00:05 lizmat joined 00:06 AlexDaniel joined
timotimo jdv79: what did you expect and what did you see? 00:10
jdv79 times plumetted when i s/|/||g 00:11
i thought that would be efficient and/or optimized enough already to not be so big a time diff
timotimo huh, really?! 00:19
it was that bad?
jdv79 im on my phone but tomorrow ill show you!
nite
timotimo thanks 00:26
grondilu talkink about finish, shouldn't it be ok to add a semi-colon after it? 00:29
m: =finish;
camelia rakudo-moar 019a7f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/YsgQTX1TeL␤Preceding context expects a term, but found infix = instead␤at /tmp/YsgQTX1TeL:1␤------> 3=7⏏5finish;␤»
grondilu m: =finish 00:30
camelia rakudo-moar 019a7f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/SQmIOnlmWu␤Preceding context expects a term, but found infix = instead␤at /tmp/SQmIOnlmWu:1␤------> 3=7⏏5finish␤»
timotimo no, i don't think it should be
huh?
grondilu I think it also wants a newline
oh no, it's just camelia complaining for some reason 00:31
00:32 raoulvdberge left
timotimo it may want a newline, yeah 00:35
m: =finish␤
camelia ( no output )
timotimo but VERY LTA 00:36
00:40 nys left 00:42 Humbedooh joined 00:43 Humbedooh left, Humbedooh joined 00:44 nys joined
ShimmerFairy =finish; shouldn't work in the same way =head1; doesn't work. It should count EOF as an acceptable (if redundant-making) thing to appear after a directive, perhaps 00:47
m: =finish
camelia rakudo-moar 019a7f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/WdEutKb5h5␤Preceding context expects a term, but found infix = instead␤at /tmp/WdEutKb5h5:1␤------> 3=7⏏5finish␤»
00:47 nys left
ShimmerFairy yeah, very LTA if it doesn't allow a single space afterwards to count 00:47
00:51 sprocket joined
dalek Heuristic branch merge: pushed 71 commits to rakudo/curli by lizmat 00:56
zengargoyle ShimmerFairy: doesn't sound that way according to S26 01:00
ShimmerFairy oh?
zengargoyle An C<=finish> block indicates the end-point of any ambient material within the document. This means that the parser will treat all the remaining text in the file as Pod, even if it is not inside an explicit block. 01:01
apart from its special end-of-file termination behaviour, an C<=finish> block is in all other respects identical to a C<=pod> block. 01:02
ShimmerFairy m: =finish a
camelia rakudo-moar 019a7f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ikljtnUViM␤Preceding context expects a term, but found infix = instead␤at /tmp/ikljtnUViM:1␤------> 3=7⏏5finish a␤»
ShimmerFairy m: =pod a
camelia ( no output )
ShimmerFairy m: =pod
camelia rakudo-moar 019a7f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/sEVoZpLZ2x␤Preceding context expects a term, but found infix = instead␤at /tmp/sEVoZpLZ2x:1␤------> 3=pod7⏏5<EOL>␤»
ShimmerFairy zengargoyle: so the part where it doesn't work like the =pod a example there is definitely not right, at least :) 01:03
zengargoyle i take it as meaning that =finish is the same as =begin pod ... (to end of file) 01:04
there's more wordage in the spec that i won't cut-n-paste, but given the rest of the spec it totally seems like =finish is like P5 __END__ 01:05
ShimmerFairy It just means that =finish parses the same as its equivalent =pod , the only change being that the end marker is always EOF
zengargoyle minus =data repacing the __DATA__ aspect of __END__
ShimmerFairy So e.g. =finish has implied para blocks and code blocks 01:06
the difference between =begin finish, =for finish, and =finish should still be there (in terms of allowing config options or not), as I understand it.
zengargoyle and head and every other thing that can be in =pod
ShimmerFairy zengargoyle: sure, there aren't really any limits on what pod blocks you can put inside other blocks (except perhaps for =table ☺) 01:08
This reminds me that I should get back to my Pod6 parser, I've been taking a break from it for a while. At the very least I should re-familiarize myself with it and make it public sometime soon.
01:09 BenGoldberg joined
zengargoyle pod is one of those rough edges that irks me more than others for some reason :) 01:09
i want to use *all the features* 01:10
and far too often they're NYI :(
i'm pondering taking a crack at making =data work, but not sure if i can manage it. haven't messes around inside rakudo at all yet. 01:11
ShimmerFairy zengargoyle: that's my annoyance too, esp. the part where lots of projects are using markdown :( . 01:12
zengargoyle: note that my parser project is meant to eventually replace the current parser in rakudo (particularly because I find the current one very spaghetti-code-like), but anything you can make less NYI in the meantime is great! :) 01:13
ShimmerFairy definitely wants to get back to her pod parser in a little bit now :D
zengargoyle well, does github do pod6 yet? or do it well? until we have our own cpan-ish thing it's nice to have decent web viewable docs.
ShimmerFairy zengargoyle: no, and I'm not sure how it can be done. "Easiest" would be to make github run Perl 6 so it can run Pod::To::HTML for Pod6 stuff, but I imagine "just install rakudo!!" will take a while to become convincing :) 01:16
(IIRC github has a system that "outsources" to other programs for document generation)
01:18 tokuhiro_ joined
zengargoyle i ponder a build tool that HTML's the docs and makes a github.io branch out of them. 01:21
01:22 tokuhiro_ left
RabidGravy zengargoyle, do it, I'd reckon five days work 01:23
zengargoyle and then when we have .js support the web page will be the CI tool!
RabidGravy hardest part being the github integration
ShimmerFairy zengargoyle: I'll be sure to let you know when I make my pod parser public, if you're interested :) . It's currently in an awkward place of being written in NQP-ish ways to ease transition to rakudo, yet written in Perl 6 to get better access to Perl 6 objects. 01:24
01:25 sprocket left
RabidGravy I'm kind of seeing the degree of integration that npm has with its ecosystem 01:25
01:25 pippo left
zengargoyle knows almost nothing about npm 01:25
ShimmerFairy: cool, but you might regret it. :) 01:28
ShimmerFairy zengargoyle: heh, there's a reason why I take a while to make my projects public :P
RabidGravy release early and release often 01:29
zengargoyle speaking of which, i just pushed Algorithm::Trie::libdatrie that now builds it's own libdatrie. no more 'install this distro package'. 01:30
ShimmerFairy The reason why I took the aforementioned break is because I tried implementing parsing some unicode-character-using tables, and made the classic mistake of "too much code before testing". Not having that work made me need to step away and do other stuff for a while :) 01:31
zengargoyle and *crosses fingers* maybe it will work on Windows.
i usually build something from scratch like 3 times hoping it's easier than fixing the current mess. 01:34
ShimmerFairy Well, I learned from that to perhaps just start with the table parsing. And then work in header row/column support. And then add rowspan/colspan support. Instead of doing all that in the first pass :P 01:35
(I want to at least have some kind of table parsing in place before releasing it, so people can see how I want to go about it.) 01:36
RabidGravy write the documentation for your interface, write the tests that chck that interface, write code that passes those tests
01:37 espadrine left
ShimmerFairy RabidGravy: I've got some basic parsing tests already, at least :) 01:39
though perhaps my first step should be to write tests to design the AST side...
01:45 xpen joined
zengargoyle does rakudobrew have an easy way to build from your own fork or is it pretty much go back to building moar/rakudo yourself? 01:46
01:47 RabidGravy left 01:53 sufrostico left 01:55 dj_goku joined 01:56 raiph left, telex left 01:58 telex joined
dj_goku TimToady: just watched the Perl6 release talk from October. It was great! 02:01
02:08 BenGoldberg left 02:10 sprocket joined 02:20 BenGoldberg joined 02:22 FROGGS_ joined 02:25 gd_ joined 02:26 FROGGS left
gd_ Hi, I have a question about regexes. Let's say I have have the following code: 02:28
my regex areg {<[a]>}
say "found at [" ~ $/.from ~ "," ~ $/.to ~ "]" if so "a" ~~ m/<!areg>/;
Why does it detect a zero-width character instead of just nothing?
ShimmerFairy because <!areg> is a zero-width match that's like /<!before <areg>>/ . At position 1, you're before the end of the string, so /<!before <areg>>/ will be true 02:36
If you meant to match one thing that's not <areg>, then you want <-areg> (which is equivalent to /<!areg> ./ ) 02:37
gd_ I see, thank you
Using /<-areg>/ seems to give an error, but I assume this is has something to do with Rakudo. /<!areg> ./ works fine, though. 02:45
ShimmerFairy What error message is it, ooc? 02:46
gd_ Method 'areg' not found for invocant of class 'Cursor' 02:47
02:47 ilbot3 joined
ShimmerFairy gd_: ah, looks like <-areg> doesn't account for 'my regex' things, which could very well be a bug (try <.areg> vs. <&areg> -- the <.areg> should fail the same way, <&areg> should match the "a" without creating a named capture) 02:48
m: my regex areg { <[a]> }; say "found at [" ~ $/.from ~ "," ~ $/.to ~ "]" if so "a" ~~ m/<-areg>/; 02:49
camelia rakudo-moar 019a7f: OUTPUT«Method 'areg' not found for invocant of class 'Cursor'␤ in block <unit> at /tmp/G41tADaeJJ:1␤␤»
02:49 dayangkun joined
ShimmerFairy m: my regex areg { <[a]> }; say "found at [" ~ $/.from ~ "," ~ $/.to ~ "]" if so "a" ~~ m/<-areg>/; 02:49
camelia rakudo-moar 019a7f: OUTPUT«Method 'areg' not found for invocant of class 'Cursor'␤ in block <unit> at /tmp/c02sYIETdR:1␤␤»
ShimmerFairy m: grammar G { regex areg { <[a]> }; regex TOP { <-areg> } }; say G.parse("a"); # meant to paste this the second time 02:50
camelia rakudo-moar 019a7f: OUTPUT«(Any)␤»
02:50 yqt left
zengargoyle my regex areg {<[a]>}; "a" ~~ m/< -areg>/ 02:53
m: my regex areg {<[a]>}; "a" ~~ m/< -areg>/
camelia ( no output )
zengargoyle m: my regex areg {<[a]>}; say "a" ~~ m/< -areg>/
camelia rakudo-moar 019a7f: OUTPUT«False␤»
zengargoyle maybe whitespace confusion? i know theres at least one use of < that requires space, don't recall details. 02:55
nah, "b" is also False
02:57 riatre joined
ShimmerFairy zengargoyle: /< abc def >/ makes for a multi-character version of /<[abc]>/ :) (the initial space is what activates it) 02:57
m: say "foo" ~~ /< bar foo >/ 02:58
camelia rakudo-moar 019a7f: OUTPUT«「foo」␤»
psch that's just inconsistent :/ 03:00
m: my regex areg {<[a]>}; say "a" ~~ m/<!&areg> ./
camelia rakudo-moar 019a7f: OUTPUT«False␤»
psch well, either one of those seems inconsistent to me 03:01
either <! isn't specific enough for only character classes, or <- wrongly doesn't accept routines
oh hm, <- changes the parsing rules of what follow..? 03:02
zengargoyle yeah
ShimmerFairy psch: the issue is that <-...> isn't taking subroutines, which I'd think is an error. 03:03
m: say "a" ~~ m/<![a]>/
camelia rakudo-moar 019a7f: OUTPUT«False␤»
ShimmerFairy huh, that's not what I would've expected
m: say "a" ~~ m/<![a]>$/
camelia rakudo-moar 019a7f: OUTPUT«False␤»
03:03 sprocket left
ShimmerFairy m: say "a" ~~ m/<!before <[a]>>/ 03:03
camelia rakudo-moar 019a7f: OUTPUT«False␤»
ShimmerFairy now _that_ feels wrong to me. It should match at position 1, or else <!areg> is broken as well 03:04
03:05 jantore joined
gd_ The following code also gives me an error: 03:06
say so 'b' ~~ m/<[ab] | [c]>/;
Shouldn't the | symbol work like + ?
psch gd_: + works like + in character classes 03:07
m: say so 'abc' ~~ m/<[ab] + [c]> ** 3/;
camelia rakudo-moar 019a7f: OUTPUT«True␤»
psch ShimmerFairy: from what i can see, <-&foo> isn't tested in roast 03:08
ShimmerFairy I know | and & are meant to work in set-like fashion inside assertion, as I recall 03:10
psch yes, for unicode properties
gd_ Oh
psch err, maybe that's just an example there... 03:12
ShimmerFairy m: say "ab2" ~~ /<alpha | digit>+/
camelia rakudo-moar 019a7f: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤ in block <unit> at /tmp/KNYI5YRx3q:1␤␤»
psch m: say "quux" ~~ / <+ :Letter - :HexDigit > / # is one example which is commented out in roast 03:13
camelia rakudo-moar 019a7f: OUTPUT«「q」␤»
psch "Terms may also be combined using & for set intersection, | for set union, and ^ for symmetric set difference." is the next line 03:14
but that's again not in roast
and doesn't seem to work either
ShimmerFairy psch: I have a feeling setops are NYI. Perhaps it even predates the $~MAIN setops, since otherwise I half-expect those ops would be (&) etc. 03:15
(e.g. <alpha (|) digit> )
gd_ m: say "a" ~~ /<:L | :N>+/; 03:16
camelia rakudo-moar 019a7f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Py19Ihq3t0␤Unable to parse expression in metachar:sym<assert>; couldn't find final '>' ␤at /tmp/Py19Ihq3t0:1␤------> 3say "a" ~~ /<:L7⏏5 | :N>+/;␤»
psch well, aside from ^ they can be emulated with + and - (unless i'm really way more tired than i feel right now... :P )
actually, even ^ should work, if quite verbose, no? 03:17
ShimmerFairy psch: I dunno, lemme look up symmetric set difference :P . But yeah, + is like "unifying" things, so it's like (|), and - says "but not" (IIUC), which is vaguely similar to (&) 03:18
psch like, (A - (A - B)) + (B - (B - A)) or somesuch
gd_ I'm looking at S05 and it seems to imply it should work 03:19
psch anyway, yeah, <-&foo> not working looks like a potential RT to me
gd_: well, sometimes nobody wrote it yet... :) 03:20
gd_: other times the synopses aren't quite up to date anymore and decision have been made.. vOv
ShimmerFairy psch: actually, since I don't think - is quite set union, I wonder how you'd emulate set union...
03:20 BenGoldberg left
ShimmerFairy Actually, - is non-symmetric set difference, duh. That is, A \ B (whatever the right symbol for \ is, it's one of the few setops I don't have for my Compose key yet) 03:21
psch yeah i got it all over too haha
definitely too late for set theory :P 03:22
i'm gonna give this "sleep" thing another try
gd_ thank you for the help! 03:23
03:25 gd_ left 03:29 dayangkun left 03:31 sprocket joined 03:33 geraud joined 03:39 geraud left 03:40 geraud joined 03:53 aborazmeh joined, aborazmeh left, aborazmeh joined 04:03 kid51 left 04:10 xpen left 04:23 sprocket left
lizmat m: .say while with 42 # wonders whether this should be legal syntax 04:31
camelia rakudo-moar 019a7f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/gtr1hhyW8p␤Undeclared routine:␤ with used at line 1␤␤»
zengargoyle good * lizmat 04:32
lizmat zengargoyle o/
zengargoyle question: do you have to rebuild moar when you build rakudo? (i'm playing with the POD data thing) 04:33
lizmat probably not... the normal "make" should determine what needs to be recompiled 04:35
with one exception: after a NQP revision bump
zengargoyle ah, i did the Configure w/o --gen-moar
lizmat that was done because of a MoarVM bump
04:35 Actualeyes left 04:41 xpen joined 04:45 xpen left 04:46 aborazmeh left 04:49 tokuhiro_ joined 04:53 tokuhiro_ left 04:57 kaare_ joined 05:06 pdcawley joined, nebuchad` joined 05:08 sprocket joined, yubimusubi joined, tony-o_ joined 05:09 xenu_ joined, mst__ joined, jstimpfl1 joined 05:10 rjbs- joined, Brock joined 05:12 Calibell_ joined, timbunce_ joined 05:14 emdashcomma_ joined, pdcawley_ left, Calibellus left, timbunce_ is now known as timbunce, M-eternaleye joined 05:15 Util joined 05:17 Fleurety joined 05:18 xiaomiao joined 05:21 sprocket left 05:25 b2gills joined
dalek kudo/nom: 0825ea0 | lizmat++ | src/core/IO/Handle.pm:
IO::Handle.lines expressed as .get

This simplifies IO::Handle.lines to use .get and not do any smart bypasses anymore. Also no longer update .ins and make .ins DEPRECATED. This makes .lines in its various forms about 60% slower, but it paves the way for other features, such as supporting regexes as newline separators.
05:41
05:42 Actualeyes joined, xpen joined
dalek ast: 3f3e870 | lizmat++ | S16- (3 files):
Handle IO::Handle.ins deprecation
05:42
05:44 adhoc joined 05:45 notostraca joined 05:46 AlexDaniel left 05:47 Actualeyes1 joined, Quom joined, sunnavy_ joined, xpen left 05:48 cbk_ joined
grondilu I'm trying Math::Vector for rosettacode.org/wiki/N-body_problem#Perl_6 and jeez this module looks loong 05:49
05:49 BooK_ joined
grondilu I mean *slow* 05:49
05:49 mls_ joined 05:50 larion_ joined, awwaiid joined 05:51 atta_ joined, Actualeyes left, TEttinger left, Brock left, colomon left, ilbot3 left, SmokeMachine left, notostraca is now known as TEttinger, erxeto_ joined, xnrand joined, xdbr joined 05:52 gensym joined, [ptc] joined, woodruffw joined 05:53 roguelazer joined, cgfbee joined, gtodd joined, ilbot3 joined 05:56 kipd joined 06:00 SmokeMachine joined
grondilu also, trying the debugger, I got this: 06:01
Cannot find method 'from' in any widen_expr_from at gen/moar/m-perl6-debug.nqp:298 in any at gen/moar/m-perl6-debug.nqp:279 in any statement_control:sym<loop> at gen/moar/m-perl6-debug.nqp:278 in any statement_control:sym<loop> at /usr/local/share/nqp/lib/Perl6/Grammar.moarvm:1 in any statement_control at /usr/local/share/nqp/lib/Perl6/Grammar.moarvm:1 in any statement at src/Perl6/Grammar.nqp:1202
n nany statementlist at src/Perl6/Grammar.nqp:1132 in any at gen/moar/m-perl6-debug.nqp:393
lizmat smells like a Match object was expected, and it turned into a Str ? 06:08
grondilu not related: 06:12
m: class A { has @stuff; multi method new(*@stuff) { ::?CLASS.new: :@stuff } }; say A.new: rand xx 3 # why does that hang?
oh wait 06:13
camelia rakudo-moar 0825ea: OUTPUT«(timeout)»
grondilu m: class A { has @.stuff; multi method new(*@stuff) { ::?CLASS.new: :@stuff } }; say A.new: rand xx 3 # why does that hang?
camelia rakudo-moar 0825ea: OUTPUT«(timeout)» 06:14
zengargoyle one step closer: Pod::Block::Data.new(allowed => [], config => {:key("mydata")}, contents => [" <- there are leading spaces", "\n", "\n", "and blank lines", "\n"]) 06:15
06:15 ycaymanbo joined 06:16 khw left
grondilu m: class A { has @stuff; multi method new(*@stuff) { ::?CLASS.bless: :@stuff } }; say A.new: rand xx 3 06:16
camelia rakudo-moar 0825ea: OUTPUT«A.new␤»
grondilu m: class A { has @stuff; multi method new(*@stuff) { ::?CLASS.bless: :@stuff } }; dd A.new: rand xx 3
camelia rakudo-moar 0825ea: OUTPUT«A $var = A.new␤»
06:16 baest_ joined
grondilu m: class A { has @.stuff; multi method new(*@stuff) { ::?CLASS.bless: :@stuff } }; say A.new: rand xx 3 06:17
camelia rakudo-moar 0825ea: OUTPUT«A.new(stuff => [0.184455404976691e0, 0.697056286073936e0, 0.583927804979361e0])␤»
06:17 mls_ left
grondilu using bless is ok apparently. I really thought I was supposed to use new instead 06:17
06:17 mls joined, tinita_ joined 06:18 revdiablo joined, Praise- joined, Praise- left, Praise- joined, ][Sno][ joined
ShimmerFairy fetch stage failed for Grammar::Parsefail: Unable to handle source 'github.com/ShimmerFairy/grammar-parsefail/' :( 06:18
06:19 pochi_ joined
ShimmerFairy And I can't figure out why it doesn't work, since it did before. The backtrace doesn't point to anything that should've changed things 06:19
06:19 cfloare_ joined, ilbot3 left, krunen left 06:20 PerlJam joined, masak joined, garu joined, masak is now known as Guest47291, Hotkeys joined, krunen joined, maddingue joined, btyler joined 06:21 Gothmog_ joined
lizmat grondilu: the slurpy is also selected on no positionals 06:21
the named params if optional, do not come into play in MMD
so you created an infiniloop
m: m: class A { has @stuff; multi method new(@stuff) { ::?CLASS.new: :@stuff } }; say A.new: rand xx 3
m: class A { has @stuff; multi method new(@stuff) { ::?CLASS.new: :@stuff } }; say A.new: rand xx 3
ok, that will be two timeouts
camelia rakudo-moar 0825ea: OUTPUT«A.new␤»
ShimmerFairy My best guess is that I'm missing a .git, but that doesn't explain why it _stopped_ working as a source-url. 06:22
06:24 rurban joined, ilbot3 joined
dalek kudo/nom: 31d12fb | lizmat++ | src/core/IO.pm:
Backport some IO enums from newio branch
06:27
06:29 bombless joined 06:31 xpen joined
lizmat hmmm.... seems we haven't got any tests for IO::Handle.tell 06:32
06:36 mst__ is now known as mst, mst left, mst joined
dalek kudo/nom: 2379641 | lizmat++ | src/core/IO/Handle.pm:
Make IO::Handle.seek use SeekType enum

Also backported from newio branch
06:43
c: e145a3c | lizmat++ | doc/Type/IO/Handle.pod:
Update IO::Handle.seek parameters documentation
06:48
kudo/nom: 50451fd | lizmat++ | docs/ChangeLog:
Mention IO::Handle.seek enum / deprecation
06:51
06:59 skids left 07:01 lizmat_ joined, bombless_ joined 07:02 charsbar_ joined 07:03 japhb_ joined, sftp_ joined, jstimpfl1 left 07:04 lizmat left, lizmat_ is now known as lizmat, moritz joined, sftp_ is now known as sftp, bakedb joined, jstimpfle joined, gugod joined, bombless left, gensym left, MilkmanDan joined, SHODAN joined, sjn joined 07:05 bowtie joined, yakudza joined 07:06 gensym joined
zengargoyle can nqp do $foo[] or $foo{} type of stuff? that is a variable that's both Positional and Associative? 07:06
lizmat zengargoyle: don't think so 07:07
the only HLL case I know (Capture) uses both a nqp::hash and a nqp::list internally
07:07 Peter_R joined
zengargoyle i have =data but notice that the $=pod creation is in nqp-land and just plops $/ into it. 07:08
lizmat .tell Zoffixw re irclog.perlgeek.de/perl6/2015-11-13#i_11534363 , not going to happen, since the description is optional 07:09
yoleaux lizmat: I'll pass your message to Zoffixw.
lizmat .tell ZoffixW re irclog.perlgeek.de/perl6/2015-11-13#i_11534363 , not going to happen, since the description is optional
yoleaux lizmat: I'll pass your message to ZoffixW.
zengargoyle wondering where i should try and create a $=data
lizmat hoelzro might have a clue
zengargoyle cool 07:10
hoelzro lizmat, zengargoyle: I don't think I ever messed with $=data
it's on my long list of interest areas, though 07:11
07:11 bombless_ left
zengargoyle i'm more curious where i can a) write normal-ish Perl 6 code, and b) create $=data so that it's available at runtime. 07:12
i have the Grammar/Actions nqp and stuff creating Pod::Block::Data nodes that i can gather up.
just don't know where to get them installed as variable 07:13
07:14 ribasushi joined
hoelzro I see some code in World&Actions that installs $=pod and $=finish 07:14
that might make for a good guide 07:15
07:15 CIAvash joined
zengargoyle yeah, that's nqp which i'm a) not good at, and b) don't think it can make $=data do positional[] and associative{} access. 07:16
hoelzro I don't know if you can install $=data without using NQP 07:17
not sure, though
zengargoyle or if that's just a harder problem to get done in nqp and WorldActions is the right answer..
07:18 xiaomiao left 07:20 xiaomiao joined 07:30 abaugher left 07:32 crux joined
lizmat hmmm.... isn't =data not a synonym for $=finish ? 07:34
07:34 abaugher joined
dalek kudo/nom: e51aaff | lizmat++ | src/core/Str.pm:
Actually deprecate split(:all)

As mentioned in the ChangeLog
07:34
07:35 darutoko joined
zengargoyle well you can have multiple =data but only one =finish 07:35
07:35 TimToady joined
zengargoyle it is though the replacement for __END__ / __DATA__ 07:35
=finish is just a signal that there will be no more code, only pod 07:36
07:36 Begi11110 joined
zengargoyle =finish is the same as =begin pod ... until end of file # if i grok specs right. 07:37
lizmat yeah, but you can treat $=finish as a replacement for P5's __DATA__ 07:38
zengargoyle i dunno spec implies it's pod, pod implieds that it gets podifild which is line wrapping, space munching, paragraph formatting. 07:40
data is more like code, left intact 07:41
lizmat time to get some sleep 07:42
so good night, #perl6!
zengargoyle o/
ShimmerFairy yeah, =data is a separate thing from =finish 07:47
It's like if __END__ and __DATA__ were completely separate things :P
07:49 rindolf joined 07:51 ycaymanbo left 08:15 nebuchad` is now known as nebuchadnezzar 08:21 softmoth_ left 08:25 Calibell_ left 08:29 geraud left 08:45 Zoffix joined 08:51 tokuhiro_ joined 08:55 tokuhiro_ left 09:01 molaf joined, xfix joined
Zoffix lizmat, I was going to suggest a solution, but not finding an obvious place to submit suggestions for rakudo, decided I didn't care enough. The solution being a multi: multi subtest ($desc, &code) {...} This way we wouldn't have to fix all the code that currently uses the desc after the code. 09:07
09:07 Zoffix is now known as ZoffixW
ZoffixW .botsnack 09:07
yoleaux :D
07:09Z <lizmat> ZoffixW: re irclog.perlgeek.de/perl6/2015-11-13#i_11534363 , not going to happen, since the description is optional
09:07 ZoffixW is now known as Zoffix 09:11 RabidGravy joined 09:13 Guest47291 is now known as masak 09:14 masak is now known as Guest10199, Guest10199 is now known as masak_grr 09:15 espadrine joined 09:17 tokuhiro_ joined 09:18 softmoth_ joined 09:22 softmoth_ left, tokuhiro_ left 09:26 TEttinger left 09:34 Actualeyes1 left 09:35 diana_olhovik joined
dalek Heuristic branch merge: pushed 201 commits to roast/curli by niner 09:40
09:47 ycaymanbo joined 09:51 Zoffix left 09:52 espadrine left 09:54 cygx joined
cygx m: BEGIN say "foo".subst("o", "") 09:55
camelia rakudo-moar e51aaf: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Hpr7pclQkr␤An exception occurred while evaluating a BEGIN␤at /tmp/Hpr7pclQkr:1␤Exception details:␤ Type check failed in binding cds; expected Any but got Mu␤ in code at /tmp/Hpr7pclQkr:1␤␤»
cygx m: say "foo".subst("o", "")
camelia rakudo-moar e51aaf: OUTPUT«fo␤»
09:56 Zoffix joined 09:58 molaf left
dalek kudo/curli: 3eea814 | (Stefan Seifert)++ | src/core/CompUnit/ (3 files):
Have Repository::FileSystem automatically precompile files

We now precompile loaded modules automatically. However, we cannot do this anymore as soon as we encounter a 'use lib' as this changes the precompilation store used. Consider:
   use Test;
   use lib 'foo';
   use Test::Util; # which again uses Test
Test::Util would be loaded from a different precompilation store that contains a different precompiled version of Test to the one already loaded.
09:58
nine Ah, feels good to be committing again :) 09:59
Zoffix :)
tadzik ooh :) 10:00
good stuff
10:04 dotness joined
Woodi hallo today :) 10:08
10:08 xpen left
Woodi nine: so last use lib 'foo' means "current library location" ? what if user wants test::Util from 'foo' and first version of Test ? 10:10
[Tux] test 50000 22.299 22.187 10:11
test-t 50000 18.892 18.780
csv-parser 50000 26.666 26.554
Woodi is there somethin like: use Test from lib 'foo'; ?
Woodi 's 'g' key is dyin.... 10:13
Zoffix Mouth to mouth! 10:14
10:14 M-Illandan joined 10:15 pochi joined
Woodi i try that before :) now it requires more shockin approach... 10:15
10:15 Begi11111 joined
Woodi btw. do ThinkPads newer then 400s are better or worse ? 10:17
10:17 dotness left, advwp_ joined 10:18 nine_ joined 10:19 b2gills1 joined
nine_ [Tux]: wow, when did we get so fast? 10:19
10:19 MadcapJake_ joined
nine_ [Tux]: haven't been around much lately 10:19
10:19 erxeto joined, PotatoGim_ joined, integral_ joined, integral_ left, integral_ joined
[Tux] 2015-11-04 39.189 → 2015-11-05 17.972 10:19
10:20 sivoais_ joined, BinGOs_ joined
[Tux] tux.nl/Talks/CSV6/speed4.html 10:20
10:20 obra_ joined, csson joined, bartolin joined, samigarus joined
[Tux] lizmat++ split (@needles, ...) 10:20
10:20 f3ew_ joined, Begi11110 left, MadcapJake left, pochi_ left, erxeto_ left, b2gills left, samigarus is now known as oahong, oahong left, oahong joined 10:21 mprelude joined, nine_ is now known as nine, salva joined, timotimo joined, JimmyZ joined 10:22 Khisanth joined 10:23 bpmedley joined, olinkl joined, kaare_ left, kaare_ joined
Woodi will be R* soon ? 10:24
sooner then 41 days ? :)
10:25 dotness joined, PotatoGim_ is now known as PotatoGim 10:26 sivoais_ left 10:28 chansen_ joined 10:29 telex left, sivoais joined, dotness left 10:30 telex joined, Spot__ joined 10:31 BinGOs_ is now known as BinGOs, BinGOs left, BinGOs joined
dalek href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: a247df0 | (Zoffix Znet)++ | mojo-app/ (3 files):
JS for searching/sorting

Closes #18
10:33
10:34 xpen joined 10:35 polettix joined 10:38 aborazmeh joined, aborazmeh left, aborazmeh joined
tadzik Woodi: well, they're a lot more powerful that's for sure, but bring some controversial design decisions 10:40
keyboard layout, key shape, the touchpad/trackpoint-buttons fuckup in the *40s... 10:41
dalek href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 965f0c6 | (Zoffix Znet)++ | mojo-app/public/js/main.js:
Clarify what the code is for
10:44
10:53 metasin joined
metasin Welcome, my friends. :-) 10:53
Zoffix \o
10:54 Houl joined
Hotkeys o7 10:58
11:06 softmoth_ joined, llfourn left 11:08 polettix left 11:10 softmoth_ left 11:13 diana_olhovik___ joined 11:14 diana_olhovik left 11:16 RabidGravy left, dayangkun joined 11:18 tokuhiro_ joined
dalek href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: b94e115 | (Zoffix Znet)++ | mojo-app/public/js/main.js:
Preserve sort order when going Back to the page (Closes #17)
11:19
11:23 tokuhiro_ left 11:29 Skarsnik joined 11:34 Actualeyes joined, bombless_ joined
Zoffix perlbot, eval: use Scalar::Util qw/looks_like_number/; [ looks_like_number 'sNan' ] 11:44
wtf is snan? 11:45
Ooops. Wrong channel
cygx nevertheless, it's probably a signed NaN
Zoffix Ah. Thanks.
cygx or a signalling NaN
in contrast to a quiet NaN
11:46 vendethiel joined
vendethiel o/ #perl6! 11:46
Zoffix \o
cygx Zoffix: forget the thing about signed NaN - it's not really a thing as all NaNs are signed 11:48
Zoffix cygx, I found it: en.wikipedia.org/wiki/NaN#Signaling_NaN 11:49
cygx Zoffix: yes, that should be it - I was just typing faster than thinking ;) 11:51
11:55 Begi11111 left 11:59 zacts left 12:02 zacts joined 12:10 vendethiel left 12:14 cognominal joined, xpen left 12:19 AlexDaniel joined 12:21 vendethiel joined 12:23 masak_grr is now known as masak 12:27 dotness joined 12:29 loren joined
Skarsnik Hello 12:30
Zoffix \o
loren o/
12:30 ^elyse^ joined 12:33 kid51 joined
masak .oO( all NaNs scoff in the face of signs ) 12:34
o/ #perl6
cygx o/ 12:35
timotimo o/ 12:36
github.com/MoarVM/MoarVM/issues/293 - i accidentally such a good description of this bug that i'd be comfortable asking a beginner to fix this %)
Skarsnik Is there something like .perl that ouput more like Data::Dumper? (more human readable with \n)
Zoffix Skarsnik, I see a couple of "dump" modules in eco 12:38
modules.perl6.org/
Skarsnik I was hoping for something not a module. but well
timotimo we're putting a lot of trust into module space 12:39
Zoffix Is that a statement or a complaint? :)
timotimo oh, not a complaint at all
Zoffix :)
12:40 dotness left, dotness joined
cygx speaking of modules, my script to precompile stuff has now become a proper-ish module manager: github.com/cygx/6make 12:43
Zoffix \o/
12:43 raoulvdberge joined
raoulvdberge why are some methods on classes uppercase (like WHAT and WHERE) and some lowercase (^methods) 12:44
timotimo be careful, .WHAT is not very method-ish
in general, all-uppercase names tell you something quirky is going on
Skarsnik to confuse you x)
cygx we SHOUT when things are special 12:45
timotimo and .^methods is actually a method on the "metaclass", not on the class itself
the ^ is what lets you access the HOW ("higher order workings", aka the metaclass)
cygx but .^stuff is regular - it just invokes it on the meta-object
raoulvdberge so WHAT is kinda like a macro?
timotimo yeah, it's specced to be a macro, but it is not quite that 12:46
just a little implementation limitation
or a NYI
raoulvdberge alright
12:48 rurban left
timotimo Zoffix: looking forward to seeing the modules page app in action :) 12:49
Zoffix soon
raoulvdberge meh, i still need a name for my perlish toy language :p 12:51
any suggestions?
Zoffix pe
moritz raoulvdberge: perlissimo
raoulvdberge they both sound cool :) 12:53
12:54 softmoth_ joined
dalek href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 9cd8b94 | (Zoffix Znet)++ | mojo-app/ (3 files):
Use saner implementation for sort storage

This way we can store other things we need; like search query
12:55
Zoffix timotimo, sneak preview of the look: i.imgur.com/UG3RV6w.png 12:57
12:58 softmoth_ left
timotimo but but but it looks just the same! i expected some particle effects and pixel shaders! 12:58
real-time lighting perhaps?
high definition character sprites?
moritz Zoffix: what do you use for storage in the mojo-app?
12:59 CIAvash left
Zoffix moritz, SQLite 12:59
moritz Zoffix: ok, great
13:01 Actualeyes left
M-Illandan Zoffix: What's the mojo-app about? new UI for modules.perl6.org? 13:06
masak raoulvdberge: now you have to do two perlish toy languages, one for each name :P 13:07
13:08 dayangkun left
masak raoulvdberge: (btw, if you want to discuss perlish toy languages, or feel you desire some inspiration, do check out masak.github.io/007/ ) 13:08
M-Illandan Zoffix: You have a bookmark for perl6 that's quite visible. :P
13:09 dotness left
Zoffix M-Illandan, first, it'll be essentially the same as the current site. And it's about ability to do moar stuff: e.g. pagination (our ecosystem is growing fast), dist quality metrics (Kwalitee), dist reviews, having some author pages like metacpan.org/author/ZOFFIX maybe 13:09
M-Illandan Zoffix: erm, I'm referring to: i.imgur.com/UG3RV6w.png
Zoffix M-Illandan, it's this page: shadow.cat/blog/matt-s-trout/f_ck-perl-6/
M-Illandan Zoffix: Oh, that was mst and so long ago :-)
13:10 espadrine joined
raoulvdberge masak: haha! will check the link out 13:11
timotimo oh my, you're an enlightenment person
interesting
13:11 xenu_ is now known as xenu
Zoffix Well, I heard they changed E to suck and Bodhi Linux uses its own stuff now. 13:12
13:12 xenu is now known as Guest84384
timotimo oh? 13:12
Zoffix Haven't checked it out yet; too lazy to upgrade.
timotimo i didn't know E was supposedly worse than before
Zoffix Linux ZofMain 3.5.0-11-generic #11 SMP Wed Aug 22 14:45:14 CDT 2012 i686 i686 i386 GNU/Linux
raoulvdberge function calls without parenthesis are really hard to parse if you have a no-context parser. I wonder how P6 does it.
flussence E17 was pretty decent, 18/19 was pretty unusable 13:13
timotimo hm
raoulvdberge: what do you mean by no-context? the only thing i'd know about is "context-free"
raoulvdberge timotimo: well no-context == context-free 13:14
timotimo i'm not sure you can say perl6's parser is context-free 13:15
Skarsnik hm, there is no way to have depends for tests but not the module?
masak raoulvdberge: P6 does it "the hard way", by being context-sensitive
Zoffix Skarsnik, there is: github.com/zoffixznet/perl6-Pasteb...TA.info#L6
Skarsnik Oooh, thx 13:16
raoulvdberge it would be pretty hard to have a no-context parser for a language like Perl, generally.
masak yes. 13:17
13:19 Actualeyes joined, Guest84384 is now known as xenu, aborazmeh left
Skarsnik Zoffix, and optionnal deps? x) 13:19
Zoffix doesn't see anything in design.perl6.org/S22.html#META6.json 13:22
13:22 ^elyse^ left 13:27 Houl left 13:30 xpen joined 13:31 Zoffix left 13:34 xpen left
dalek href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: d7d2ad9 | (Zoffix Znet)++ | mojo-app/public/js/main.js:
Preserve search JS results when Back browser button is used
13:36
Skarsnik where is the pod documentation? I can't seem to find it on doc.perl6.org (search Pod list me the related Pod class) 13:39
timotimo right, the only real doc on it is on design.perl6.org 13:41
dalek href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 2e75bb5 | (Zoffix Znet)++ | mojo-app/lib/ModulesPerl6.pm:
Add docs for ModulesPerl6.pm
13:42
13:42 flaviusb joined
dalek href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: c854fa5 | (Zoffix Znet)++ | mojo-app/bin/ModulesPerl6.pl:
Docs for bin/ModulesPerl6.pl
13:43
13:47 kjs_ joined
M-Illandan Zoffix: Nice. :+1: 13:47
timotimo Skarsnik: did you find that doc i meant? 13:48
Skarsnik Yes on design.perl6.org x)
timotimo OK 13:49
Skarsnik I was hoping to find it on doc.perl6.org/language.html that's all x) 13:51
dalek href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 01ced45 | (Zoffix Znet)++ | mojo-app/lib/ModulesPerl6/Controller/Root.pm:
Docs for ModulesPerl6::Controller::Root
13:52
13:54 Praise- is now known as Praise
dalek href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 7190eec | (Zoffix Znet)++ | mojo-app/lib/ModulesPerl6/Model/ResultClass.pm:
Docs for ModulesPerl6::Model::ResultClass
13:58
href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: dbd603c | (Zoffix Znet)++ | mojo-app/lib/ModulesPerl6/Model/ (6 files):
Rudimentary docs and license boiler plates for DBIC classes
14:07
14:10 mspo_ joined, mspo_ is now known as mspo
lizmat good *, #perl6! 14:12
has anyone seen vendethiel since yesterday ? 14:13
flussence no... :(
14:13 hankache joined
dalek kudo/nom: ca1d0cf | usev6++ | tools/build/Makefile-JVM.in:
Always provide eval-client.pl -- not only with 'make j-coretest'
14:14
kudo/nom: 9f14995 | lizmat++ | tools/build/Makefile-JVM.in:
Merge pull request #584 from usev6/jvm_eval-client

Always provide eval-client.pl -- not only with 'make j-coretest'
vendethiel lizmat: irclog.perlgeek.de/perl6/2015-11-14#i_11537181 14:16
lizmat vendethiel o/ *phew* 14:17
vendethiel o/ lizmat :)
lizmat slightly worried because of recent events
flussence
.oO( oops, now everyone knows I don't read the backlog obsessively... )
s/...$/enough/ :)
vendethiel Yeah, I got messages coming the whole night. Thank you 14:21
14:22 sprocket joined 14:23 diana_olhovik___ left
dalek href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 18a278b | (Zoffix Znet)++ | mojo-app/lib/ModulesPerl6/Model/BuildStats.pm:
Make ->db attribute private
14:24
href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 4acbf93 | (Zoffix Znet)++ | mojo-app/lib/ModulesPerl6/Model/BuildStats.pm:
Docs for ModulesPerl6::Model::BuildStats
href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 104b166 | (Zoffix Znet)++ | mojo-app/lib/ModulesPerl6/Model/Dists.pm:
Make ->db attribute private
14:26 nightfrog joined
dalek href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: c06c53d | (Zoffix Znet)++ | README.md:
Document --no-app-start build script flag
14:28
href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 3b718b6 | (Zoffix Znet)++ | .gitignore:
Ignore dist.ini; it will not be needed in the final "state" of the app
14:30
14:31 sprocket left
timotimo vendethiel: i always believed in you! 14:32
www.theguardian.com/commentisfree/2...xfordshire - wow, this is quitesomething 14:35
14:35 rurban joined
Skarsnik m: say nl; 14:39
camelia rakudo-moar 9f1499: OUTPUT«5===SORRY!5=== Error while compiling /tmp/H8GTJsVLVY␤Undeclared routine:␤ nl used at line 1␤␤»
timotimo m: say $?NL.perl
camelia rakudo-moar 9f1499: OUTPUT«"\n"␤»
Skarsnik thx :)
dalek href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 1efa9b3 | (Zoffix Znet)++ | .gitignore:
Ignore cruft generated by dzil
14:42
href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 9149bdf | (Zoffix Znet)++ | mojo-app/lib/ModulesPerl6/Model/ (3 files):
Fix typos and POD errors
14:42 softmoth_ joined 14:44 Actualeyes left
Skarsnik hm, Variable '$?NL' is not declared 14:46
14:47 softmoth_ left
lizmat breakfast& 14:47
14:47 Actualeyes joined
dalek href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 6cd5a04 | (Zoffix Znet)++ | mojo-app/Build.PL:
List all the prereqs
14:51
timotimo Skarsnik: how old is your rakudo? 14:52
Skarsnik 2-3 months maybe 14:53
timotimo ah
yeah, $?NL is recent
with a rakudo that old, you're not going to get much help
14:54 kjs_ left
timotimo in here, i mean 14:57
you'll repeatedly surprise people when you point out problems you're facing
i don't mean to sound harsh, though i realize i kind of do
but please keep your rakudo up to date at least monthly :) 14:58
dalek href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 9aa01e6 | (Zoffix Znet)++ | README.md:
List in install instructions libpng12-dev
timotimo work on rakudo happens quite fast in some areas
PerlJam 3 months ago was before the GLR 14:59
Skarsnik also. I try to build rakudo on another computer but rakudobrew does not want to build panda; pastebin.com/jsguHxjN 15:00
timotimo ah
rakudobrew doesn't support or understand --prefix
Skarsnik It pass it the Configure.PL and it's installed in /opt like I said 15:01
timotimo rakudobrew is specifically there to manage rakudo inside your home directory, and giving you a bin/ folder where things get installed to and that is easily switchable between different versions of rakudo
yeah, but rakudobrew doesn't know it gets installed there and explicitly searches under its own folder
it should reflect this in the readme 15:02
hm, the readme is a bit messy
very big headlines followed by very little text, that's not so pleasing to the eye
Skarsnik hm, if I understand I can trick him by putting a link to /opt/bin in his folder?
timotimo you're using rakudobrew well out of its specifications 15:03
just git clone [email@hidden.address]
and run ./bootstrap.pl
as in: rakudobrew is there to have your own rakudo inside your own home folder. i would say if it ends up using a rakudo from /opt, it must be considered a bug 15:04
because that'd be equivalent to using the system-wide installed rakudo
that's the opposite of what rakudobrew is supposed to do. so it doesn't do that :) 15:05
15:05 kjs_ joined
timotimo i'm not speaking for the rakudobrew team, though 15:05
tadzik: you may want to comment on my fundamentalism here ^
Skarsnik thx for the help :)
timotimo damn, why am i expressing myself so harshly :o 15:06
PerlJam timotimo: fwiw, you probably think you're coming across harsher than you are. :) 15:07
dalek href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: f98acb0 | (Zoffix Znet)++ | README.md:
Use new directory for the db builder
15:08
href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: f62ee8e | (Zoffix Znet)++ | mojo-app/ (2 files):
Bring out Hypnotoad config into the config file
timotimo no, i think i come across as harshly than i am! :P 15:10
Skarsnik Na it was fine lol 15:11
raoulvdberge that was like totally not harsh :P 15:12
timotimo OK, i'll keep that in mind; thanks!
15:12 endian01 joined 15:15 ^elyse^ joined, ^elyse^ left
psch m: say (0 == 0 == 0) ~~ 0 15:17
camelia rakudo-moar 9f1499: OUTPUT«False␤»
psch $ ./perl6 -e'say (0 == 0 == 0 == 0 == 0) ~~ 0'
True
(the number of == 0 doesn't matter :P
)
also, nobody ever firmly enough said that RT #81336 is bogus 15:18
15:20 tokuhiro_ joined
dalek ast: e0e0b80 | usev6++ | S (3 files):
Unfudge passing tests for rakudo.jvm
15:21
zengargoyle good * #perl6
15:24 tokuhiro_ left 15:25 synbot6 joined
timotimo m: .say for [\==] 0 xx * 15:26
camelia rakudo-moar 9f1499: OUTPUT«This Seq has already been iterated, and its values consumed␤ in block <unit> at /tmp/6EvxdsCe4G:1␤␤»
timotimo m: say [\==] 0 xx * 15:27
camelia rakudo-moar 9f1499: OUTPUT«This Seq has already been iterated, and its values consumed␤ in block <unit> at /tmp/y_n6uaZvyf:1␤␤»
timotimo ... that's not good
m: say [\==] 0, 1 ... *
camelia rakudo-moar 9f1499: OUTPUT«This Seq has already been iterated, and its values consumed␤ in block <unit> at /tmp/GiaZp4rGoz:1␤␤»
timotimo m: say [\==] 0..10
camelia rakudo-moar 9f1499: OUTPUT«(True False False False False False False False False False False)␤»
timotimo ah, chain, duh.
m: say (0 == 0) == 0
camelia rakudo-moar 9f1499: OUTPUT«False␤»
timotimo m: say 0 == 0 == 0 15:28
camelia rakudo-moar 9f1499: OUTPUT«True␤»
timotimo you can override the chainyness like that
m: say [\S==] 0..10
camelia rakudo-moar 9f1499: OUTPUT«===SORRY!===␤Cannot find method 'CALL-ME'␤»
timotimo ^- that should to this, too, but isn't implemented
psch timotimo: oh, so i have to pay attention to parens there?
as in (0 == 0) ~~ 0 is False, but 0 == 0 ~~ 0 is True 15:29
timotimo with the parens you can cause it to not do the chaining
because 0 == 0 ~~ 0 will be translated for you to 0 == 0 && 0 ~~ 0
psch no, it wont
timotimo no?
psch m: say 0 == 0 ~~ 0
camelia rakudo-moar 9f1499: OUTPUT«False␤»
timotimo is ~~ not chaining?
psch timotimo: it should be... :)
that's what i'm trying to implement right now
timotimo oh! 15:30
15:31 spider-mario left
psch hrm, but if parens change stuff there i do need to get involved in EXPR, says my gut... :S 15:31
15:32 ^elyse^ joined
JimmyZ there is xmas rt about ~ chaining 15:32
~~
psch JimmyZ: yeah, #81336 15:33
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...l?id=81336
psch oh, i don't need EXPR 15:34
'cause i get a QAST::Stmts when there's parens, but QAST::Op when there's not
and the other case (i.e. 0 ~~ 0 == 0) can be solved in the definition of op chain
15:35 skids joined
psch hm, is there a right-assoc chain? 15:36
dalek href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: b2050a5 | (Zoffix Znet)++ | mojo-app/lib/ModulesPerl6.pm:
Cry in the log when secrets are missing
href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: ec54b4a | (Zoffix Znet)++ | / (2 files):
Docs for app deployment
psch wait, that doesn't even make sense 15:37
PerlJam Surely (0 == 0) ~~ 0 is False
psch PerlJam: yeah, i had it backwards
PerlJam psch: Are there todo/skip tests for ~~ chaining? 15:38
psch PerlJam: there's a ticket, but the last time i brought it up there was disagreement with the design decision behind having ~~ chain 15:39
PerlJam: so, no, there's no tests afaict 15:40
moritz why do we want ~~ to chain at all? 15:41
PerlJam moritz: it's written that way in S03
moritz that's not the answer I was hoping for
~~ is very asymmetric
PerlJam maybe writing some tests will help solidify any problems with chaining ~~
15:41 Zoffix joined
moritz the RHS is the matcher and the LHS is the thing being matched 15:41
PerlJam aye and what does it mean for topicalizing ? 15:42
moritz so a chaning ~~ requires at least one thing being matched and being a matcher
I have trouble coming up with real-world uses cases where that's the case
psch moritz: masak++ had < "foo" ~~ "foo" ge "bar" > as a potentially useful case
in the mentioned ticket 15:43
not sure if it quite qualifies as "real-world", though
moritz there's no reason to use ~~ over eq here
if you know it's a string
and if you don't know the middle thing is a string, you don't want to use it with ge
15:44 xpen joined
ShimmerFairy moritz: fwiw we tried moving ~~ to an appropriate non-chaining precedence before, but it caused problems 15:45
15:45 spider-mario joined 15:46 endian01 left
moritz ShimmerFairy: yes, I remember 15:46
PerlJam moritz: maybe $thing ~~ 1..100 > 75 is a use-case. Sure, there are better ways to do that math-wise but if the range and 75 come from separate data sources, you may not have the luxury of writing the comparison better 15:47
ie. it would be $thing ~~ $range > $thresh 15:48
psch PerlJam: but chaining that means "$thing ~~ 1..100 && 1..100 > 75"
PerlJam oh blah, you're right. 15:49
I was thinking of ~~ backwards
psch $thresh < $thing ~~ $range i guess
15:51 xinming joined
PerlJam in any case, I think writing some tests would be instructive. 15:53
15:54 ^elyse^ left, Ven joined 15:55 AlexDaniel left
psch yeah, i'm adding to my local test file for now 15:55
15:55 Ven left
psch merging that of course depends on whether it can be agreed that it should stay chaining 15:56
(or maybe "really become" instead of "stay")
15:56 Ven joined 15:58 ^elyse^ joined
zengargoyle gah, just discovered that irssi does tab completion.... 16:00
Zoffix "just"? :)
zengargoyle so much time wasted
Zoffix I hope you've not been on IRC for as long as I have :) 16:01
Information on Zoffix (account Zoffix): -NickServ- Registered : Jul 31 02:56:07 2006 (9y 15w 3d ago)
Interesting. Next year I'll have both 10-year anniversary at $work and 10-year anniversary of being on Freenode 16:02
zengargoyle let's just say i've been away from IRC for a long time 16:03
16:03 xpen left
JimmyZ weechat is better than irssi :P 16:04
16:05 CIAvash joined
zengargoyle Question of the day: where in rakudo can i install a $=data variable at the latest point? 16:05
16:08 Zoffix left 16:10 Ven left
Skarsnik 10 years of freenode, not bad x) 16:10
16:12 Ven joined, rurban left 16:14 avalenn joined, ^elyse^ left
zengargoyle weechat looks interesting. not sure i need the power. 16:15
16:17 espadrine left 16:18 zakharyas joined 16:21 sprocket joined
timotimo no matter whether or not you need "the power" 16:26
it's just nicer in general
16:26 sprocket left
timotimo i've gone from irssi to weechat and didn't regret it one bit 16:26
loren How i can excluded characters in regex ? 16:27
timotimo in regex in general, or in a character class?
loren I know in perl5 we can use like this : /[^a]/
timotimo ah
dalek kudo/nom: 032e02e | lizmat++ | src/core/Buf.pm:
Make Buf.subbuf between 1.5x and 4x as fast

Also implement .subbuf(^10), just like with .substr
timotimo that's spelled <-[a]> now
16:28 vishnix joined
loren oh, thanks, timotimo 16:28
timotimo the negatedness is now no longer part of the character range itself, but of the application; its generalization allows you to combine multiple char classes and unicode properties and such
16:30 softmoth_ joined
dalek osystem: 97cc721 | (Sylvain Colinet)++ | META.list:
Add Config::Simple
16:31
osystem: 1b1a32e | moritz++ | META.list:
Merge pull request #92 from Skarsnik/master

Add Config::Simple
loren em.
Skarsnik thx moritz :)
moritz Skarsnik: I've also invited you to the "perl6" organization on github, so that you can push directly in future 16:32
(to most repos under that organization)
Skarsnik Oh thx 16:33
timotimo welcome to the team :) 16:34
moritz while I'm at it, does anybody else want an invitation?
I've lost overview over who has and who doesn't
Skarsnik I still the idea of pull request where someone can have a look at your commit :)
There is not a list?
16:35 softmoth_ left
moritz Skarsnik: there's a list with 196 members 16:35
Skarsnik: but currently there's a rather high infllux of new folks, and I'm losing overview
Skarsnik Ok, that seems like a lot x)
loren quit 16:38
16:38 loren left 16:39 loren joined 16:41 Ven left, Ven joined
dalek ast: 45297cc | lizmat++ | S03-operators/buf.t:
Update cumbersom CATCH tests to throws-like
16:44
ast: 94099c8 | lizmat++ | S03-operators/buf.t:
Add tests for Buf.subbuf(^10)
16:45 khw joined
timotimo Skarsnik: you can also make a pull request from within a single repo, basically removing the necessity to have your own fork 16:45
16:46 RabidGravy joined 16:49 nightfro` joined
Skarsnik hm rakudobrew did not install the lib (with my weird --prefix=/opt/ install). But it call just call configure and make/make install after cloning rakudo? so it should have worked? 16:50
16:51 ribasushi left, nightfrog left, nightfro` is now known as nightfrog
dalek c: ffa2e50 | lizmat++ | doc/Type/Blob.pod:
Mention Blob.subbuf can also take a Range
16:52
16:52 sftp left, sftp joined 16:53 zakharyas left 16:54 sftp left 16:55 sftp joined
zengargoyle timotimo: i've been wondering about how to do the pull request stuff without a fork. do you push a new branch to the repo and then make a pull request? 16:55
jdv79 timotimo: i see a 15% diff in isolation(er). 16:56
16:56 Ven left
jdv79 it looked larger in a larger context oddly 16:56
dalek kudo/nom: cecaae2 | lizmat++ | src/core/Buf.pm:
Don't call a method if we don't have to
16:57 Ven joined, sftp left, sftp joined, espadrine joined
timotimo zengargoyle: yeah, that's right 16:58
jdv79: you really had me a little scared!
jdv79 15% is still kinda high. i might expect 5% diff from what i know about the difference 16:59
zengargoyle Skarsnik: what command did you try? 17:00
jdv79 but yeah, i guess it reshuffled the larger profile oddly
plus it was multiple invocations so it probably aggregated up prominently
well, a little relief at least 17:01
Skarsnik zemmihates, rakudobrew build-moar --configure-opts=--prefix=/opt/; it copy the binary; Now I am trying without rakudobrew x)
zengargoyle i've just make /opt/rakudobrew instead of $HOME/.rakudobrew to get a system-wide-ish install
17:02 KotH joined
Skarsnik Oooh panda removed /opt/lib 17:05
perl6 bootstrap.pl --prefix=/opt/ in panda removed /opt/lib x) 17:06
tadzik :o
wtf
moritz Skarsnik: well, maybe you wanted /opt/rakudobrew/ as prefix
erm, I'm mixing up panda and rakudobrew here
17:07 KotH left
Skarsnik well it put panda in /opt/bin 17:07
zengargoyle i'd think you don't need the --prefix on panda. shouldn't it just magically install itself into perl6 space
17:08 abaugher left 17:09 abaugher joined
zengargoyle /opt/my6/bin/perl6 bootstrap.pl -> panda under /opt/my6/share/perl6/site/bin 17:09
17:10 Actualeyes left
lizmat sightseeing& 17:11
17:11 Ven left
Skarsnik The issue is more, why deleting stuff x) 17:11
17:11 lizmat left 17:12 KotH joined
Skarsnik *rerererebuild rakudo* 17:12
17:12 Ven joined
grondilu m: class A { has @.c handles <AT-POS ZEN-POS> }; say A.new(:c(^10))[1..2] 17:13
camelia rakudo-moar cecaae: OUTPUT«()␤»
grondilu m: class A { has @.c handles <AT-POS ZEN-POS> }; say A.new(:c(^10))[my @ = 1..2]
camelia rakudo-moar cecaae: OUTPUT«(1 2)␤»
grondilu ^looks like a bug, doesn't it?
m: say (my @ = ^10)[1..2] 17:14
camelia rakudo-moar cecaae: OUTPUT«(1 2)␤»
moritz erm, waht did you expect? 17:16
psch m: class A { has @.c handles <AT-POS ZEN-POS> }; my $a = A.new(:c(^10)); say $a[1..2]; say $a[1,2] # this i assume 17:17
camelia rakudo-moar cecaae: OUTPUT«()␤(1 2)␤»
grondilu I was expecting $a[1..2] to return (1, 2) 17:18
cygx m: class A { has @.c handles <AT-POS ZEN-POS> }; my $a = A.new(:c(^10)); say $a[|1..2]
camelia rakudo-moar cecaae: OUTPUT«()␤»
grondilu m: class A { has @.c handles <AT-POS ZEN-POS> }; say A.new(:c(^10))[@(1..2)] 17:19
camelia rakudo-moar cecaae: OUTPUT«(1 2)␤»
cygx m: class A { has @.c handles <AT-POS ZEN-POS> }; my $a = A.new(:c(^10)); say $a[flat 1..2]
camelia rakudo-moar cecaae: OUTPUT«(1 2)␤»
psch grondilu: right. my "this i assume" was meant as "this is the bug, i assume"
17:19 autarch joined
autarch I'm looking at implementing something like the organization described in github.com/perl6/doc/issues/114 17:19
for the docs in doc/Language, I'm wondering what the best way to store section names is. Does it go in the pod as "=for SECTION" or in a separate doc (I'd prefer in the pod) 17:20
17:22 MadcapJake_ is now known as MadcapJake
moritz autarch: forgive me if I'm stupid, but why not use a heading? 17:22
grondilu guys, in rosettacode.org/wiki/N-body_problem#Perl_6, I wrote:
multi method new(*@coordinates) { self.bless: :@coordinates }
^is that the idiomatic way of doing it? 17:23
moritz grondilu: yes
grondilu ok, I was not sure about the use of bless
moritz grondilu: though custom constructors make subclassing harder, so it's mildly discouraged
autarch moritz: like =SECTION Foo ?
grondilu moritz: how would you do it then? 17:24
moritz grondilu: call .new(coordinations => @values)
grondilu that looks verbose 17:25
17:25 Ven left 17:27 Ven joined
moritz autarch: I think I misunderstood your intention 17:27
autarch: I don't know how to set anything higher-level than TITLE 17:28
autarch I want to turn doc.perl6.org/language.html from an alpha list into something more organized
actually, it might make more sense to simply have a separate file for all this - I want to also be able to order documents in a section in a non-alpha way
moritz aye
and maybe even subdirs under doc/Language/ 17:29
autarch moritz: yeah, that would probably be a good idea 17:30
I wish the doc generator wasn't so sloooooooooooow
zengargoyle grondilu: i think that's where you use BUILDARGS
autarch hmm, this requires some pretty invasive changes to the doc code too - I'd have to make the registry nested or something 17:32
moritz can't you just have the keys be slash-separated? 17:33
autarch it might be easier to simply start by editing the html directly to make a prototype 17:34
I mean easier to discuss that way
17:34 kjs_ left
moritz and fwiw my attempts to either profile or parallelize htmlify.p6 have failed :/ 17:35
autarch yeah, it is just ridiculously slow 17:36
17:36 ribasushi joined, rurban joined, b2gills1 is now known as b2gills 17:37 b2gills is now known as Guest65736
psch m: sub f($a) { $a * 2 }; say 2 ~~ &f == 4 # one use-case that means infix:<~~> should not chain 17:37
camelia rakudo-moar cecaae: OUTPUT«True␤»
psch i do have trouble finding things for chaining that make it seems natural and preferable
but then even the counter example is somewhat constructed... vOv 17:38
moritz which is why I think it's somewhat non-sensical to invest time in 17:41
17:41 Ven left
psch well, it's the most approachable ticket in the xmas list for me 17:41
17:41 Ven joined
autarch on a related topic, has there been any thoughts about the design of the website(s) themselves? 17:46
17:46 Guest65736 is now known as b2gills
autarch actually, perl6.org has a nicer design than the sub-sites, maybe it'd be possible to use that on doc, etc. 17:47
pink_mist the main site did get a facelift not very long ago I seem to recall 17:48
autarch pink_mist: yep, definitely better than the others
pink_mist if you prod Zoffix when he's around, I'm sure you can convince him to do that for the others too :P
moritz ... after he has redone modules.perl6.org :-) 17:49
pink_mist yes :P
autarch I'm particularly not fond of the rounded corners + drop shadows + highlighted tabs that aren't proper tabs
(a proper tab merged into the content below it to create an indication of what this is a tab of)
chrome and firefox do this properly, for example 17:50
and on a related related topic, has there ever been any discussion of using things like bootstrap or other frameworks? 17:53
moritz the last perl6.org redesign introduced bootstrap, iirc 17:54
autarch moritz: oh, duh, so it did
that's great, I find it much easier to think & talk about design when there's a framework to give you a common design langauge 17:55
17:55 rurban left
moritz some of these websites have the unfortunate history of being started by me, and I happen to be too stupid to use bootstrap 17:55
autarch heh, then we'd just be stuck on Bootstrap 2 or something ;) 17:56
awwaiid It appears that #`( ... ) style comments can span multiple lines -- is that a language feature or a rakudo feature?
moritz autarch: language feature 17:57
sorry, meant awwaiid
moritz should tab-complete only after the second character of a nick name :-)
m: my str @array; say @array.^name 17:58
camelia rakudo-moar cecaae: OUTPUT«===SORRY!===␤NYI␤»
awwaiid cool. yeah, I confirmed in S02 also. thanks moritz. 17:59
17:59 nightfrog left
moritz m: my str @array; say @array 17:59
camelia rakudo-moar cecaae: OUTPUT«===SORRY!===␤NYI␤»
moritz m: my int @array; say @array
camelia rakudo-moar cecaae: OUTPUT«␤»
moritz m: my int @array; say @array.^name
camelia rakudo-moar cecaae: OUTPUT«array[int]␤»
moritz we have native int arrays, but not native str arrays?
18:00 rurban joined
moritz m: my int @a; @a[0] = 'foo' 18:01
camelia rakudo-moar cecaae: OUTPUT«This type cannot unbox to a native integer␤ in block <unit> at /tmp/qerEiYrKj8:1␤␤»
moritz wonders if RT #125123 can be fixed by catching that error and throwing an X::TypeCheck instead 18:02
18:03 nightfrog joined, xfix left
moritz do we have any type that's not derived from Int but can unbox to a native int? 18:03
Skarsnik what is the int type?
moritz Skarsnik: a native integer 18:04
that is, not an object
cygx moritz: pointers!
Skarsnik hm, nativecall doc said to use int32 for int if I remember correctly x) 18:05
psch moritz: i think with the MMD fixes yesterday we can add (int @a, int $elem) and (int @a, Any $elem) candiates and throw in the latter 18:06
awwaiid does anyone use single-quote embedded in any identifiers? If not... I kinda want to advocate for it to get the chopping block :)
psch moritz: which looks cleaner to me than catching and repackaging a backend die
Skarsnik m: my int @array; say @array.perl;
camelia rakudo-moar cecaae: OUTPUT«array[int].new()␤»
Skarsnik m: my int @array = 1..4; say @array.perl; 18:07
camelia rakudo-moar cecaae: OUTPUT«array[int].new(1, 2, 3, 4)␤»
Skarsnik it's interesting because you can't use .perl on something that contain str (probably because it's potentially a pointer), but it work with int 18:08
18:10 colomon joined, domidumont joined
moritz m: say index('a', 'a').^name 18:11
camelia rakudo-moar cecaae: OUTPUT«Int␤»
awwaiid dear TimToady, how about no single-quote in identifiers? Love, anonymous
18:11 Ven left 18:12 Ven joined
moritz m: sub f(int $x) { say $x }; my Int $a = 42; f $a 18:14
camelia rakudo-moar cecaae: OUTPUT«42␤»
18:18 softmoth_ joined 18:22 Ella_ joined
autarch here's a rough draft of a language doc re-org -houseabsolute.urth.org:3000/language.html 18:23
18:23 softmoth_ left
autarch although when I look at this I realize a couple things ... a) there is not nearly enough introductory material; b) some of the stuff under reference should be moved around 18:23
by moved around I don't mean the order, I mean that some documentation is in the wrong document, and new documents should be created in some cases 18:24
18:26 Ella_ left, hankache left
moritz autarch: agreed 18:28
autarch: and I like your draft
autarch I'm not really sure how to go from what's there now to that organization 18:29
moritz 1) make a list of differences between there and now 18:30
2) for each difference, perform actions to resolve them
3) profit
18:32 raiph joined
Skarsnik oh that look better x) 18:34
18:34 Ven left
raiph m: my \foo = [1, True, :a, :b(False), { :c, :d }, [3, [4]]]; dd foo # built in data dumper 18:35
camelia rakudo-moar cecaae: OUTPUT«Array $var = $[1, Bool::True, :a, :!b, {:c, :d}, [3, [4]]]␤»
raiph Skarsnik: ^^ (re your earlier question)
Skarsnik it doesn't do a nice output with newline x) 18:36
But thx
dalek c: 9726ca5 | (Brock Wilcox)++ | doc/Language/syntax.pod:
Clarifications and improvements
18:38
autarch moritz: very helpful
18:40 ifim joined, hankache joined
awwaiid autarch: since all-is-draft right now, you could put inline dangling pointers to what you wish was there 18:40
autarch awwaiid: I'm more asking how I organize the documentation in the repo to indicate what category it belongs to 18:41
and then how do I update htmlify.p6 to use that info
awwaiid oh, like dir structure rather than file contents?
I haven't messed with htmlify.p6 yet 18:43
moritz autarch: I'd really go with subdirs in doc/Language/ 18:44
autarch awwaiid: well, I guess it's both - do I move files around? do I add section metadata to pod files? etc
moritz: each subdir needs some metadata for that directory, ideally
section title & description, order of contents in that section, order of sections overall 18:45
awwaiid my brief look at htmlify.p6 says yes -- move stuf finto subdirs, drop in some metadata, then we need to fix htmlify to use that instead of hard-coded values
18:45 zakharyas joined
moritz autarch: yes. Or maybe one meta data file for all of Language/ 18:46
awwaiid (though I'm a fan of more localized metadata, like naming things 00- 01-)
autarch moritz: yeah, I was thinking of that too - something like the type graph file
awwaiid: then you get to rename everything when you insert a document, ugh
awwaiid oh good point 18:47
moritz autarch: it solves the problem of where to put the order of categories without duplicating it
awwaiid BASIC 010, 015, 020, ... :)
autarch haha
or ... 01.1, 01.2, 01.15, 01.155
awwaiid infinite choices!
autarch there's literally an infinite amount of room!
awwaiid smacks head at simultaneity of jokes 18:48
moritz ... and file names that nobody can remember
awwaiid ya but maybe you link based on the section names intead of the file names. hmm
moritz awwaiid: but for editing, I still need to open the files in my editor
18:48 Ven joined
awwaiid ya 18:49
well. I have to to to trader joe's now. I'd be happy to fix up random links / filenames to follow whatever wonderful schemes y'all come up with. 18:51
er. when I return, that is. Not from Trader Joe's.
MadcapJake I've been working on a better Perl 6 highlighter for Atom Editor and I've officially released the first version! atom.io/packages/language-perl6fe As requested, there are some images too! Please give it a try, star it and post some issues if you got em. Thanks! 18:52
moritz MadcapJake++
awwaiid moritz: oh -- the aweful numbers would just be prefixes on meaningful names that can be chopped out by htmlify
moritz awwaiid: but they would still be present when I edit the files to write content, so they'd annoy *me* 18:53
18:55 Ven left 18:57 Ven joined 18:59 Ven left, hankache left 19:00 Ven joined, rurban left 19:05 Sgeo joined 19:06 Sgeo left, Sgeo joined, tokuhiro_ joined 19:08 FROGGS_ left 19:09 TEttinger joined 19:11 tokuhiro_ left
grondilu talking about syntax highlighting, on one hand I'm glad it works fine on Vim, but on the other hand I can't help thinking the way it works is ugly. Shouldn't it possible to have vim use perl6 for parsing and then use the syntax tree for highlighting? 19:11
vendethiel grondilu: parsing is undecidable in perl 19:12
(what I actually mean: you need to eval the code)
grondilu sure, but that'd be fine, wouldn't it?
vendethiel arbitrary code can run at BEGIN time etc, so not really 19:13
19:15 ^elyse^ joined 19:16 hankache joined 19:17 FROGGS joined 19:22 hankache left, kmel joined 19:26 Ven left, kjs_ joined 19:28 Ven joined
dalek kudo/nom: f5fbcde | moritz++ | src/core/native_array.pm:
RT #125123: Improve error message when assigning a Str to a native int array

this works by realizing that the multi-dispatcher unbox for us into the int candidate when possible.
The ticket acutally talks about the error message from push, but assignment has the same problem.
19:29
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125123
19:29 kmel left 19:31 ^elyse^ left
psch moritz: shouldn't the Int:D in line 32 be T:D? 19:31
moritz: oh, nevermind, T is any native int type because that's the int specific role 19:33
i guess a T:D candidate might save us a box/unbox pair during dispatch, but not sure if it's actually worth it 19:34
hm, i'm also wondering about < my int8 @a; my int32 $x; push @a, $x > 19:35
'cause with the MMD boxing dance that would dispatch, but truncate
which might or might not be what's expected...
jnthn In terms of argument passing, every native is full width anyway. 19:37
Skarsnik hm... should there be a way for nativecall to put multi name for a lib?
19:37 AlexDaniel joined
nine How can I access a dynamically initialized dynamic variable from NQP code (World.nqp)? 19:38
19:40 domidumont left
psch nine: i'm not sure i understand the question. you want to generate code that looks for a dynvar in World.nqp? 19:43
nine psch: yes, $*REPO to be precise 19:44
psch nine: there's getdynlex
nine: but it's not documented in ops.markdown and apparently not used in src/Perl6
jnthn If you also need the PROCESS:: fallback then there's also the option of looking up &DYNAMIC and calling it with the name of the lexical 19:45
cygx psch: it's getlexdyn in nqp-land
jnthn uh, the dyncar
dynvar even! :)
psch cygx: ah, thanks
nine I can get at the variable with nqp::gethllsym('perl6', 'PROCESS').WHO<$REPO> but only if it has been accessed before, since it's initialized by INITIALIZE_DYNAMIC('$*REPO')
psch fwiw, that's the most confusing part about transitioning from r-j work to r-m work 19:46
r-j ops are easily translatable to Ops.java methods :P
(well, nqp-m and nqp-j actually...)
jnthn nine: Going through &DYNAMIC should fix that.
('cus it triggers the initialization)
timotimo oh hey jnthn :)
how are you today?
nine nqp::gethllsym('perl6', '&DYNAMIC')? 19:47
19:47 zakharyas left
jnthn timotimo: A little drained from filling a nearly-100-question form, letter writing, document digging, etc. :) But I cooked some tasty kofta. \o/ 19:48
timotimo oh, i shall look up what that is!
jnthn And slept lots :)
timotimo that looks tasty! 19:49
19:49 CIAvash left
jnthn Well, in my case, beef+garlic+spice meatballs and a nice curry sauce and rice :) 19:49
psch nine: that should get you &PROCESS, yes. you'd still need to invoke it to actually get the var
nine: that's a QAST::Op (:op<call>...) if you're writing an ast, not sure how you'd do that if you need the value in World though 19:50
err, not &PROCESS, &DYNAMIC
Skarsnik I am confused, debian only provide the libfoo.so symlink in libfoo-dev package. And nativecall doesn't allow for a version number and seach for libfoo.so.version. I can't use my binding without installing the pointless -dev package. 19:51
nine psch: except, that it only gives me an NQPNull :/
jnthn psch: You just look it up and call it :)
Skarsnik Did I miss something, somewhere? xD
jnthn self.find_symbol(['&DYNAMIC'])('$*REPO')
19:51 vishnix left
psch oh 19:51
jnthn Sometimes, things are easier than you fear ;) 19:52
psch jnthn: well, i have a SEGV here... :P
from nine++'s bool_enum branch
nine psch++ # looking at my branch
psch apparently because there's a cur_frame->outer that's 0x0
zengargoyle Skarsnik: i had the same question. seems like it needs to be `native('libfoo', :version(* > 1.0))` or something.
psch fwiw, i'm have a hunch that moar is actually doing the right thing, but we're misbuilding something somewhere because EnumHOW is different... vOv 19:53
Skarsnik where is nativecall code? x)
psch Skarsnik: $RAKUDO_REPO/lib/NativeCall.pm 19:54
zengargoyle or use a &library function and LibraryCheck to find the right magic.
Skarsnik ok thx
zengargoyle Skarsnik: take a look at Algorithm::Trie::libdatrie, i use LibraryMake and friends to find a self-installed library. 19:55
might be adaptable to finding a specific .so.$version to use. 19:56
jnthn psch: Segfaulting is never the right thing... ;)
psch jnthn: so if we get 2 from GET_UI16(cur_op, 4), but tc->cur_frame->outer->outer is 0x0, moar is doing something wrong?
arnsholt Skarsnik: Yeah, the library locating thing is a tricky issue with NativeCall
psch jnthn: 'cause i was wondering if there's just some sort of off-by-one hidden in getlex
zengargoyle do .dll files ever get numbered like .so.X.Y on linux? 19:58
FROGGS zengargoyle: no
zengargoyle or is versioning all inside and only search path can be used to pick one. 19:59
nine jnthn, psch: thanks a lot! working now
jnthn psch: Well, *something* is certainly wrong.
19:59 Ven left, mitja joined
zengargoyle i'm thinking it boils down to using LibraryMake to find the right $so extension, then maybe attaching .$version and using LibraryCheck to see if it can be found to get an *actual loadable library name* to return 20:00
20:01 darutoko left, mitja left 20:02 mitja joined
zengargoyle oh, and any brave Windows people want to try Algorithm::Trie::libdatrie and see if it actually works on Windows? 20:03
Skarsnik maybe just have something to put the version?
20:03 mitja left
Skarsnik like is native('lib:version') 20:04
zengargoyle if i weren't going to do it the hard way, yeah, i'd probably have an environment variable to set the version with a reasonable default.
moritz atom.io/packages/language-perl6fe looks good fro the screenshots 20:05
the only thing that startles me is how it renders the @ signs
dalek kudo/curli: 1d90234 | (Stefan Seifert)++ | / (4 files):
Turn lib into a proper pragma

As lib.pm was itself a module, even a 'use lib' at the beginning of a script would defeat any automatic precompilation because the old $*REPO created a precompilation store object just to be replaced immediately replaced by a new
  $*REPO.
By turning it into a pragma, a use lib will no longer trigger a module load.
20:06
20:07 softmoth_ joined
Skarsnik hm I am not sure to understand the $*VM.config stuff does at github.com/rakudo/rakudo/blob/nom/...ll.pm#L169 20:08
20:09 yqt joined
FROGGS Skarsnik: load_ext can be something like ".dll" or ".so" or ".dylib" 20:09
psch m: say $*VM.config<load_ext> 20:10
camelia rakudo-moar f5fbcd: OUTPUT«(Any)␤»
psch j: say $*VM.config<load_ext>
camelia rakudo-jvm cecaae: OUTPUT«(Any)␤»
FROGGS maybe it is a Parrotism?
zengargoyle LibraryMake exports get-vars('')<SO> 20:11
20:11 Ven joined, softmoth_ left
psch FROGGS: i think so 20:11
m: say $*VM.config<dll> 20:12
camelia rakudo-moar f5fbcd: OUTPUT«lib%s.so␤»
autarch here's a doc page redone with the perl6.org style - body { background: #f8f8f8; }
oops - houseabsolute.urth.org:3000/type.html
but I'm not sure what to do about the second level of nav - bootstrap doesn't really have anything for that
psch $*VM.config<dll> might be more useful, depending on what's in there on win
20:12 Ven left
cygx psch: %s.dll on win32 20:12
20:13 Ven joined
psch ah, but $*VM.config<dll> is also used a few lines down... :l 20:14
arnsholt IIRC the different backends set slightly different config stuff 20:15
Or at least they did last time I worked on the code
psch arnsholt: yeah, it's a bit annoying. osname vs os.name comes to mind
the latter on -j afair
arnsholt Yeah, we should probably try to clean that up 20:16
20:17 raiph left, Ven left
psch we should. there's not really any reason for having the distinction. even if the jvm gives us the keys like that we can rewrite it to the expected format 20:18
afair there's also a difference in nqp ops for getting the backend config in the first place, which is also kind of silly 20:19
yeah, nqp::jvmgetproperties vs nqp::getbackendconfig 20:20
Skarsnik m: say $*VM.config<nativecall.so> 20:23
camelia rakudo-moar f5fbcd: OUTPUT«(Any)␤»
20:24 Ven joined
arnsholt I guess a separate jvmproperties for purely JVM-specific things *might* be defensible (although it would probably be better placed in a key of the backendconfig) 20:24
psch right, but we should also kind of standardize that 20:25
dalek kudo/nom: 94ad45b | moritz++ | src/core/native_array.pm:
RT #125123: Improve error message when pushing/unshifting to an int-typed array
20:26
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125123
psch as in, a hypothetical nqp::getbackendconfig on jvm has the key "extensions" which has a hash with "jarpath" or something
dalek ast: 49d4301 | moritz++ | S09-typed-arrays/native-int.t:
Track improved error message from array[int].push and .unishift
20:27
psch so a -js backend can put "npmpath" or so in its hash in "extensions"
zengargoyle Skarsnik: gist.github.com/a46a59f140d3c90b2cb7
autarch what does :p do for Str.subst ? 20:29
zengargoyle start-position? 20:30
autarch ah, that makes sense, it's not documented, AFAICT 20:31
cygx m: say \(-> int32 $ --> int32 {}) ~~ :(&cb (int32 --> int32))
camelia rakudo-moar f5fbcd: OUTPUT«False␤»
cygx ^ is that supposed to work?
zengargoyle guessing, :p on match/regex type things is a position to start the match...
moritz and *that* is documented 20:32
I guess what's not documented is that .subst simply passes on regex adverbs
Ven m: class A { has Int $.a; }; say A.^attributes; say A.^attributes.perl; # ?? 20:33
camelia rakudo-moar 94ad45: OUTPUT«(Int $!a)␤(Attribute.new,)␤»
moritz .perl should return A.^attributes[0] :-) 20:35
Ven m: say True && !%.{Any}:exists # ?? 20:40
camelia rakudo-moar 94ad45: OUTPUT«5===SORRY!5=== Error while compiling /tmp/XmwueP9hrQ␤You can't adverb &infix:<&&>␤at /tmp/XmwueP9hrQ:1␤------> 3say True && !%.{Any}:exists7⏏5 # ??␤ expecting any of:␤ pair value␤»
Ven I need parens for that!?
jnthn m: say True and !%.{Any}:exists 20:41
camelia rakudo-moar 94ad45: OUTPUT«True␤Use of uninitialized value of type Any in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/_3kBXm9OFM:1␤Unexpected named parameter 'exists' passed␤ in block <unit> at /tmp…»
jnthn m: say True and !%.{'beef'}:exists
camelia rakudo-moar 94ad45: OUTPUT«True␤Unexpected named parameter 'exists' passed␤ in block <unit> at /tmp/lYu6RrC09E:1␤␤»
jnthn heh :)
moritz what %. ?
jnthn Yeah :) 20:42
I figured that was meta for something :)
moritz m: my %a; say True && !%a<bla>:exists
camelia rakudo-moar 94ad45: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4LZDaY5VWn␤You can't adverb &infix:<&&>␤at /tmp/4LZDaY5VWn:1␤------> 3my %a; say True && !%a<bla>:exists7⏏5<EOL>␤ expecting any of:␤ pair value␤»
20:42 Ven left
moritz ok, same error 20:42
jnthn But using and instead of && should work as an alternative to parens, I think.
m: my %a; say True and !%a<bla>:exists
camelia rakudo-moar 94ad45: OUTPUT«True␤Unexpected named parameter 'exists' passed␤ in block <unit> at /tmp/LqADtLVXK1:1␤␤»
jnthn Hmm
psch cygx: a hunch says that pointy blocks in captures should not be allowed. putting an anon sub or sub there doesn't parse
jnthn Apparently not.
autarch in $str.subst(/(foo)/, $replacement) how do I get at the match results for $replacement?
20:42 Ven joined
zengargoyle jnthn: maybe you can point me in the right direction for a core-ish hacking question... 20:42
jnthn m: my %a; say True and not %a<bla>:exists 20:43
camelia rakudo-moar 94ad45: OUTPUT«True␤»
cygx m: say \(-> int $ --> int {}) ~~ :(&cb:(int --> int))
camelia rakudo-moar 94ad45: OUTPUT«True␤»
psch cygx: although clearly the opposite conclusion might be right as well - subs there should parse too
jnthn Ah, the ! also :)
zengargoyle: Maybe :)
cygx psch: it works if you use the : syntax
moritz m: say 'abc'.subst(/b(.)/, -> $match { uc $match })
camelia rakudo-moar 94ad45: OUTPUT«aBC␤»
cygx but you cannot inspect the arguments, apparantly
moritz autarch: ^^
Ven grrr, internet.
I'm sad I need parens for that one :(
autarch moritz: cool, thanks
moritz: can I just use $0, $1, etc?
moritz m: say 'abc' ~~ S/b(.)/{ uc $/ }/
camelia rakudo-moar 94ad45: OUTPUT«Potential difficulties:␤ Smartmatch with S/// can never succeed because the subsequent string match will fail␤ at /tmp/UVlCrQlCAp:1␤ ------> 3say 'abc' ~~ S/b(.)/{ uc $/ }/7⏏5<EOL>␤False␤»
zengargoyle i have hacked and gathered up =data sections from POD and want to install a $=data variable sorta like $=pod is installed.
cygx so for now, I probably have to pass 2 signature objects around - one for inspection, one for type checking... 20:44
autarch like $str.subst(/(foo)/, "$1 bar") ?
moritz autarch: if you use -> $/ instead of -> $match, you can
Ven autarch: you're missing a block!
moritz autarch: because $0 is just short for $/[0]
Ven autarch: , { "$1 bar" }
zengargoyle do i have to do that in nqp land or is there a place in the Perl 6 part of rakudo where i can do that?
Ven well, $0, yes
jnthn Ven: Or you can write "and not" instead of && ! :)
psch cygx: ISTR that one of &cb (...) and &cb:(...) was dying with some complaint, but... 20:45
Ven jnthn: true, true. I need to get used to `and` then, because with `not`, I can't use `&&` anymore
psch cygx: i don't quite have the brains to think about that right now, though...
Ven can I inspect a type to know if it's a user-declared one or not? 20:46
well, if it's something .new-able or not
autarch hmm, I don't think I can do what I want without some surgery to Pod::To::HTML :(
jnthn zengargoyle: You probably need to first add a string constant (search for $*W.add_string_constant for examples) and then pass that to $*W.install_lexical_symbol, probably passing $*UNIT as the scope to install it in
zengargoyle: $*W is usually involved when you have a value at compile time and you want to make it available at runtime, fwiw. :) 20:47
zengargoyle so there's not a .pm place where i could extract my data from $=pod and install a variable? i have to do it in nqp land... 20:49
Ven mmh, is there really no way to check if a type is p6-defined, or user-defined? 20:50
I'd like to avoid building such a list myself :[
20:50 ^elyse^ joined
psch m: class A { }; say ::('A'); say CORE::('A') 20:50
camelia rakudo-moar 94ad45: OUTPUT«(A)␤No such symbol 'CORE::A'␤ in block <unit> at /tmp/_nbS1GHvnY:1␤␤Actually thrown at:␤ in block <unit> at /tmp/_nbS1GHvnY:1␤␤»
psch m: class A { }; say ::('A'); say CORE::('Int')
camelia rakudo-moar 94ad45: OUTPUT«(A)␤(Int)␤»
FROGGS m: say Int =:= CORE::<Int> 20:51
camelia rakudo-moar 94ad45: OUTPUT«True␤»
FROGGS Ven: do you need something like this?
zengargoyle and can nqp variables do both positional and associative roles at the same time? $=data[] returns un-keyed sections, $=data{} returns keyed sections
FROGGS m: class Int { }; say Int =:= CORE::<Int>
camelia rakudo-moar 94ad45: OUTPUT«===SORRY!===␤This type cannot box a native integer␤»
Ven FROGGS: well, I have a type instance at first. problem is -- if someone declares "Foobar::Int", I can't lookup the name
m: my class Int {}; say Int =:= Core::<Int>; 20:52
camelia rakudo-moar 94ad45: OUTPUT«===SORRY!===␤This type cannot box a native integer␤»
Ven m: my class Int {}; say Int === Core::<Int>;
camelia rakudo-moar 94ad45: OUTPUT«===SORRY!===␤This type cannot box a native integer␤»
FROGGS CORE*
Ven m: my class Int {}; say Int =:= CORE::<Int>;
camelia rakudo-moar 94ad45: OUTPUT«===SORRY!===␤This type cannot box a native integer␤»
Ven m: my class Int {}; say Int === CORE::<Int>;
camelia rakudo-moar 94ad45: OUTPUT«===SORRY!===␤This type cannot box a native integer␤»
Skarsnik zengargoyle, damn the version handling seem not that easy. like for example if you say libgtk2 it's libgtk-x11-2.0.so.0; in my case it's libgumbo -> libgumbo.so.1; and for Pq libpq -> libpq.so.5
FROGGS though, Int seems problematic
Ven myeah.
that's not really what I'm afraid of, though
psch m: class Mu { }; say Int =:= CORE::<Mu>
camelia rakudo-moar 94ad45: OUTPUT«False␤»
FROGGS m: my class Proc {}; say Proc === CORE::<Proc>;
camelia rakudo-moar 94ad45: OUTPUT«True␤»
psch ... what
m: class Mu { }; say Mu =:= CORE::<Mu>
camelia rakudo-moar 94ad45: OUTPUT«False␤»
20:53 lizmat joined
psch zengargoyle: $=data is to be used on a Perl 6 level? 20:53
zengargoyle Skarsnik: well the last two are easy, find-library('libgumbo',1) and find-library('libpq',5) 20:54
psch: yes
psch zengargoyle: can't you stuff a class in there that defines AT-POS and AT-KEY (and friends) in Perl 6 code? 20:55
zengargoyle: the tribble code in Actions might give a hint how to do that
Skarsnik Your nearly want to call pkg-config xD
zengargoyle that's what i want to do, but can't find where to do it....
psch zengargoyle: well, intuition says you want to do it whenever you have all the information you need available 20:56
zengargoyle i already have my parsing added to Grammar/Actions and a few other places so there's now a Pod::Block::Data in $=pod
psch zengargoyle: that sounds like you just need to declare a lexical in the scope of the current comp unit 20:57
zengargoyle i need a place to grab out the data sections and stuff them into a $=data.
yeah
20:57 Ven left
psch zengargoyle: that place is the Action method that belongs to the token that parses the =data block 20:57
zengargoyle i found the place where basically $=pod gets set to $/ of the parse. 20:58
moritz $/.ast or $/.made or so I guess 20:59
20:59 Ven joined
zengargoyle i had hoped i could not have to learn a lot of nqp to pull out the data and make the $=data object. 20:59
psch nqp is just Perl 6 without a lot and lots of nqp:: namespaces functions 21:00
i don't think you'd need much of the latter, from what you describe you want to build
21:00 cognominal left, lizmat left 21:02 cognominal joined
Ven ugh, any((Mu, Any)) =:= Mu is a definite recipe for disaster... heh 21:05
konobi ollo 21:06
arnsholt zengargoyle: If you're digging around in the parser and actions, you're dealing with NQP already. That's all written in NQP
But as psch says, it's basically the same as Perl 6, but with most of the features ripped out 21:07
zengargoyle getting a first-start at =data was just copying =code and changing some 'code' to 'data' :P
21:07 cognominal left
arnsholt Most notably, NQP doesn't support assignment (that is, infix:<=>), only binding (infix:<:=>) and there's no standard library, so everything happens through nqp::ops 21:08
21:08 softmoth_ joined
arnsholt And there's a list literal construct, but no hash literal construct 21:08
zengargoyle it's the looping and maping and AT-KEY and method Str type stuff i'm afraid of in nqp
arnsholt So you have to build hash literals yourself as "my $h := nqp::hash(); $h<a> := 1; ..."
moritz my $h := nqp::hash('a', 1); # should work too 21:09
nqp-m: my $h := nqp::hash('a', 1); say($h<a>)
camelia nqp-moarvm: OUTPUT«1␤»
psch zengargoyle: i don't think you need that. you can define Pod::Block::Data in Perl 6 code and just instantiate it from nqp in Actions
zengargoyle: method quote:sym<tr> does exactly that, for reference 21:10
zengargoyle ah, closer. Pod::Block::Data is for the individual nodes.
arnsholt Oh, for some reason I thought nqp::hash didn't accept arguments. Happy to be wrong about that!
21:11 Ven left
zengargoyle but if i can make something else in core/Pod.pm and muck about with it from Actions.... 21:11
arnsholt That's entirely possible
21:12 Ven joined, xfix joined 21:13 softmoth_ left
Ven m: (Int, int, Str, str, Bool, Mu, Any, Cool).grep(-> \t { say t; t =:= A.^attributes[0].type; }).elems.say # this works... 21:14
camelia rakudo-moar 94ad45: OUTPUT«5===SORRY!5=== Error while compiling /tmp/raME6jMmPJ␤Undeclared name:␤ A used at line 1␤␤»
Ven m: class A { has $.a; }; (Int, int, Str, str, Bool, Mu, Any, Cool).grep(-> \t { say t; t =:= A.^attributes[0].type; }).elems.say # this works...
camelia rakudo-moar 94ad45: OUTPUT«(Int)␤(int)␤(Str)␤(str)␤(Bool)␤(Mu)␤(Any)␤(Cool)␤1␤»
Ven m: class A { has $.a; }; [Int, int, Str, str, Bool, Mu, Any, Cool].grep(-> \t { say t; t =:= A.^attributes[0].type; }).elems.say # ... this doesn't :[
camelia rakudo-moar 94ad45: OUTPUT«(Int)␤(int)␤(Str)␤(str)␤(Bool)␤(Mu)␤(Any)␤(Cool)␤0␤»
Skarsnik Do I have to rebuild rakudo when I only change a .pm (Nativecall.pm)? 21:15
cygx I don't think so for NativeCall - that's not in the core setting
zengargoyle i shall ponder after lunch& 21:16
Ven ugh, I hate that the search area is selected when I type space in the docs :/. Do people use this? I don't think we need the space, and I use it to scroll extensively
Skarsnik probably need to compile it still 21:17
Ven of course, perl6 coercers, .list does nothing, .List gives me a list. meh.
I'm not sure why [].grep doesn't work while ().grep does, though. weird 21:18
hah, of course, all the items inside are itemized... so nqp::decont(t) =:= Mu works even with []... that's still very surprising. Well, I know I'm doing some crazy stuff... 21:19
21:20 tokuhiro_ joined
psch Ven: .WHAT =:= .WHAT could get around the need to decont 21:20
Ven: but yes, [] conts which fits my expectation at least 21:21
jnthn cygx: If it's NativeCall then no. and the makefile should do the right thing
Ven psch: well, I never liked flattening or other aspects of it 21:22
21:22 hankache joined
Ven psch: thanks :) 21:24
21:24 tokuhiro_ left
Ven My "hydratation" module works. It'll create any intermediary object needed to fill a graph of objects from, say, json 21:24
21:26 llfourn joined 21:27 ZoffixMobile joined
ZoffixMobile Ven, what browser are you using? the space should scroll (was fixed yesterday) 21:28
Ven ZoffixMobile: chrome
ZoffixMobile Ven, scrolls for me. Try pressing CTRL+F5 for hard refresh 21:29
Ven I'm on os x, so that wouldn't work. 21:30
nope, still doesn't scroll
m: my class A { has $!a; method b { $!a }; }; A.new(a => 50).b.say # does p6 not allow this? 21:31
camelia rakudo-moar 94ad45: OUTPUT«(Any)␤»
Ven oh.
FROGGS m: my class A { has $.a; method b { $!a }; }; A.new(a => 50).b.say
camelia rakudo-moar 94ad45: OUTPUT«50␤»
cygx debugging fun - what a useful backtrace I got: gist.githubusercontent.com/cygx/4d...tfile1.txt 21:32
Ven FROGGS: yes, yes, obviously. but I knew what I was doing *this one time* :P
FROGGS *g*
psch the "oh" kind of seems like it means to express sudden insight... :S 21:33
ZoffixMobile Ven, El Capitan? 21:34
Ven ZoffixMobile: no
FROGGS cygx: obviously it is missing these helpful DWORD columns that Dr. Watson would provide :o)
Ven psch: I remembered masak arguing it should work differently
ZoffixMobile Ven, which one?
Ven ZoffixMobile: yosemite
psch: so I was just checking if it would be there or not :)
FROGGS: I've seen some work on type smilies, but I still can't do stuff like .grep(:U), right? I know jnthn wants them to be first-class, but probably not right now. (also, I know, this grep syntax passes a named arg) 21:35
FROGGS Ven: they are first-class nowadays 21:36
Ven oh? so I *could* grep by :U ? 21:37
llfourn m: say ('one','two',Int).grep(Any:U)
camelia rakudo-moar 94ad45: OUTPUT«((Int))␤»
ZoffixMobile Ven, just tested on Chrome 46 on OS X Yosemite.. pressing space when, say, docs.perl6.org/language.html loads scrolls the page. I googled that on OS X you'd press SHIFT+Command+R to do a hard refresh... if that doesn't work, I'm out of ideas :p
Ven llfourn++
ZoffixMobile: google gave me another command, but i can try this one as well 21:38
nope, still doesn't. chrome 45
FROGGS yes, Any:U would be the disambiguator
Ven FROGGS++ as well for making this work :D
FROGGS :U
:P
Ven *g*
FROGGS: then, I can probably grep the types off of CORE? CORE::.grep(Mu:U), say 21:39
llfourn m: say CORE::.values.grep(Mu:U) 21:41
camelia rakudo-moar 94ad45: OUTPUT«Method 'pull-one' must be implemented by SlippyIterator because it is required by a role␤ in any compose_method_table at gen/moar/m-Metamodel.nqp:2661␤ in any apply at gen/moar/m-Metamodel.nqp:2671␤ in any compose at gen/moar/m-Metamodel.nqp:2807…»
llfourn almost :D
Ven no, all the values in CORE are mu
m: say CORE::.values.perl
camelia rakudo-moar 94ad45: OUTPUT«Method 'pull-one' must be implemented by SlippyIterator because it is required by a role␤ in any compose_method_table at gen/moar/m-Metamodel.nqp:2661␤ in any apply at gen/moar/m-Metamodel.nqp:2671␤ in any compose at gen/moar/m-Metamodel.nqp:2807…»
psch m: say Iterator 21:42
camelia rakudo-moar 94ad45: OUTPUT«Method 'pull-one' must be implemented by Iterator because it is required by a role␤ in any compose_method_table at gen/moar/m-Metamodel.nqp:2661␤ in any apply at gen/moar/m-Metamodel.nqp:2671␤ in any compose at gen/moar/m-Metamodel.nqp:2807␤ in…»
FROGGS m: say CORE::.values.grep(Any:U).map(*.^name).sort
camelia rakudo-moar 94ad45: OUTPUT«(Any Backtrace Blob[uint8] Bool CompUnit CurrentThreadScheduler Cursor Date Distribution Duration FileChangeEvent Grammar HyperSeq IO Instant IntAttrRef IntLexRef JSONPrettyActions JSONPrettyGrammar Method Mix NFKC Nil Numeric Order PROCESS Pair Perl Perl5…»
21:43 Ven left 21:44 rurban joined
FROGGS gnight 21:44
21:44 FROGGS left, kjs_ left
psch hrm, this is just weird 21:45
21:45 Ven joined, gugod left 21:46 sprocket joined 21:47 kjs_ joined
grondilu a bit complicated, but here's a suspected bug: 21:48
m: class A { has Real %.stuff{UInt}; proto f($?) is export {*}; multi f {...}; multi f(UInt:D $) { ::?CLASS.new: :stuff(my Real %M{UInt} = 1 => pi) } }; import A; say f(1);'
camelia rakudo-moar 94ad45: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MaJAcPZd2X␤Unable to parse expression in single quotes; couldn't find final "'" ␤at /tmp/MaJAcPZd2X:1␤------> 3nt} = 1 => pi) } }; import A; say f(1);'7⏏5<EOL>␤ expecting any of:␤ sing…»
grondilu I guess I can simplify it a bit
psch m: class A { }; A.^add_method('foo', my proto method foo(|) { * }); A.^add_method('foo', my method foo(Str $) { "Str" }); A.^add_method('foo', my method foo(Int $) { "Int" }); A.^compose; A.new.foo("bar"); # kinda-sorta a golf of what i'm finding weird...
camelia rakudo-moar 94ad45: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dUcR0CP1IE␤Redeclaration of method foo␤at /tmp/dUcR0CP1IE:1␤------> 3od('foo', my method foo(Str $) { "Str" }7⏏5); A.^add_method('foo', my method foo(In␤»
psch wait, no, duh
...nevermind 21:49
grondilu m: class A { has $.stuff; proto f($?) is export {*}; multi f {...}; multi f(UInt:D $) { ::?CLASS.new: :stuff(pi) } }; import A; say f(1);
camelia rakudo-moar 94ad45: OUTPUT«===SORRY!===␤Invocant requires an instance of type Int, but a type object was passed. Did you forget a .new?␤»
cxreg bbkr_: ping 21:50
grondilu m: proto f($?) {*}; multi f {...}; multi f(UInt:D $) {...}; f(1); 21:51
camelia rakudo-moar 94ad45: OUTPUT«===SORRY!===␤Invocant requires an instance of type Int, but a type object was passed. Did you forget a .new?␤»
ZoffixMobile Ven, can't reproduce even in chrome 45, OS X Yosemite... Hell, works even in IE7. I can try listening on a different even when I get to a proper computer.
21:51 sprocket left
grondilu I'm pretty sure I did not pass a type object at any point. 21:51
Ven ZoffixMobile: okay, weird :o
thanks anyway!
ZoffixMobile If anyone else is having the same issue (pressing space on docs.perl6.org types in the search box instead of acrolling) ping me :) 21:52
grondilu m: multi f(UInt:D $) {...}; f(1);
camelia rakudo-moar 94ad45: OUTPUT«===SORRY!===␤Invocant requires an instance of type Int, but a type object was passed. Did you forget a .new?␤»
grondilu am I missing something obvious here?
psch m: say UInt 21:53
camelia rakudo-moar 94ad45: OUTPUT«(UInt)␤»
grondilu m: multi f(UInt:D $) {...}(1) 21:54
camelia rakudo-moar 94ad45: OUTPUT«Stub code executed␤ in sub f at /tmp/MI_GmkiT07:1␤ in block <unit> at /tmp/MI_GmkiT07:1␤␤Actually thrown at:␤ in block <unit> at /tmp/MI_GmkiT07:1␤␤»
grondilu m: multi f(UInt:D $) { say "ok"; }(1)
camelia rakudo-moar 94ad45: OUTPUT«ok␤»
grondilu m: multi f(UInt:D $) { say "ok"; }; f(1)
camelia rakudo-moar 94ad45: OUTPUT«===SORRY!===␤Invocant requires an instance of type Int, but a type object was passed. Did you forget a .new?␤»
psch m: say 1 ~~ UInt
camelia rakudo-moar 94ad45: OUTPUT«True␤»
grondilu m: multi f(Int:D $) { say "ok"; }; f(1)
camelia rakudo-moar 94ad45: OUTPUT«ok␤»
llfourn looks buggy to me
psch hm, maybe -ll-exception helps
psch is compiling right now...
Ven m: my Int @a = 1, 2, 3; @a.type
camelia rakudo-moar 94ad45: OUTPUT«Method 'type' not found for invocant of class 'Array[Int]'␤ in block <unit> at /tmp/0sf1HEqbYD:1␤␤»
Ven m: my Int @a = 1, 2, 3; say @a.^type
camelia rakudo-moar 94ad45: OUTPUT«Method 'type' not found for invocant of class 'Perl6::Metamodel::ClassHOW+{<anon>}+{<anon>}'␤ in block <unit> at /tmp/PMpoVH843Z:1␤␤»
psch Ven: .of
llfourn UInt is a subset from memory 21:55
Ven psch++ :)
psch Ven: ...or .VAR.of, actually, i think
grondilu that's no excuse, is it?
(UInt being a subset, that is)
psch m: my Int @a = 1, 2, 3; say @a.of; @a.VAR:.of
camelia rakudo-moar 94ad45: OUTPUT«5===SORRY!5=== Error while compiling /tmp/eocrHdMkJT␤Confused␤at /tmp/eocrHdMkJT:1␤------> 3my Int @a = 1, 2, 3; say @a.of; @a.VAR:7⏏5.of␤ expecting any of:␤ colon pair␤»
psch m: my Int @a = 1, 2, 3; say @a.of; @a.VAR.of
camelia rakudo-moar 94ad45: OUTPUT«(Int)␤»
psch m: my Int @a = 1, 2, 3; say @a.of; say @a.VAR.of
camelia rakudo-moar 94ad45: OUTPUT«(Int)␤(Int)␤»
Ven psch: so, it's of
psch nah, both fine
cygx m: subset Foo of Int where * > 0; multi f(Foo $i) { say $i }; f(1)
camelia rakudo-moar 94ad45: OUTPUT«1␤»
cygx m: subset Foo of Int where * > 0; multi f(Foo:D $i) { say $i }; f(1)
camelia rakudo-moar 94ad45: OUTPUT«===SORRY!===␤Cannot invoke this object␤»
cygx another one
psch m: say UInt.^WHAT 21:56
camelia rakudo-moar 94ad45: OUTPUT«5===SORRY!5=== Error while compiling /tmp/t74eOJEPll␤Cannot use .^ on a non-identifier method call␤at /tmp/t74eOJEPll:1␤------> 3say UInt.^WHAT7⏏5<EOL>␤ expecting any of:␤ method arguments␤»
psch m: say UInt.HOW.WHAT
camelia rakudo-moar 94ad45: OUTPUT«(Perl6::Metamodel::SubsetHOW)␤»
psch so SubsetHOW is missing something from ClassHOW i'd guess
cygx m: say UInt.^name
camelia rakudo-moar 94ad45: OUTPUT«UInt␤»
llfourn m: subset Foo of Int:D where * > 0; multi f(Foo $i) { say $i }; f(1)
camelia rakudo-moar 94ad45: OUTPUT«1␤»
grondilu guys, I don't want to be alarmist of anything, but everytime I tweak some of my codes on RC or whatever, I find a new bug like that. 21:57
llfourn m: subset Foo of Int:D where * > 0; multi f(Foo:D $i) { say $i }; f(1)
camelia rakudo-moar 94ad45: OUTPUT«1␤»
psch grondilu: that's fine. well, as long as you're creating tickets :)
grondilu :/
I did not today. I always tend to assume that someone will after reading the IRC backlog. 21:58
moritz one xmas RT down: RT#125123
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125123
llfourn grondilu: if you could just write perl6 without running into bugs like that you would have too much flow you would get totally lost in code.
21:58 Ven left
llfourn it's good to have a break submitting an RT 21:58
helps you remember to eat etc
21:59 ZoffixMobile left
grondilu one problem is that I don't know if a bug already has been submitted or not. That's why I usually just mention it on IRC. 21:59
llfourn mmm yeah the interface is kinda hrmmm.. 22:00
cxreg i wanted to talk with someone about that blog post that talked about the threadpool exhaustion and deadlock
grondilu and frankly submitting a RT is a bit tedious 22:01
cxreg the one @ blogs.perl.org/users/pawel_bbkr_pab...bread.html
22:01 Ven joined
llfourn grondilu: just email rakudobug with your snippet should be fine for this one 22:02
grondilu ok I will
llfourn grondilu++
Ven psch: github.com/vendethiel/hydrate6 if you're interested in seeing my module :) 22:03
llfourn is reading the blog post posted by cxreg
Ven urgh.. 22:04
cxreg not sure if jnthn is the right person to ask questions about the scheduler
22:07 adhoc left 22:10 sunrise joined
autarch how come the type docs are in perl6/doc instead of being alongside the code that implements those types? 22:12
22:12 Ven left
raoulvdberge btw, is the JVM size issue fixed already? 22:13
22:13 Ven joined
jdv79 i've asked that. don't remember. maybe pod6 related reasons? 22:13
autarch it seems really weird - especially the type-graph.txt file that documents the classes and their relationships, which is presumably already known by the interpreter 22:15
llfourn autarch: github.com/perl6/doc#some-notes
autarch ah, I see, there's no one implementation of these types
cxreg if perl 6 is going to be made of composable concurrency primitives, and ask that you not worry about things like threads and locks, then it is wrong for you to be able to deadlock a perl 6 program based on the size of the threadpool 22:16
at worst, it should just run slow
llfourn cxreg: that's just what I was thinking reading the post 22:17
I haven't done much concurrency stuff
cxreg maybe that's the idea but i wanted to make sure that the current state was not considered "done"
llfourn but afaik it's meant to be like goroutines
I thought that start {} didn 22:18
didn't even mean start a thread
jdv79 autarch: there is right now
cxreg on the "nice to have" end of things it'd be cool if it let you know that the threadpool was a gating factor so that you could tweak it
jdv79 idk if that's an entirely correct statement
llfourn cxreg: afaik that's what p6 is going for 22:19
but my knowledge is limited :)
cxreg i figured as much, just wanted to discuss it
jdv79 from the notes it seems its more about doc/spec(roast) matching up and pod
llfourn cxreg: have you seen the YAPC asia presentation by jnthn++
cxreg i saw at least one version of that talk, not sure if it was the latest 22:20
llfourn www.youtube.com/watch?v=JpqnNCx7wVY # 3 months ago 22:21
dalek osystem/vendethiel-patch-1: 4f73e9f | ven++ | META.list:
Add Hydrate
Ven ^ I'm not sure people won't want me to change the name ;)
22:23 kaare_ left 22:24 ifim left
dalek osystem: 4f73e9f | ven++ | META.list:
Add Hydrate
22:25
osystem: 12ea5f2 | (Tomasz Konojacki)++ | META.list:
Merge pull request #93 from perl6/vendethiel-patch-1

Add Hydrate
vendethiel I guess xeno was fine with that name :-) 22:26
22:26 Ven left
arnsholt grondilu++ # Digest::HMAC 22:26
vendethiel thanks
22:26 jstimpfle left
xenu well, you can rename it later if someone will *really* have objections 22:27
imho 22:28
llfourn cxreg: I'm just re-listening to part of it and jnthn says that start simply schedules the work to be done by the thread pool it doesn't create a new thread. So yeh that blog post is misleading, the original thing should work *I think*.
cygx so, it turns out you cannot just shove random crap into a NativeCall callsite descriptor and still expect things to work 22:31
who'd have thought ;)
jnthn cxreg: The reason the thing in that blog post deadlocks is 'cus await is blocking at the moment 22:32
22:32 sunrise left
jnthn (Which it won't be, I just didn't get to changing that yet) 22:33
uh, won't always be
Maybe next week. Or maybe the week after. I've got quite a lot of Perl 6 tasks to juggle at the moment.
I do want to fix it before 6.c 22:34
vendethiel oooh, non-blocking await would be amazing
22:34 ^elyse^ left, salva left
jnthn I did the design work, just not the impl work :) 22:35
arnsholt timotimo: If this ipython stuff kills my PhD thesis, I'm going to blame you and you alone =p 22:36
22:37 Ven joined
psch raoulvdberge: your question is about "classfile too large"? it hasn't been solved, but it has been postponed 22:38
raoulvdberge psch: ah ok
psch raoulvdberge: as in, r-j builds again, but the underlying problem still exists, but doesn't happen anymore
(for now...)
raoulvdberge how was it fixed?
psch raoulvdberge: local variables get less unique names for now 22:39
raoulvdberge: which means we can reuse about 3k or so string constants, afair
cxreg jnthn: i'll have to ponder that for a bit, but thanks for the info
raoulvdberge psch: The issue seems hard to fix. 22:40
This would require changes JVM-level right?
Or you'd need to split up in several classes..
psch raoulvdberge: yeah, the latter was my idea of a proper solution. it should be possible for special cases (e.g. CORE.setting.jar) but i'm not sure it's a desireable solutionm 22:41
raoulvdberge: another thing would be in general not putting things into the constant pool. afair donaldh++ had something planned that might remove all annotations from the constant pool
cxreg jnthn: roughly a year ago we discussed the gen2 markers being in a look-aside table to make COW-forking not immediately unshare all old-generation objects. did that ever come back around? 22:42
psch raoulvdberge: but yes, all of this is mostly java code, nothing really to do with nqp or rakudo, but with how we translate those into jvm bytecode
raoulvdberge psch: Hmm, but if you split up, wouldn't that cause performance issues?
as it would need to get the reference every time to the other class
(just thinking out loud here)
psch raoulvdberge: tbh, performance is the least of my worries with the jvm backend
raoulvdberge fair enough
psch raoulvdberge: it's slow, it has been slow forever, it probably won't be fast soon, but there's *lots* of other stuff broken 22:43
raoulvdberge: and between "fast" and "correct" i like picking "correct" much more
raoulvdberge yeah definitely
22:43 Ven left 22:44 Ven joined, vendethiel left
arnsholt Doesn't PERL6LIB support several directories? 22:45
jnthn cxreg: Not yet, but work on the GC in the last year has amounted to little more than the odd bug fix (and even there the bugs have I think all been parallel/concurrency related). The GC is good enough for most cases, and lots of other things weren't good enough, so they got the tuits. 22:47
22:47 kjs_ left
cxreg jnthn: fair enough, just wanted to check. it could be a game changer for large programs. 22:48
Ven argh, FROGGS++'s snippet doesn't give me all the types from CORE :( 22:49
cxreg but maybe with the concurrency available, there's less desire to actually fork anyway
jnthn cxreg: In the run up to 6.christmas, I've been *way* more concerned with dealing with semantic issues over performance ones, because we'll be able to improve perf things every single release, but if we end up with an ecosystem full of modules relying on semantic bugs then we're in an annoying place.
cxreg having been in node.js world for a few years, i feel that one :p 22:50
can't argue with your priorities
jnthn :-) 22:51
22:52 loren left
jnthn yawns after a day of mostly admin tasks, and goes to relax 22:52
o/
Ven gnight jnthn++ :) 22:55
22:56 softmoth_ joined, xfix left 22:58 Ven left, Ven joined
cygx 'night o/ 22:58
22:58 Ven left 22:59 cygx left, Ven joined
grondilu ok, question: say I have to modules A and B. B exports symbols. How can I make A re-export B's symbols? That is, having B's symbols available whith a call 'use A;' 23:00
23:00 eliasr joined, softmoth_ left
grondilu
.oO( module A is B; }
23:00
.oO( that looks overkill )
23:01
llfourn grondilu: last time I checked the way you are meant to be able to do this from desgin docs is NYI
grondilu ok, good to know 23:02
ugexe just spurt the export directly into A.pm6!
llfourn ugexe: that works? 23:03
sub EXPORT is export .....
grondilu "spurt"?
ugexe no, its a horrible joke
psch i liked the joke, fwiw
llfourn ugexe: damn :P
psch it's a joke that'd have horrible result if it was taken as serious advice, though 23:04
23:04 BenGoldberg joined
Skarsnik interesting I can't invert a (perl type) %hash{Str} (as (piko => int32) ) 23:04
llfourn why?
ugexe "A.pm6".spurt("import {$my-list-of-exports.join(',')}") or something heh
psch llfourn: well, depending on your open mode you might truncate B.pm
err, A.pm
llfourn ohh right I didn't think ugexe literlly meant .spurt :P
I thought more along the lines of somehow exporting EXPORT or maybe exporting one of the UNIT::EXPORT packages... 23:06
psch Skarsnik: what do you mean? (piko => int32) is clear a Pair, and would fit into a any normal hash (which are Any %h{Str})
llfourn: importing an EXPORT *might* work as a workaround currently, but seems a bit... weird :S 23:07
Skarsnik it's some native type and it can't .Str on it for invert
psch Skarsnik: what do you mean by "invert"?
Skarsnik %hash.invert
psch Skarsnik: ohh, now i get it. you want to invert a hash that has type objects as values 23:08
llfourn grondilu: so your choice is manually exporting the symbols you want to re-export or doing something trying the 'weird' suggestion I made :)
s/doing something//
psch m: my %h = foo => int32, bar => Any; my %i{Any} = %h.invert; say %i{int32} # 23:09
camelia rakudo-moar 94ad45: OUTPUT«foo␤»
psch Skarsnik: ^^^ like that might fit your needs
23:09 sunbeam joined
psch Skarsnik: as in, the declaration of %i says "keys for this hash can be of type Any and don't need to be stringified" 23:09
23:10 spider-mario left
grondilu I won't do the weird stuff for sure 23:10
Skarsnik m: use NativeCall; class A is repr('CStruct') { has int $.b}; my %hash = (A => A); %hash.invert;
camelia ( no output )
23:10 telex left
Skarsnik hm 23:10
m: use NativeCall; class A is repr('CStruct') { has int $.b}; my %hash = (A => A); say %hash.invert; 23:11
camelia rakudo-moar 94ad45: OUTPUT«((A) => A)␤»
Skarsnik m: use NativeCall; class A is repr('CStruct') { has int $.b}; my %hash = (c => ::("A")); say %hash.invert; 23:12
camelia rakudo-moar 94ad45: OUTPUT«((A) => c)␤»
psch m: my %h = foo => int32; say %h.invert
camelia rakudo-moar 94ad45: OUTPUT«((int32) => foo)␤»
23:12 telex joined
psch m: my %h = foo => int32; my %i = %h.invert; say %i.perl 23:12
camelia rakudo-moar 94ad45: OUTPUT«Use of uninitialized value of type int32 in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/3Kz2TQ6Jeq:1␤{"" => "foo"}␤»
23:12 RabidGravy left, noganex joined 23:13 Ven left, Ven joined
Skarsnik It works :) pastebin.com/pPhVKwL8 23:15
23:18 rurban left
jdv79 Skarsnik: what does it do? 23:20
Skarsnik I give him the c type name and the mapped type with NC and it check if they match size, and if not, it try to show the size of the fields 23:21
sound dumb, but I had good size in my 32bits VM and they don't match on a 64bits computer 23:23
23:28 TEttinger left 23:29 Ven left 23:30 xpen joined 23:32 Ven joined 23:34 cognominal joined
Skarsnik okkkk. is there some kind of bug with nativesizeof? pastebin.com/FVagmG6T why the total size of the struct (calling nativesize on each attr) is not the same that nativesizeof(thestruc) 23:37
TimToady Ven: or you can just use :!exists 23:38
Ven TimToady: I still consider it very surprising :o 23:39
I guess it's there so that "a + b :precise" applies on +?
(tbh, I even changed my use of exists to with, because it's a great construct) 23:40
TimToady wow, sudden cramp in my index finger muscle--don't think I've ever had that before... 23:41
Ven carpal tunnel issues?
TimToady no, just too much hammering at weird angles earlier today 23:42
Skarsnik ah I found one of my issue in this struct size too. one field is defined as 'size_t' and it's not the same on amd64 and x86
TimToady and electrolytes off a bit, probably
yes, the idea is that it can apply to many different operators, at the expense of occasionally being surprising on postfixes 23:43
grondilu m: role { my sub ($n) is cached {...} } 23:44
camelia rakudo-moar 94ad45: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wYTCp5TXyL␤Cannot invoke this object␤at /tmp/wYTCp5TXyL:1␤»
23:44 Ven left, Ven joined
grondilu ^talking about bugs I find everytime I try to tweak my code 23:44
m: role { my sub ($n) {...} }
camelia ( no output )
psch grondilu: probably related to RT #124016 23:45
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=124016
23:45 rindolf left
psch m: (role { }).gist; 23:45
camelia ( no output )
psch hm, maybe not
Ven TimToady: I guess the biggest factor is that, right now, it's pretty much only used on postfixes (AFAIK). That's why it was so confusing to me
Skarsnik Where should I fill bug for NativeCall? on rt.perl.org or on rakudo github page? x) 23:46
psch Skarsnik: nowadays probably RT
Skarsnik: NativeCall used to be a module, but it's become somewhat of a rakudo-core, if not language core 23:47
grondilu that can't be right, I recall a old talk about 'is cached' having to use .WHICH or something. I thought that was fixed long ago.
TimToady it's one of those escape hatches we put in, and this one we've avoided using more successfully than most escape hatches
psch Skarsnik: actually, that might mean it should be an issue on the rakudo github repo...
Ven TimToady: it's just that, in those 50 lines, I had a few surprises/corner cases. any/Mu interaction, this, and Array containerization which made =:= me go "wtf, why is Int not =:= Int"?
Ven has said far enough time he wasn't an usual flattening user, and as such doesn't really like it
psch m: say [Int][0] =:= Int 23:48
camelia rakudo-moar 94ad45: OUTPUT«False␤»
psch i do agree that's surprising
Ven yeah...
TimToady m: say [Int][0]<> =:= Int
camelia rakudo-moar 94ad45: OUTPUT«True␤»
TimToady Arrays itemaize
*ize
grondilu what's weird is that it fails in a role but not in a class
Ven well, sure
grondilu m: class { my sub ($n) is cached {...} }
camelia ( no output )
TimToady don't use =:= if you don't want to worry about that 23:49
Ven (+ the fact I had to .grep(-> \t :=:), because (* =:= ...) would work as well as any(...) =:= Mu)
TimToady: what should I use? ===?
TimToady m: say [Int][0] === Int
camelia rakudo-moar 94ad45: OUTPUT«True␤»
TimToady m: say [Int][0] eqv Int
camelia rakudo-moar 94ad45: OUTPUT«True␤»
BooK_ watching TimToady's craigslist presentation
23:49 BooK_ is now known as BooK
psch grondilu: i'd say digg into the "is cached" impl to see if you can figure out why it does that, but... :P 23:49
Ven m: say Mu === Mu # TimToady
camelia rakudo-moar 94ad45: OUTPUT«Cannot call infix:<===>(Mu, Mu); none of these signatures match:␤ ($?)␤ ($a, $b)␤ (Int:D \a, Int:D \b)␤ (int $a, int $b)␤ (Num:D \a, Num:D \b)␤ (Num $ where { ... }, Num $ where { ... })␤ (num $a, num $b --> Bool:D)␤ …»
Ven so I'm afraid I can't quite use === 23:50
BooK and wobdering about R and Z
psch grondilu: a hunch is something about punning
BooK isn't that ambiguous if one has a function named Rop and an op named op? 23:51
psch BooK: that comes up during the same talk a bit later :)
TimToady S99:DIHWIDT
synbot6 Link: design.perl6.org/S99.html#DIHWIDT
23:51 hankache left
TimToady but yes, if you define Rop it wins under LTM 23:51
BooK psch: heh should have waited till the end for questions :-)
grondilu submits a ticket 23:52
BooK LTM ?
Ven TimToady: how does DIHWIDT apply here? I have an array of types, I need to check if my attribute's type is comprised or not.
TimToady S99:LTM
synbot6 Link: design.perl6.org/S99.html#LTM
Ven What other way do I have? What should I do instead? Why DIHWIDT?
TimToady I was talking to Book
Ven ooh, okay. I thought you had a cool way to solve this :( 23:53
I guess I really should find a way to find all types in CORE...
TimToady if you want to use =:=, just be sure to decontainerize
or make sure both things are containerized
(with the same container)
Ven TimToady: it's not so much that I *want* to, it's that either *can* be Mu, and as such I can't use ===
TimToady well, why do you want to use Mu? Mu is "most undefined" 23:54
BooK thanks. going back to watching the presentation then
TimToady we don't do === or eqv on Mu so that Junctions work right
23:54 geraud joined
TimToady why do you have to introspect? 23:54
Ven TimToady: I should show you my use case: github.com/vendethiel/hydrate6 I'm reading the attributes. By default, the type is Mu
yes, that's fair 23:55
23:59 adrusi joined, kjs_ joined