Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-06-20

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:01 timotimo possibly it's trying to prevent "<unit-outer>" from appearing even though the exception comes from some inside-ish place?
00:01 timotimo actually, the --ll-exception output has <unit-outer> in the middle somewhere
00:08 telex joined #perl6
00:40 BenGoldberg joined #perl6
01:47 ilbot3 joined #perl6
01:47 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
02:01 grandtehftjiujit hello, I'd like to contribute to the perl6 docs on GitHub, however, when trying to build from the instructions I get an error when running htmlify.p6
02:01 JimmyZ_ joined #perl6
02:02 grandtehftjiujit for the third build in a row I get "dot command failed! (did you isntall Graphviz?)
02:05 raydiak grandtehftjiujit: do you have graphviz installed on your system?  it is used to render the type diagrams
02:06 grandtehftjiujit no, I was confused since the instructions hadn't mentioned it
02:06 grandtehftjiujit that, of course, worked though :)
02:06 raydiak grandtehftjiujit: yeah I did the same thing the first time I contributed to the docs, and accidentally uploaded a version with no images :)
02:07 grandtehftjiujit I'm not sure how / if i'll be able to contribute... but I've been looking for a jumping in point
02:08 grandtehftjiujit the right brew of things at the right time i suppose
02:08 raydiak yep, whatever suits you...btw, Welcome!
02:10 raydiak writing and maintaining a module or two can be an easy way to start also
02:10 coffee` joined #perl6
02:12 hovering joined #perl6
02:16 grandtehftjiujit thanks, I'm not a very experienced programmer, but I do have a general exposure to html, css, python, and sheel, so maybe I can whip something up :)
02:16 grandtehftjiujit *shell
02:17 noganex joined #perl6
02:17 raydiak nice...never too late to learn more either; perl 6 is a lot of fun when you get the hang of it
02:18 raydiak not that I'm biased :)
02:20 raydiak usually you'd get much more vocal reception, but a good portion of our contributors are asleep atm, in Europe
02:21 laouji joined #perl6
02:23 grandtehftjiujit ic, that's quite alright
02:25 grandtehftjiujit i'm finding it quite fun already.  I felt like i was grinding my teeth a bit on perl5 so when I whipped my first rakudo spin I was pleasantly surprised / relieved / excited :)
02:29 raydiak glad to hear it :)  I thought parts of it were a bit odd at first when I came from a p5 background, but I'm quite happy I switched now
02:33 * TimToady isn't here either :)
02:33 yoleaux 19 Jun 2015 21:24Z <jnthn> TimToady: in STD, "my $exists = @foo[0]:exists" puts the adverb on the whole scope decl, because adverbs have item assignment precedence, put the initializer preclimits to item assignment. In Rakudo we wrongly had preclimit doing exclusive, not inclusive, checking, so we never noticed until now.
02:33 yoleaux 19 Jun 2015 21:26Z <jnthn> TimToady: s/put/but/. Also I don't immediately see a good fix; I suspect changing adverb's prec will have bad effects, but initializer doesn't feel like the right change either. Ideas welcome. :)
02:38 rmgk_ joined #perl6
02:39 * raydiak wonders if TimToady's quasiabsent state too closely resembles a ghost and scared grandtehftjiujit away
02:43 TimToady .tell jnthn well, it looks to me as though initializers are already correctly parsing at i= prec, so it seems like it would be pretty easy to give adverbs a precedence "slightly tighter" than that as it says in S03:1533, maybe "i^=" or so
02:43 yoleaux TimToady: I'll pass your message to jnthn.
02:46 kivutar joined #perl6
03:11 CQ_ joined #perl6
03:43 schmooster joined #perl6
04:03 gtbjj joined #perl6
05:04 zacts joined #perl6
05:21 kaare__ joined #perl6
05:23 kivutar joined #perl6
05:29 aborazmeh joined #perl6
05:29 aborazmeh joined #perl6
05:31 krishna1 joined #perl6
05:33 laouji joined #perl6
05:46 Psyche^_ joined #perl6
05:46 laouji joined #perl6
05:48 krishna1 joined #perl6
06:10 araujo_ joined #perl6
06:33 Sqirrel joined #perl6
06:52 aborazmeh joined #perl6
06:52 aborazmeh joined #perl6
06:56 bin_005 joined #perl6
07:00 TEttinger joined #perl6
07:02 TEttinger someone in another channel was describing the trouble he was having designing a compiler in Java.  "It's just like, you want to start with no types, like ruby or something, and only once you understand it you assign the types." I smirked inside and said "like... gradual typing?"
07:06 RabidGravy joined #perl6
07:08 TEttinger so if I want to describe something in NQP that gets completely ignored after it's parsed, not even counting as a part of other parsed forms, how would I do that?
07:09 TEttinger in clojure, the language feature that I want to implement is done with #_ followed immediately by the form to be ignored. something like (def myVar #_(/ 10 0) "the value I want") wouldn't ever evaluate the 10 divide by 0
07:12 _mg_ joined #perl6
07:16 ShimmerFairy joined #perl6
07:18 TEttinger looks like I need to add it to the ws token?
07:30 kivutar joined #perl6
07:41 FROGGS joined #perl6
07:45 _mg_ joined #perl6
08:00 diana_olhovik joined #perl6
08:00 xinming Just cruious, When we have ~$object   Is there a way to override the default behavior so $object can return the different things in Str context?
08:01 moritz TEttinger: or you can simply not return an AST from the action method; or a null op
08:01 moritz xinming: yes, define a method Str
08:02 xinming ah, sorry, I tried that, But I put it into the wrong class. >_<
08:02 xinming that's what I did, I just now realized I put the method in wrong class
08:14 dalek roast: 4366d91 | usev6++ | S04-exceptions/fail.t:
08:14 dalek roast: Add test (fudged 'todo') for RT #115436
08:14 dalek roast: review: https://github.com/perl6/roast/commit/4366d917a5
08:14 dalek roast: fa9de57 | usev6++ | S02-types/lazy-lists.t:
08:14 dalek roast: Unfudge passing test for JVM, RT #121994
08:14 dalek roast: review: https://github.com/perl6/roast/commit/fa9de575cb
08:16 darutoko joined #perl6
08:22 RabidGravy er, "Cannot find method 'is_composed'" that's helpful
08:22 yoleaux 19 Jun 2015 12:28Z <jnthn> RabidGravy: if https://rt.perl.org/Ticket/Display.html?id=125408 also seems fixed for him (I just tried it and it doesn't fail)
08:27 _mg_ joined #perl6
08:28 salva joined #perl6
08:32 TEttinger oh boy, this is gonna be fun... how do I either make the existing ww method recognize more characters as valid components of names (that need spaces between tokens), or make my own equivalent to ww for a more permissive identifier char set?
08:33 TEttinger the rule I have for a variable is :
08:33 TEttinger token value:sym<variable> { <-[\d\c[APOSTROPHE]\c[QUOTATION MARK]\c[NUMBER SIGN]\{\}\(\)\[\]\~\,\s\/]> <-[\c[APOSTROPHE]\c[QUOTATION MARK]\c[NUMBER SIGN]\{\}\(\)\[\]\~\,\s\/]>* }
08:33 TEttinger (can't start with a number, can't ever contain the other chars)
08:35 RabidGravy jnthn, nope #125408 still fails with the same error
08:40 rindolf joined #perl6
08:44 tinyblak joined #perl6
08:50 dalek roast: 6ea448b | usev6++ | S03-operators/arith.t:
08:50 dalek roast: Add test for RT #123077
08:50 dalek roast: review: https://github.com/perl6/roast/commit/6ea448b9a2
08:51 xinming Just curious, Is there something like lazy build feature for class attributes?
08:52 xinming I mean object attributes
08:53 RabidGravy ah, found it
08:53 RabidGravy m: enum Error ( Metadata => -20); class Metadata { }
08:54 camelia rakudo-moar d47424: OUTPUT«===SORRY!===␤Cannot find method 'is_composed'␤»
08:54 RabidGravy xinming, I think someone made something experimental a while back but it's not in rakudo
08:55 timotimo right, it's supposed to go into module space, but nobody put it up yet
08:55 xinming RabidGravy: will that be something like    has $.attr is lazy { }...  ?
08:55 gfldex joined #perl6
08:56 timotimo xinming: https://github.com/rakudo/rakudo/commit/34788bf - you can basically put the reverse of this commit into a .pm file and use that, then you can has $.attr will lazy { ... }
08:57 timotimo there should be an earlier commit that explains it in a bit more detail, i imagine
08:57 timotimo but i gotta go for now
08:57 timotimo TTYL!
08:57 RabidGravy byeeeeee
08:59 xinming Ok, Thanks
08:59 * xinming waves
09:05 steve_mc joined #perl6
09:12 _mg_ joined #perl6
09:20 masak good antenoon, #perl6
09:20 jnthn o/
09:20 yoleaux 02:43Z <TimToady> jnthn: well, it looks to me as though initializers are already correctly parsing at i= prec, so it seems like it would be pretty easy to give adverbs a precedence "slightly tighter" than that as it says in S03:1533, maybe "i^=" or so
09:26 TEttinger good <time of day> jnthn, masak!
09:26 TEttinger I'm not sure here, how do I either make the existing ww method recognize more characters as valid components of names (that need spaces between tokens), or make my own equivalent to ww for a more permissive identifier char set?
09:27 TEttinger if I just steal nqp's ww, it only uses word chars, but I allow more than taht
09:28 moritz TEttinger: you can implement the equivalent of ww with look-ahead and look-behind assertions
09:30 TEttinger I know in JVM regexes that uss something like (?>![my thing])
09:30 TEttinger I have no idea how perl assertion regexy things do it
09:31 RabidGravy m: enum Error ( Metadata => -20); class Metadata { }; # I may RT this as a somewhat less than awesome diagnostic message, it took me ages to find it in a large enum
09:31 camelia rakudo-moar d47424: OUTPUT«===SORRY!===␤Cannot find method 'is_composed'␤»
09:35 spider-mario joined #perl6
09:35 jnthn RabidGravy: Please do, it's an easy fix
09:36 _mg_ joined #perl6
09:46 RabidGravy jnthn, in as #125441
09:48 RabidGravy jnthn, in regard to the RT#125408 it still appears to be doing it for me
09:49 muethos joined #perl6
09:49 jnthn RabidGravy: Odd, I ran the code from RT#125408 and it completed successfully, and I bumped up the thresholds and the same... :S
09:49 jnthn RabidGravy: Will have to give it another guy, mebbe will try it on another platform
09:51 RabidGravy Would it be fixed in some bump of moar that a plain rakudobrew wouldn't get?
09:52 RabidGravy (this on a linux x86_64 btw)
09:54 timotimo damn this guy
09:55 TEttinger timotimo: mips stuff?
09:55 timotimo no, just punning off jnthn's typo
09:57 TEttinger so, how bout them look-ahead and look-behind assertions? where would I look to learn more about those?
09:57 jnthn oh wow, "another try" :)
09:58 jnthn RabidGravy: No, I don't think there's been any relevant commits since 2015.06
09:58 tinyblak joined #perl6
09:58 spintronic joined #perl6
10:01 jnthn yay, the TimToady++ suggestion on fake infix prec seems to help...
10:01 jnthn Though only so much...
10:02 jnthn (Helps the adverb issue, but seems there's still spectest fallout)
10:03 dalek rakudo/nom: 146ad05 | usev6++ | src/core/Failure.pm:
10:03 dalek rakudo/nom: Type check when creating Failure object with '.new'
10:03 dalek rakudo/nom:
10:03 dalek rakudo/nom: fixes RT #115436
10:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/146ad05887
10:03 dalek rakudo/nom: 1cc73fc | jnthn++ | src/core/Failure.pm:
10:03 dalek rakudo/nom: Merge pull request #442 from usev6/type_check_for_failure
10:03 dalek rakudo/nom:
10:03 dalek rakudo/nom: Type check when creating Failure object with '.new'
10:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1cc73fc1eb
10:04 jnthn m: my $pair = 'foo' => 'bar'; say $pair
10:04 camelia rakudo-moar d47424: OUTPUT«foo => bar␤»
10:05 jnthn Damm it, we've broken that one too...
10:05 TEttinger so currently my ws token is this:
10:05 TEttinger token ws { <!ww> [\s | ',' | <.comment> ]* }
10:06 TEttinger I'm not sure what the ! before ww means
10:07 jnthn TEttinger: "does not match here"
10:07 jnthn (And zero-width)
10:07 TEttinger good
10:07 TEttinger thanks, jnthn++
10:08 kivutar joined #perl6
10:08 TEttinger moritz++ mentioned that lookaround could be used here to replicate ww, but AFAICT the syntax is going to be different
10:08 TEttinger (than other regex engines, since this isn't a regex, or is it?)
10:11 espadrine joined #perl6
10:13 jnthn Depends how you define "regex". token/rule turn off backtracking, which means you san performantly parse, but Perl 6 regexes are using the same syntax as the rule/token stuff you're using
10:16 jnthn m: my $b = 2; my $a = $b = 3; say $a; say $b;
10:16 camelia rakudo-moar d47424: OUTPUT«3␤3␤»
10:16 jnthn .tell TimToady While that helps the colon pair case, we run into problems with pairs, as in "my $a = 'foo' => 'bar'", because those are %item_assignment too. Also chained assignments to declarators seem to go wrong (e.g. my $a = $b = 2).
10:16 yoleaux jnthn: I'll pass your message to TimToady.
10:16 lizmat joined #perl6
10:18 * lizmat waves from home
10:18 vendethiel o/ lizmat!
10:18 lizmat vendethiel o/
10:18 jnthn o/ lizmat
10:18 lizmat jnthn o/
10:18 TEttinger hallo
10:18 jnthn Hope the journey was uneventful :)
10:18 lizmat yes, smooth and uneventful
10:18 jnthn yay
10:21 lizmat first thing to do: git pull; make; make spectest
10:21 lizmat when running as part of the spectest, t/spec/S17-supply/unique.t hangs for me
10:21 lizmat runs fine by itself :-(
10:24 TEttinger I'm really sorry to keep bothering everyone, but... where would I learn more about how NQP grammar stuff works? I'm most of the way through Edument's NQP thing ( http://edumentab.github.io/rakudo-and-nqp-internals-course/slides-day1.pdf ), even though it doesn't make that much sense yet because I'm still learning... Perl.
10:25 TEttinger the Edument course didn't explain <!...> at all, so I am not thinking it will explain stuff like other regex-style matching
10:25 jnthn TEttinger: Did you read the Perl 6 regex/grammar docs yet?
10:25 jnthn TEttinger: 'cus the syntax is the same
10:25 TEttinger I have no idea where they are
10:25 TEttinger I'd guess perl6.org
10:26 jnthn http://doc.perl6.org/language/regexes and http://doc.perl6.org/language/grammars
10:26 TEttinger http://doc.perl6.org/language.html ? ah ok
10:28 lizmat jnthn: datapoint: it hangs without using any CPU
10:28 lizmat hmmm... and now it was t/spec/S17-supply/map.t that hang
10:28 lizmat *hung  :-)
10:29 TEttinger huh, lookahead is empty, it's just <?before foo> right?
10:29 jnthn TEttinger: Yes, <?before foo> or if you just have a char class <?[abc]>, or you can use any other token/rule as a lookahead with <?name>
10:30 jnthn And ! in all of those places instead for negative lookahead
10:30 TEttinger gotcha, thanks!
10:31 TEttinger so if I wanted to check if there was this token, neither ahead or behind: token value:sym<variable> { ... }    (there's a very long character class in there)
10:32 TEttinger I would use <?!after variable> <?!before variable>
10:32 TEttinger or would it need value:sym<variable>
10:32 jnthn Any time you see foo:sym<bar> it's part of an alternation (known as a "protoregex"
10:32 jnthn You can't talk about those directly
10:33 TEttinger ok, so put that in its own thing, have the protoregex reference it?
10:33 jnthn You should factor the shared stuff out to a token of its own, have your token value:sym<variable> look more like <variable>, and then use that.
10:33 jnthn Yes, you've got it.
10:34 * lizmat takes a geezette nap
10:34 TEttinger oh, and <?!after variable> <?!before variable> will make it require Both of those, right?
10:35 TEttinger similar to ww
10:35 jnthn TEttinger: ?! looks...odd
10:36 jnthn If you mean "not after a variable" and "not before a variable" just <!after <variable>> <!before <variable>> would do it
10:36 TEttinger http://doc.perl6.org/language/regexes#Lookbehind_assertions ?
10:36 TEttinger huh
10:36 TEttinger ok
10:37 jnthn Oddness
10:37 jnthn The ? is redundant, I thought...
10:37 TEttinger it also hasn't filled in lookahead in the section above
10:37 TEttinger maybe outdated?
10:39 jnthn I suspect the lookahead bit is just "not written yet"
10:39 jnthn The docs situation has gotten loads better over the last year, but there's still gaps.
10:40 jnthn m: my $a = a => b => c; say $a.perl
10:40 camelia rakudo-moar 1cc73f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QXFMqTPXnl␤Undeclared routine:␤    c used at line 1␤␤»
10:40 jnthn m: my $a = a => b => 'c'; say $a.perl
10:40 camelia rakudo-moar 1cc73f: OUTPUT«:a(:b("c"))␤»
10:40 jnthn m: my $a = a => 'b' => 'c'; say $a.perl
10:40 camelia rakudo-moar 1cc73f: OUTPUT«:a(:b("c"))␤»
10:46 jnthn m: multi foo($a where { $_ == False } = True) { }; foo(False);
10:46 camelia rakudo-moar 1cc73f: OUTPUT«Cannot modify an immutable Block␤  in sub foo at /tmp/KKGuUn55Kc:1␤  in block <unit> at /tmp/KKGuUn55Kc:1␤␤»
10:48 dalek nqp: 046eb33 | jnthn++ | tools/build/MOAR_REVISION:
10:48 dalek nqp: Bump MOAR_REVISION for updated MAST::Nodes.
10:48 dalek nqp:
10:48 dalek nqp: The previous version was accidentally invalid NQP syntax, but a
10:48 dalek nqp: precedence limit handling bug in NQP meant we got away with it.
10:48 dalek nqp: review: https://github.com/perl6/nqp/commit/046eb33f75
10:49 dalek nqp: 1d5165f | jnthn++ | src/HLL/Grammar.nqp:
10:49 dalek nqp: Correct EXPR precedence limit test.
10:49 dalek nqp:
10:49 dalek nqp: As per STD, it should be an inclusive, not exclusive, test.
10:49 dalek nqp: review: https://github.com/perl6/nqp/commit/1d5165f87c
10:52 RabidGravy is making a trait that "auto-handles" all the methods in the object that are marked with another trait a completely insane idea
10:52 RabidGravy I'm a lazy typist
10:52 timotimo sounds fine to me
10:56 telex joined #perl6
10:57 jnthn RabidGravy: I'm guessing you're putting the first trait on the class itself?
10:57 dalek rakudo/nom: 9ed8577 | jnthn++ | / (2 files):
10:57 dalek rakudo/nom: Get EXPR preclim fix; cope with its fallout.
10:57 dalek rakudo/nom:
10:57 dalek rakudo/nom: The EXPR method used to incorrectly test against the precedence limit.
10:57 dalek rakudo/nom: This commit bumps to an NQP without this bug. This entails three small
10:57 dalek rakudo/nom: changes to Perl6::Grammar. First, we undo a hack in infix:<?? !!> that
10:57 dalek rakudo/nom: worked around the precedence limit bug, bringing us in line with STD.
10:57 dalek rakudo/nom: The second two changes are needed because we previously parsed both
10:57 dalek rakudo/nom: initializers and fatarrows as intended only due to the bug that is now
10:57 dalek rakudo/nom: fixed. STD gets things incorrect in these two cases also, but since it
10:57 dalek rakudo/nom: only does syntax, not semantics, it has never been noticed until now.
10:57 dalek rakudo/nom:
10:57 dalek rakudo/nom: There is no spectest fallout with this patch. There may be a little
10:57 dalek rakudo/nom: ecosystem fallout, possibly because we were a little too liberal. With
10:57 dalek rakudo/nom: this change, RT #123623 is also fixed.
10:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9ed8577888
10:58 RabidGravy something like "class Foo { method bar is delegated { .. } } class Bar { has Foo $!foo is auto-proxy }" and an object of Bar has the bar method
10:58 jnthn .tell TimToady I ended up doing https://github.com/rakudo/rakudo/commit/9ed8577888 which I suspect you'll want to review; as far as I can tell, STD is wrong for ages on these things and we never noticed.
10:58 yoleaux jnthn: I'll pass your message to TimToady.
10:59 jnthn RabidGravy: You do know about "handles"?
10:59 RabidGravy yes
11:00 jnthn RabidGravy: Including the forms where you don't list the method names, but use a type as the matcher?
11:00 jnthn Either that or I'm missing some aspect of your problem...
11:00 RabidGravy oh wait, no not that part
11:00 RabidGravy looks at the handles code again
11:01 FROGGS[mobile] joined #perl6
11:01 jnthn iirc, "handles Foo" means "fall back to delegate all methods Foo can do to the attribute"
11:01 jnthn *delegating
11:05 RabidGravy yeah see that now
11:05 FROGGS[mobile] o/
11:08 TEttinger QAST::Var.new() takes a :scope like :scope('lexical') or :scope('attribute'); where's the list of the possible scopes and/or what they mean? it isn't in QAST::Var, as far as I can tell
11:09 dalek roast: 40fa9bf | jnthn++ | S (2 files):
11:09 dalek roast: Tests covering RT #123623.
11:09 dalek roast: review: https://github.com/perl6/roast/commit/40fa9bf6ed
11:09 jnthn TEttinger: The course is probably the best best for examples of that
11:09 TEttinger ok
11:09 jnthn I think it should cover most of them
11:10 RabidGravy though, the subtle difference with what I am thinking is that the delegated class can indicate which methods are thus delegated which I guess could be achieved with some matcher
11:10 jnthn You can always look into the QAST -> MAST
11:11 larion joined #perl6
11:14 jnthn Phew, now our RT queue "only" goes up to page 21, not 22...
11:14 FROGGS ó.ò
11:14 FROGGS jnthn: we'll get that down
11:14 jnthn Indeed
11:14 FROGGS I will do only RT tickets in near future I guess... in case there are some that I can do
11:15 Ven joined #perl6
11:17 jnthn I'm sure there will be :)
11:17 timotimo RabidGravy: you can build a role that "marks" all methods that you want to delegate
11:18 timotimo and then "... handles MyRole"
11:18 * jnthn will do some more RTs soon...but lunch first :)
11:19 RabidGravy timotimo, ah hah! yes of course
11:20 Ven m: role A[::T] {}; sub f(A[::T])
11:20 camelia rakudo-moar 9ed857: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol T␤»
11:20 Ven m: role A[::T] {}; sub f(A[::T]) { say T.perl }
11:20 camelia rakudo-moar 9ed857: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol T␤»
11:21 tinyblak joined #perl6
11:21 Ven I'm not sure I get that error
11:21 Ven (I mean -- I get *why* it happens, but isn't ::T supposed to work here?)
11:24 TEttinger m: [+] ^100^3
11:24 camelia rakudo-moar 9ed857: ( no output )
11:24 TEttinger m: say [+] ^100^3
11:24 camelia rakudo-moar 9ed857: OUTPUT«one(100, 3)␤»
11:24 TEttinger huh
11:25 TEttinger m: say [+] ^(100^3)
11:25 camelia rakudo-moar 9ed857: OUTPUT«one(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65…»
11:25 TEttinger nooooo
11:25 Ven m: say (100 ^ 50)
11:25 camelia rakudo-moar 9ed857: OUTPUT«one(100, 50)␤»
11:25 Ven m: say so 50 == 100 ^ 50)
11:25 camelia rakudo-moar 9ed857: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1vudac6KhC␤Unexpected closing bracket␤at /tmp/1vudac6KhC:1␤------> 3say so 50 == 100 ^ 507⏏5)␤»
11:25 Ven m: say so 50 == 100 ^ 50 # whoops
11:25 camelia rakudo-moar 9ed857: OUTPUT«True␤»
11:25 TEttinger is there an exponentiation op?
11:25 Ven m: say 50 ** 4
11:25 camelia rakudo-moar 9ed857: OUTPUT«6250000␤»
11:25 TEttinger m: say [+] ^100**3
11:25 camelia rakudo-moar 9ed857: OUTPUT«499999500000␤»
11:25 TEttinger nice
11:25 TEttinger golf winnar
11:26 TEttinger m: say [+]^100**3 # curious
11:26 camelia rakudo-moar 9ed857: OUTPUT«one(0, 1000000)␤»
11:26 TEttinger ha
11:31 timotimo jnthn: you remember my little SMOP? :)
11:34 bartolin m: class A { has @.ints }; my $one = A.new; $one.ints = [1, 2]; say $one.ints.elems
11:34 camelia rakudo-moar 9ed857: OUTPUT«1␤»
11:35 bartolin m: class A { has @.ints }; my $one = A.new( ints => [1, 2] ); say $one.ints.elems
11:35 camelia rakudo-moar 9ed857: OUTPUT«2␤»
11:36 bartolin I wonder whether that's correct
11:37 timotimo m: my @foo; @foo = [1, 2]; say @foo.elems
11:37 camelia rakudo-moar 9ed857: OUTPUT«1␤»
11:37 bartolin RT #123757 seems to state that the second evaluation shoud give 1 as well.
11:37 timotimo probably should
11:37 masak no please no
11:37 bartolin but we have a test for RT #74636 which seems to go with itemization
11:37 bartolin masak: ?
11:37 masak I fought at one point for the second evaluation giving 2.
11:37 timotimo oh
11:38 masak it still seems like an eminently good idea to me
11:38 timotimo listen to the masak with the experience
11:38 masak let's at least please discuss this first
11:38 Ven m: class A { has @.ints; submethod BUILD(:@.ints) {} }; my $one = A.new( ints => [1, 2] ); say $one.ints.elems
11:38 camelia rakudo-moar 9ed857: OUTPUT«2␤»
11:39 masak `my @foo = 1, 2; say A.new( ints => @foo ).ints.elems;` -- 1 or 2?
11:39 Ven two
11:39 masak agreed.
11:39 masak so `ints => [1, 2]` should also give 2
11:40 masak not a very solid argument, but maybe the beginning of a solid one
11:40 Ven I don't understand the argument. (1, 2) is (*currently*) different from [1,2]
11:40 masak basically, list assignment is not the same as attr initialization by constructor argument
11:41 Ven m: class A { has @.ints }; my $one = A.new( ints => (1, 2, (3, (4,))) ); say $one.ints.elems
11:41 camelia rakudo-moar 9ed857: OUTPUT«4␤»
11:41 masak if GLR makes that one into 3, I'm fine with that.
11:42 masak I'm talking specifically about [] DWIMming when passing constructor arguments.
11:42 masak I could probably dig up a very old RT ticket about this, too.
11:42 Ven m: class A { has @.ints; }; my $one = A.new( ints => $(1, 2) ); say $one.ints.elems
11:42 camelia rakudo-moar 9ed857: OUTPUT«2␤»
11:42 masak I remember discussing this in 2010 with mberends and jnthn, in the back of a car moving some of jnthn's stuff to .se
11:43 Ven (I don't have an opinion on that, FWIW. I can agree with both point of views)
11:43 bartolin masak++ # stories from the past ;-)
11:43 kurahaupo joined #perl6
11:44 Ven masak: what do you think of http://irclog.perlgeek.de/perl6/2015-06-20#i_10777713 ?
11:44 masak I'll also try to dig up the spec change that made things more in line with what I'm arguing for now.
11:45 Ven m: class A{}; role T[A]{}; T[5]; # <- doesn't fail
11:45 camelia rakudo-moar 9ed857: ( no output )
11:45 Ven m: class A{}; role T[A]{}; T[5].perl.say; # <- but does here
11:45 camelia rakudo-moar 9ed857: OUTPUT«No appropriate parametric role variant available for 'T'␤  in any specialize at src/gen/m-Metamodel.nqp:2437␤  in any specialize at src/gen/m-Metamodel.nqp:2031␤  in any compose at src/gen/m-Metamodel.nqp:2747␤  in any make_pun at src/gen/m-Metamod…»
11:46 masak Ven: I... think that's the first time I see a type capture inside a [] after a role in a type signature.
11:46 masak Ven: I agree it'd be lovely if that worked, but I'm not sure how realistict it is to expect it to work.
11:46 masak Ven: either way, please rakudobug it.
11:46 Ven I might've pasted another one like that before, not sure if that's been rakudobugged though
11:46 Ven I think jnthn++'s answer was a bit of the same :-)
11:47 Ven masak: well, I'm just wondering -- how could I write a polymorphic reverse?
11:47 timotimo jnthn: it could very well be that send-more-money-subs doesn't lower one of the sigs because the choose and guard subs take an &-sigiled variable and the lowerer doesn't check for that
11:47 Ven m: multi role T[5] { method f { "first" } }; multi role T[6] { method f { "second " } }; say T[6].f;
11:47 camelia rakudo-moar 9ed857: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1GKegXIpAh␤Missing block␤at /tmp/1GKegXIpAh:1␤------> 3multi role7⏏5 T[5] { method f { "first" } }; multi ro␤    expecting any of:␤        new name to be defined␤»
11:47 Ven m: role T[5] { method f { "first" } }; role T[6] { method f { "second " } }; say T[6].f;
11:48 camelia rakudo-moar 9ed857: OUTPUT«second ␤»
11:48 Ven m: role T[5] { method f { "first" } }; role T[6] { method f { "second " } }; BEGIN say T[6].f;
11:48 camelia rakudo-moar 9ed857: OUTPUT«second ␤»
11:49 timotimo hm, i don't think that's it
11:50 masak bartolin, timotimo: found the relevant backlog: http://irclog.perlgeek.de/perl6/2010-03-07#i_2073494
11:50 masak <pmichaud> masak: we're still working out list issues, sadly.
11:50 masak (from 2010!)
11:51 masak yeah, good thing we managed to get past that stage! :P:P:P
11:51 bartolin masak: thanks a lot for digging!
11:51 * bartolin reads
11:53 masak m: class A { has @.ints }; my @ints = 1, 2; my $a = A.new(:@ints); say $a.ints.elems; @ints.push(3); $a.ints.elems
11:53 camelia rakudo-moar 9ed857: OUTPUT«2␤»
11:53 masak m: class A { has @.ints }; my @ints = 1, 2; my $a = A.new(:@ints); say $a.ints.elems; @ints.push(3); say $a.ints.elems
11:53 camelia rakudo-moar 9ed857: OUTPUT«2␤2␤»
11:53 Ven (there's no way to access type parameters from "outside", right? like List[Int].^something
11:53 Ven )
11:53 masak seems we got it exactly right since that backlog in 2010.
11:53 masak Ven: .of ?
11:54 Ven masak: in the case of List, yes :). I meant a more general "role A[::X] {}; say A[Int]::X" (or .X)
11:54 masak m: my Array[Int] $l; say $l.of
11:54 camelia rakudo-moar 9ed857: OUTPUT«(Int)␤»
11:54 masak Ven: then why ask the more specific question? I'm confused.
11:55 nys joined #perl6
11:55 Ven masak: that's why my question said "type parameters", but yeah :)
11:55 masak ok.
11:56 masak anyway, I think the answer to your general question is "no, unfortunately not"
11:58 Ven masak: (just in case, the stuff I was trying to do lives here: https://github.com/vendethiel/6meta-experiments/blob/master/church.pl#L18 )
11:58 cognominal joined #perl6
12:08 diana_olhovik joined #perl6
12:17 timotimo multi sub squish(*@values, |c) { @values.squish(|c) }
12:17 timotimo oh, i was about to ask "what is this", but it's just %*
12:17 timotimo basically
12:19 masak vendethiel: thank you for pushing the limits of Perl 6 implementations the way you do. I find it very interesting.
12:20 timotimo we don't lower the signature of Capture.new, which is     method new(:@list,:%hash) {
12:21 vendethiel masak: you must not consider yourself an "implementor" for thanking me *g*
12:21 vendethiel (but really, thank everyone who did that in other languages / papers in literature / etc. I'm barely trying to translate it to p6)
12:22 masak vendethiel: I'm actually not sure whether I consider myself an implementor. but I see what you mean ;)
12:23 masak vendethiel: I am invested in Perl 6 converging on solid theory in cases like this.
12:24 AlexDaniel joined #perl6
12:24 Ven joined #perl6
12:24 Ven masak: I'm very scared by all the possible interactions. But perl6 is *consistent* at its core, or cheats really well to get there :)
12:25 masak walk &
12:26 timotimo aha!
12:27 timotimo it's quite possible that the slow-path binder gets invoked because Setty's submethod BUILD (does it even get called if it comes in from a role?) doesn't get lowered
12:27 timotimo submethod BUILD (:%!elems)  { self }
12:29 TEttinger I'm trying to wrap my head around some of the rubyish code from the course. https://github.com/perl6/nqp/blob/master/examples/rubyish/rubyish.nqp#L694-L704
12:30 TEttinger it assigns to $var , it puts it in the block[0] , but then later it does a make on a different variable
12:30 Ven also funny that this works:
12:31 Ven m: my role X[::T] { my T $x; method f { say $x.perl } }; say X[Int].f;
12:31 camelia rakudo-moar 9ed857: OUTPUT«Int␤True␤»
12:31 TEttinger is the make really putting an identifier into the AST, not making a new Var ?
12:31 Ven but this doesn't:
12:31 Ven m: my role X[::T] { method create(--> T) { T.new } }; say X[Int].create; say Int.new;
12:31 camelia rakudo-moar 9ed857: OUTPUT«Type check failed for return value; expected 'T' but got 'Int'␤  in any return_error at src/vm/moar/Perl6/Ops.nqp:650␤  in method create at /tmp/abDgsxjbd5:1␤  in any  at src/gen/m-Metamodel.nqp:1643␤  in block <unit> at /tmp/abDgsxjbd5:1␤␤»
12:32 cognominal joined #perl6
12:32 _mg_ joined #perl6
12:32 timotimo TEttinger: it looks like $block.symbol is also a setter, more or less
12:33 timotimo TEttinger: also, pushing something onto a block's first child is what you do to add lexical definitions properly
12:33 timotimo and the thing it makes is a reference to the created variable
12:33 TEttinger oh ok
12:33 timotimo you can see the difference in whether or not :decl is present
12:34 TEttinger so it's returning a reference regardless, but if it isn't declared already, it declares it first?
12:34 TEttinger got it
12:36 timotimo sounds sensible to me
12:39 jnthn timotimo: It's entirely possible we don't know how to compile attributive param binds, yes
12:39 timotimo yes, we bail out for that explicitly
12:39 timotimo i was thinking i could probably implement it easily
12:40 dalek rakudo/nom: 6bba8ab | jnthn++ | src/Perl6/Grammar.nqp:
12:40 dalek rakudo/nom: Fix bad error on redeclaring an enum element.
12:40 dalek rakudo/nom:
12:40 dalek rakudo/nom: Fixes RT #125441.
12:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6bba8ab0a6
12:40 dalek roast: 7404f8c | jnthn++ | S32-exceptions/misc.t:
12:40 dalek roast: Test for RT #125441.
12:40 dalek roast: review: https://github.com/perl6/roast/commit/7404f8c5ca
12:40 jnthn timotimo: I think it shoudln't be too bad to do, yeah
12:43 Woodi hallo #perl6 :)
12:44 dalek roast: dbf53cb | usev6++ | S12-attributes/instance.t:
12:44 dalek roast: Add tests for RT #118559 and RT #120059
12:44 dalek roast: review: https://github.com/perl6/roast/commit/dbf53cb4b1
12:45 Woodi skids: what exactly must-haves Emacs have ? maybe rest of the World could use thes too ? :)
12:47 Ven Woodi: evil-mode :P
12:48 dalek roast: f86283d | jnthn++ | S12-introspection/meta-class.t:
12:48 dalek roast: No longer have prefix ^ meaning "HOW".
12:48 dalek roast:
12:48 dalek roast: Resolves RT #125016.
12:48 dalek roast: review: https://github.com/perl6/roast/commit/f86283d157
12:51 Woodi Ven: but this is vi4emacs, I thinked skids was talking about something in emacs what is missed anywhere else
12:52 dalek roast: 3a01073 | jnthn++ | S12-introspection/meta-class.t:
12:52 dalek roast: .^layout is spelled .REPR these days; update test.
12:52 dalek roast:
12:52 dalek roast: Resolves RT #125018.
12:52 dalek roast: review: https://github.com/perl6/roast/commit/3a01073294
12:52 Woodi anyway I prefer to do not play with any evil(s) :)
12:53 Ven joined #perl6
12:56 dalek rakudo/nom: a0fa1a7 | jnthn++ | src/core/operators.pm:
12:56 dalek rakudo/nom: Add HOW(...); it's mentioned in spec and tested.
12:56 dalek rakudo/nom:
12:56 dalek rakudo/nom: And is consistent with having WHAT and VAR.
12:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a0fa1a72cd
12:57 Ven jnthn: shouldn't that "Wants" become "Want" them?
12:57 Woodi masak: "model refactoring" looks a bit like ORM layer and it would be simplest way for some tool. I think Positional role is step in such direction. now we need a meta roles that know how to automatically convert things :)
12:57 spintronic joined #perl6
12:57 jnthn Like I know how to English...
12:58 timotimo now i've changed the output of my "failure to lower signature" complain sub so that vim understands it
12:58 dalek roast: 4ee860b | jnthn++ | S12-introspection/meta-class.t:
12:58 dalek roast: Unfudge test for HOW(...).
12:58 dalek roast: review: https://github.com/perl6/roast/commit/4ee860b435
12:58 * colomon imagines Englishing involves walking around saying “What, what” and “Sorry old chap”
12:58 Ven m: macro MYHOW($x) { quasi { {{{$x}}}.HOW } }; say MYHOW(3);
12:58 camelia rakudo-moar 9ed857: OUTPUT«Perl6::Metamodel::ClassHOW.new␤»
13:00 Woodi so  <?foo> is zero-width lookahead and it do not moe cursor... what it do ? marks some bit in engine and allows to construct some  if(<?foo>) then { ... }   ?
13:01 Woodi *move
13:01 timotimo what engine?
13:03 timotimo jnthn: are you aware we seem to bail out of every method defined in a role because type_captures is set? at least it seems to be that way
13:05 timotimo um
13:06 timotimo or maybe that's the signature of the role itself?
13:08 jnthn Probably that of the role itself
13:08 [ptc] colomon: there's probably a lot of "quite", "indeed" and "rather" as well ;-)
13:08 jnthn I think we'd be seeing a lot more bails otherwise.
13:09 timotimo yes, you are right
13:09 Woodi timotimo: the thingie that moves corsor :) I assumed it's about grammars
13:09 timotimo Woodi: that's correct. where does "if(<?foo>) then { ... }" come from? that doesn't seem like anything in perl6
13:10 timotimo jnthn: what's tricky about doing     method new(:@list,:%hash) {
13:10 Woodi no 'if's. just description how it could work...
13:10 timotimo it seems like it's a bail because we don't have a default value for @list
13:10 jnthn timotimo: Not sure without looking. Is it perhaps optional array/hash args?
13:11 timotimo yeah
13:11 timotimo i just put a ! at the end to see if the bail disappears :)
13:15 timotimo hm. i have no idea what nominal_generic does
13:16 timotimo "this can happen in (::T, T)"
13:18 timotimo hm. we quite often have ::?CLASS:D in signatures just because we want the :D, but don't necessarily know the class
13:18 timotimo that keeps the binder lowerer from lowering
13:20 timotimo bind_accessor being set in %info is never the reason for a bail
13:21 dalek rakudo/nom: 936ef82 | jnthn++ | src/Perl6/Grammar.nqp:
13:21 dalek rakudo/nom: Allow invocant colon at EOF.
13:21 dalek rakudo/nom:
13:21 dalek rakudo/nom: Fixes RT #125440.
13:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/936ef82c46
13:21 dalek roast: 8724f14 | jnthn++ | S12-methods/indirect_notation.t:
13:21 dalek roast: Test for RT #125440.
13:21 dalek roast: review: https://github.com/perl6/roast/commit/8724f143b4
13:22 jnthn timotimo: Hm, the ::?CLASS:D one is probably fixable
13:22 timotimo i thought it would be, but i'm not 100% sure how. just detecting it's ::?CLASS and as such we don't actually set the value of ::?CLASS
13:22 timotimo and also ::?CLASS: is never actually worth a type check
13:23 timotimo hm. actually ... not never
13:23 jnthn It can matter
13:23 timotimo like if we .^find_method for example
13:23 jnthn Well, it's more that we should emit code to look up the type var
13:23 jnthn (lexically)
13:23 timotimo fair enough
13:23 jnthn There's even a typevar scope iirc
13:24 jnthn So that spesh would know that it can cache the lookup if it's specializing on invocant type
13:24 jnthn Which means it could even eliminate the type check
13:24 timotimo i'm more worried about the reason why :%!config, for example, bails out because of "no default value, but we have a % sigil"
13:25 timotimo that means it doesn't properly set bind_accessor in the %info hash
13:25 timotimo oh, hold on
13:25 timotimo bind_accessor is for %.config
13:25 timotimo bind_attr is for ! twigils
13:26 timotimo and we do support that
13:26 AlexDaniel timotimo: p6monthly :(
13:26 AlexDaniel :)
13:26 timotimo i've been a bit tuitdrained and i - for some reason - didn't ask lizmat for assistance
13:31 jnthn errands &
13:35 araujo joined #perl6
13:38 dalek Inline-Perl5: 54672b6 | (Stefan Seifert)++ | t/from.t:
13:38 dalek Inline-Perl5: Simplify test code a bit by using "new" features.
13:38 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/54672b64e5
13:40 dalek Inline-Perl5: db5dff2 | (Stefan Seifert)++ | README.md:
13:40 dalek Inline-Perl5: Major documentation update.
13:40 dalek Inline-Perl5:
13:40 dalek Inline-Perl5: Added documentation for all implemented features.
13:40 dalek Inline-Perl5: Updated examples to reflect the development of the past months.
13:40 dalek Inline-Perl5: Document more details like return values.
13:40 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/db5dff21e6
13:40 timotimo m: sub test(:@arr) { say @arr.perl }; test();
13:40 camelia rakudo-moar a0fa1a: OUTPUT«[]<>␤»
13:40 timotimo m: sub test(:@arr) { say @arr.DUMP }; test();
13:40 camelia rakudo-moar a0fa1a: OUTPUT«Array<1>(␤    :$!flattens(True),␤    :$!items(▶Mu),␤    :$!nextiter(▶Mu)␤)␤»
13:41 timotimo m: say Array.new().perl
13:41 camelia rakudo-moar a0fa1a: OUTPUT«[]<>␤»
13:41 timotimo m: say Array.new().DUMP
13:41 camelia rakudo-moar a0fa1a: OUTPUT«Array<1>(␤    :$!flattens(True),␤    :$!items(▶Mu),␤    :$!nextiter(ListIter<4>(␤        :$!list(=Array<1>),␤        :$!reified(▶Mu),␤        :$!nextiter(▶Mu),␤        :$!rest(BOOTArray<5>())␤    ))␤)␤»
13:43 dalek roast: 21babba | usev6++ | S04-exceptions/fail.t:
13:43 dalek roast: Unfudge test for RT #115436
13:43 dalek roast: review: https://github.com/perl6/roast/commit/21babbaaf9
13:47 timotimo ah, i know what i have to do:
13:48 timotimo m: use nqp; my $a := nqp::create(Array); nqp::bindattr($a, List, '$!flattens', True); say $a.dump;
13:48 camelia rakudo-moar a0fa1a: OUTPUT«Method 'dump' not found for invocant of class 'Array'␤  in block <unit> at /tmp/OJ33USE0Ix:1␤␤»
13:48 timotimo m: use nqp; my $a := nqp::create(Array); nqp::bindattr($a, List, '$!flattens', True); say $a.DUMP;
13:48 camelia rakudo-moar a0fa1a: OUTPUT«Array<1>(␤    :$!flattens(True),␤    :$!items(▶Mu),␤    :$!nextiter(▶Mu)␤)␤»
13:48 timotimo m: use nqp; my $a := nqp::create(Array); say $a.DUMP;
13:48 camelia rakudo-moar a0fa1a: OUTPUT«Array<1>(␤    :$!flattens(▶Mu),␤    :$!items(▶Mu),␤    :$!nextiter(▶Mu)␤)␤»
13:48 timotimo right.
13:50 _mg_ joined #perl6
13:55 timotimo m: use nqp; my $a := nqp::bindattr(nqp::create(Array), List, '$!flattens', True); say $a.DUMP;
13:55 camelia rakudo-moar 936ef8: OUTPUT«True␤»
13:55 timotimo damn, it doesn't return its first param :(
13:56 aborazmeh joined #perl6
13:56 aborazmeh joined #perl6
13:58 skids joined #perl6
14:01 Sqirrel joined #perl6
14:04 brrt joined #perl6
14:05 * timotimo commutes
14:05 brrt \o
14:07 domidumont joined #perl6
14:10 xxx joined #perl6
14:11 domidumont joined #perl6
14:13 ugexe ultimately should a package/module manager only build/test/install items listed in the `provides`?
14:14 ugexe as in, it shouldnt walk the directories looking for files
14:15 Aurelie joined #perl6
14:16 ugexe also regarding `provides`, is having 2 unit names point to the same file OK? A => lib/module.pm, B => lib/module.pm
14:20 domidumont joined #perl6
14:21 Ven joined #perl6
14:22 brrt ugexe: counterargument: source code should be authorative over some configuration file
14:23 ugexe the source code doesnt link to files
14:23 ugexe you need to map the source's use/require whatever to a file name somehow
14:23 brrt hmm
14:23 brrt i see what you mean
14:24 brrt having the full fileset in a module explicit would be a big advantage in precompilation / packaging scenario
14:27 skids jnthn++ RT slaughtering
14:31 ugexe brrt: the other thing is you still need to find which files are part of a package. In the best case scenario you just look at the provides in META.info. The other way is to do a recursive file search for all .pm/.pm6 files from a base directory and try to precompile them... maybe this is ok, but if extra stuff ends up in that directory later it may try to precompile/run code that doesnt belong belong to the c
14:31 ugexe rusty old repo you thought you were installing
14:31 yqt joined #perl6
14:33 brrt hmmm
14:33 brrt yes
14:33 RabidGravy can I reliably do this:
14:33 RabidGravy m: my $a = sub foo() returns Bool {} ; my $b = $a.signature.returns; say $b(0)
14:33 camelia rakudo-moar 936ef8: OUTPUT«False␤»
14:33 RabidGravy for all built in types?
14:34 ugexe i hope so, thats nifty
14:41 aborazmeh joined #perl6
14:41 aborazmeh joined #perl6
14:42 timotimo m: say Bool(0); say Int(0); say List(0)
14:42 camelia rakudo-moar 936ef8: OUTPUT«False␤0␤0␤»
14:42 timotimo m: say Bool(0).perl; say Int(0).perl; say List(0).perl
14:42 camelia rakudo-moar 936ef8: OUTPUT«Bool::False␤0␤(0,)␤»
14:50 moritz no
14:51 moritz you can't create a Code object like that, for example
15:00 RabidGravy sorry, not quite sure what you mean
15:00 timotimo m: Code(0).perl.say
15:00 camelia rakudo-moar 936ef8: OUTPUT«(signal SEGV)»
15:00 timotimo ^- he means that
15:00 RabidGravy oh, I see
15:02 ugexe joined #perl6
15:03 cognominal jnthn empties RT faster than masak can pour :)
15:07 RabidGravy but for a given type $a and type $b where $b.can($a.perl) one can do $a($b)
15:07 RabidGravy I think that's safe
15:07 lizmat timotimo: I will do the P63W next Monday then?
15:08 timotimo for 63 weeks?
15:08 timotimo wow, ambitious!
15:08 timotimo but yeah, i'd appreciate it
15:08 nwc10 I think it's the Perl 3 for 6 weeks. Or something like that :-)
15:09 timotimo %)
15:11 lizmat nononono  It's the new Perl 63  :-)    that's 9 * 7 to you   :-)
15:15 brrt perl 61 would be prime
15:17 timotimo a prime example
15:17 huf why restrict yourself to just traditional numbers? what about perl galoshty-four?
15:22 jnthn FROGGS: Didn't you implement ignoremark already? If so, is https://rt.perl.org/Ticket/Display.html?id=116256 resolvable?
15:23 kurahaupo joined #perl6
15:36 jnthn m: say "ü" ~~ /:ignoremark 'u'/
15:36 camelia rakudo-moar 936ef8: OUTPUT«Nil␤»
15:37 jnthn m: say "ü" ~~ /:m 'u'/
15:37 camelia rakudo-moar 936ef8: OUTPUT«Nil␤»
15:37 jnthn hm, mebbe not
15:39 bartolin m: say "ü" ~~ m:ignoremark/ u /
15:39 camelia rakudo-moar 936ef8: OUTPUT«「ü」␤»
15:40 dalek rakudo/nom: bbc369b | jnthn++ | src/Perl6/Optimizer.nqp:
15:40 dalek rakudo/nom: Do not inline blocks with exit handlers.
15:40 dalek rakudo/nom:
15:40 dalek rakudo/nom: Otherwise, we'll miss running any LEAVE, POST, etc. Fixes RT #113950.
15:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bbc369b44b
15:40 setty1 joined #perl6
15:41 dalek roast: f15b126 | jnthn++ | S04-phasers/enter-leave.t:
15:41 dalek roast: Unfudge test for RT #113950.
15:41 dalek roast: review: https://github.com/perl6/roast/commit/f15b126691
15:41 jnthn Another one down.
15:42 bartolin jnthn++
15:42 jnthn Hm, and now let's see if I can fix one that goes all the way back to 2010...
15:43 brrt \o/
15:43 jnthn Filed by masak, of course...
15:43 jnthn :)
15:43 FROGGS m: say "ü" ~~ /:ignoremark 'u'/
15:43 camelia rakudo-moar 936ef8: OUTPUT«Nil␤»
15:44 FROGGS m: say "ü" ~~ /:m 'u'/
15:44 camelia rakudo-moar 936ef8: OUTPUT«Nil␤»
15:44 FROGGS ahh
15:44 FROGGS hmmm
15:44 jnthn heh, glad the ticket found an actual bug
15:45 FROGGS jnthn: yes, should be doable without much fuzz
15:45 jnthn Yeah, I figured you already did the hart part :)
15:45 jnthn uh, hard
15:45 bartolin well, schwierig :-)
15:49 FROGGS jnthn: will fix it this evening, dont wanna switch branches right now
15:49 silug joined #perl6
15:49 jnthn m: class A { submethod m() { } }; class B is A { }; B.m
15:49 camelia rakudo-moar 936ef8: OUTPUT«Method 'm' not found for invocant of class 'B'␤  in block <unit> at /tmp/uxkvnmpXLh:1␤␤»
15:49 espadrine joined #perl6
15:49 jnthn m: class A { submethod m() is default { } }; class B is A { }; B.m
15:49 camelia rakudo-moar 936ef8: ( no output )
15:52 moritz m: say "ä" ~~ /:m a/
15:52 camelia rakudo-moar 936ef8: OUTPUT«「ä」␤»
15:53 moritz m: say "ä" ~~ /:m zkya/
15:53 camelia rakudo-moar 936ef8: OUTPUT«Nil␤»
15:53 moritz we can't do the index search when :m is in scope
15:53 dalek rakudo/nom: a59d812 | usev6++ | src/core/Mu.pm:
15:53 dalek rakudo/nom: Use nqp::decont on attributes passed with .clone
15:53 dalek rakudo/nom:
15:53 dalek rakudo/nom: Fixes RT #120059
15:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a59d81207f
15:53 dalek rakudo/nom: f658992 | lizmat++ | src/core/Mu.pm:
15:53 dalek rakudo/nom: Merge pull request #443 from usev6/clone_attributes
15:53 dalek rakudo/nom:
15:53 dalek rakudo/nom: Use nqp::decont on attributes passed with .clone
15:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f658992144
15:53 FROGGS moritz: good catch
15:53 FROGGS m: say "ä" ~~ m:m/zkya/
15:53 camelia rakudo-moar 936ef8: OUTPUT«False␤»
15:54 * moritz wonders if he did that optimization in rakudo or in nqp
15:54 FROGGS m: say "ü" ~~ m:ignoremark/ au /
15:54 camelia rakudo-moar 936ef8: OUTPUT«False␤»
15:54 FROGGS I thought that gets tested...
15:56 zostay m: sub x { }; GLOBAL::<&x>.perl.say
15:56 camelia rakudo-moar 936ef8: OUTPUT«Any␤»
15:57 zostay m: sub x { }; GLOBAL::.perl.say
15:57 camelia rakudo-moar 936ef8: OUTPUT«{}<>␤»
15:57 zostay are the symbol tables not being populated yet or am i missing something?
15:57 jnthn Subs are lexical by default.
15:58 dalek rakudo/nom: be122ad | lizmat++ | lib/Test.pm:
15:58 dalek rakudo/nom: Fix 2 throws_like omissions
15:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/be122ad72c
15:58 zostay m: our sub x { }; GLOBAL::.perl.say
15:58 camelia rakudo-moar 936ef8: OUTPUT«{"\&x" => sub x () { #`(Sub|44146728) ... }}<>␤»
15:58 zostay thx
16:07 moritz the index_s optimization already checks for 'ignorecase', 'ignoremark' and 'ignorecase+ignoremark'
16:12 rindolf joined #perl6
16:21 uncleyear joined #perl6
16:24 lolisa joined #perl6
16:27 brrt left #perl6
16:29 araujo joined #perl6
16:34 RabidGravy okay going, going back to the earlier casting thing,is there a generalised way of testing whether one can cast  the value of variable $a to type $b?  my previous assumption doesn't work for enums
16:36 itz_ :p for pipe seen at: src/gen/m-CORE.setting, line 18605 Deprecated since v2015.6, will be removed with release v2015.9! Please use pipe($path,...) instead.
16:36 timotimo itz_: yeah, we saw that :S
16:36 timotimo FROGGS is dilligently at work in that area
16:36 timotimo and i believe this issue is already on his radar
16:37 itz_ ah yes sorry I should have checked scrollback
16:37 timotimo no worries
16:40 dalek rakudo/nom: 784ce58 | jnthn++ | / (4 files):
16:40 dalek rakudo/nom: Add Perl6::Metamodel::Configuration.
16:40 dalek rakudo/nom:
16:40 dalek rakudo/nom: Lets us factor out various bits of configuration we do on the MOP so
16:40 dalek rakudo/nom: we can share the data easily amongst various meta-objects. Use it to
16:40 dalek rakudo/nom: clean up the stash type handling.
16:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/784ce58f4a
16:40 dalek rakudo/nom: 425679e | jnthn++ | src/Perl6/Metamodel/ (3 files):
16:40 dalek rakudo/nom: Fix fragile submethod testing.
16:40 dalek rakudo/nom:
16:40 dalek rakudo/nom: We would fail to consider a submethod with a role mixed in to be a
16:40 dalek rakudo/nom: submethod.
16:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/425679eb65
16:40 dalek roast: b99ebea | jnthn++ | S14-traits/routines.t:
16:40 dalek roast: Test submethods and traits interaction.
16:40 dalek roast:
16:40 dalek roast: Covers a (seemingly unreported) bug discovered while investigating a
16:40 dalek roast: different RT.
16:40 dalek roast: review: https://github.com/perl6/roast/commit/b99ebea8c9
16:40 dalek roast: a63aa1d | jnthn++ | S05-grammar/methods.t:
16:40 dalek roast: Don't be case-sensitive in text test.
16:40 dalek roast: review: https://github.com/perl6/roast/commit/a63aa1d25b
16:40 jnthn shoppin n cookin &
16:41 oetiker_ joined #perl6
16:50 timotimo is enter-leave failing for other people as well?
16:53 timotimo ah, i probably just got that in via rebase
16:54 dalek Inline-Perl5/fix_precomp: be6e160 | (Stefan Seifert)++ | / (3 files):
16:54 dalek Inline-Perl5/fix_precomp: WiP
16:54 dalek Inline-Perl5/fix_precomp: review: https://github.com/niner/Inline-Perl5/commit/be6e1605f6
16:59 muethos joined #perl6
17:06 _mg_ joined #perl6
17:11 dalek rakudo/nom: 70c5bc5 | timotimo++ | src/Perl6/Actions.nqp:
17:11 dalek rakudo/nom: we can now lower signature binding with optional @ and % vars.
17:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/70c5bc53d5
17:14 dha joined #perl6
17:16 dalek Inline-Perl5: fdc218f | (Stefan Seifert)++ | / (3 files):
17:16 dalek Inline-Perl5: Support P6 objects with overloaded stringification
17:16 dalek Inline-Perl5:
17:16 dalek Inline-Perl5: A Perl 6 object's Str() method will now be called when the object
17:16 dalek Inline-Perl5: is used as string in Perl 5 code. This is for example most helpful
17:16 dalek Inline-Perl5: when a Perl 6 exception is cought by Perl 5 code that just tries
17:16 dalek Inline-Perl5: to print the error message.
17:16 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/fdc218f5f3
17:19 LonelyGM joined #perl6
17:23 tony-o m: use MONKEY-TYPING; augment class Mu { method ddump { "ddump".say; } }; my Int $a = 5; $a.ddump
17:23 camelia rakudo-moar be122a: OUTPUT«Method 'ddump' not found for invocant of class 'Int'␤  in block <unit> at /tmp/23lpzqhIxK:1␤␤»
17:29 timotimo known problem; we don't propagate changes down the inheritance chain yet
17:32 flussence m: 'hello world'.encode('ASCII').index(Buf.new(0x20))
17:32 camelia rakudo-moar be122a: OUTPUT«Method 'index' not found for invocant of class 'Blob[uint8]'␤  in block <unit> at /tmp/XAdWxbWsU7:1␤␤»
17:35 muethos joined #perl6
17:36 tony-o timotimo: ty
17:36 * flussence wishes Bufs had all the string methods that could be made to work sensibly...
17:36 tony-o m: 'hello world'.encode('ASCII').index(Buf.new(0x20).decode('ascii'))
17:36 camelia rakudo-moar be122a: OUTPUT«Method 'index' not found for invocant of class 'Blob[uint8]'␤  in block <unit> at /tmp/d5dHVCe8DM:1␤␤»
17:36 tony-o oops
17:39 flussence that one in particular is LHF, because it could just call strstr
17:40 Sqirrel joined #perl6
17:47 dalek roast: cad696a | usev6++ | S12-attributes/instance.t:
17:47 dalek roast: Unfudge test for RT #120059
17:47 dalek roast: review: https://github.com/perl6/roast/commit/cad696a3aa
17:47 bartolin is it just me or is the jvm build broken atm?
17:50 bartolin (I get a NullPointerException in 'add_method' (from src/Perl6/Metamodel/MethodContainer.nqp))
17:51 lolisa joined #perl6
17:58 xinming I saw that in ::=  the example does something like  { my $*OUT ::= open(...); dosomething... }      <--- Isn't this example contradicting with the dyanmic scoped var with 'temp'???
17:59 xinming Just curious what are the differences between the   { my $*OUT .. }  and  { templ $*OUT ... }   in this case.
18:01 kst joined #perl6
18:01 xinming It's in design.perl6.org/S03.html   under the introduction about ::=
18:10 xinming And another question,  Why is andthen uses $_ but orelse uses $!    Doesn't make much sense to me. seems to be inconsistent. Just to indicate orelse is "error" ?
18:17 RabidGravy is there any way of knowing whether a type object is *really* Mu , obviously $type ~~ Mu is always True
18:17 hoelzro =:= should do it, right?
18:17 hoelzro m: Any =:= Mu
18:17 camelia rakudo-moar be122a: ( no output )
18:17 hoelzro m: Mu =:= Mu
18:17 camelia rakudo-moar be122a: ( no output )
18:17 hoelzro m: say(Any =:= Mu)
18:17 camelia rakudo-moar be122a: OUTPUT«False␤»
18:18 hoelzro m: say(Mu =:= Mu)
18:18 camelia rakudo-moar be122a: OUTPUT«True␤»
18:18 RabidGravy perfect
18:18 hoelzro camelia: y u no print output?!
18:18 RabidGravy so many operators
18:18 RabidGravy ;-)
18:18 RabidGravy poor little brane not big enuff
18:19 lolisa joined #perl6
18:21 xinming Anyone here would answer my question?   :-)
18:21 hoelzro I think that Perl 6's operators are pretty consistent; =:= follows :=
18:21 Sqirrel joined #perl6
18:21 hoelzro xinming: I don't know about your first question, but I think your assumption about orelse is correct
18:25 xinming Ok, Thanks. Will ask when the next time I re-read the doc from start. :-)
18:30 dha joined #perl6
18:31 dha So, is pod syntax changing in Perl 6?
18:31 yoleaux 17 Jun 2015 23:34Z <b2gills> dha: I sure hope you aren't trying to re-implement the Test::Builder module from Perl 5, which they are currently trying to replace with a better model
18:32 timotimo yeah, we have "pod6" now
18:33 dha In answer to that question, Test::Builder seems to have been implemented already. I'm working on Test-Simple stuff. But I'm probably going to take a break from that to expand heavily on the 5to6 translation docs.
18:33 dha timotimo - great! Where are those changes documented?
18:35 dha (see comment about writing docs above :-)
18:37 dha It suddenly occurs to me that github will be made ill from p6 pod. :-/ Which I guess raises the question: would it be better to just write in p5 pod or plain text and convert to p6 pod later?
18:37 timotimo design.perl6.org has a document on it
18:38 zacts joined #perl6
18:39 dha How fixed is the information in that document?
18:40 timotimo relatively, i suppose
18:40 dha And, I guess for my purposes, is p6 pod a superset of p5 pod, or are there conflicts?
18:41 timotimo i don't know, i never did any perl5
18:42 dha Ah, so I guess what I'm working on is not really of use to you. :-)
18:44 timotimo pod5 to pod6 converter? :)
18:45 zakharyas joined #perl6
18:47 espadrine joined #perl6
18:47 dha I'm sure that would be handy. :-)
18:48 RabidGravy dha: at minimum your p5 pod needs a =begin pod .. =end pod round it and drop =over  .. =back for lists
18:48 RabidGravy most of the rest will work
18:48 dha What do you use for lists in p6?
18:49 dha Just use =item ?
18:49 RabidGravy yeah
18:49 dha And does the requirement of =begin...=end hold for documents that are entirely pod?
18:50 RabidGravy yes (it is still parsed as perl 6)
18:50 dha *nod* Thanks RabidGravy
18:51 dha Oh, that's you. Didn't recognize the new handle. ;-)
18:51 dha Although I probably should have...
18:52 RabidGravy :)
18:53 japhb Oooh, someone (usev6?) fixed a 2-year old RT of mine, nice!
18:53 RabidGravy it was just an accident, I'd been using IRC for the radio station
18:53 dha Ah.
19:05 dalek rakudo/nom: 37ab741 | timotimo++ | src/Perl6/Actions.nqp:
19:05 dalek rakudo/nom: elaborate more on generic archetypes and uncuddle else
19:05 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/37ab74168c
19:09 dalek rakudo/nom: 020b2f2 | hoelzro++ | docs/release_guide.pod:
19:09 dalek rakudo/nom: Remove myself from upcoming releases
19:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/020b2f257a
19:32 dha Ok, so I put a bunch of stuff in @array. then I go "say @array". It prints out the elements with spaces in between them. a) this is the behaviour of 'say "@array"' in p5, so does p6 say autoquote its arguments? Or is there some other thing going on here? b) Is it necessarily space separated, or is there a way of changing that, a la p5's $" var?
19:33 masak (b) no way, at least not currently.
19:33 dha Also, my brain hurts.
19:33 dha ok, that's definitely helpful.
19:33 masak m: my @array = 1, 2, 3; say @array
19:33 camelia rakudo-moar be122a: OUTPUT«1 2 3␤»
19:33 masak m: my @array = 1, 2, 3; say @array.list
19:33 camelia rakudo-moar be122a: OUTPUT«1 2 3␤»
19:33 masak m: my @array = 1, 2, 3; say(|@array)
19:33 camelia rakudo-moar be122a: OUTPUT«123␤»
19:34 masak m: say(1, 2, 3)
19:34 camelia rakudo-moar be122a: OUTPUT«123␤»
19:34 dha I should probably at some point figure out what that pipe character is doing.
19:34 masak this is one way in which (argument) lists and arrays differ.
19:34 masak dha: that pipe character flattens the array into the argument list.
19:35 masak dha: happens automatically in Perl 5 if you pass in a non-reference array.
19:35 dha Right. ok.
19:36 dha I see the difference, but still not clear why the @array, rather than the argument list, gets the behaviour it does.
19:37 masak the proximal reason is that Array has a Str method which puts in the spaces.
19:38 dha So... basically... "Arrays just do that now."
19:38 masak m: my @array = 1, 2, 3; say @array.has("Str"); my $s = @array.Str; say $s
19:38 camelia rakudo-moar be122a: OUTPUT«Method 'has' not found for invocant of class 'Array'␤  in block <unit> at /tmp/s9NkyVZAY1:1␤␤»
19:38 masak m: my @array = 1, 2, 3; say @array.can("Str"); my $s = @array.Str; say $s
19:38 camelia rakudo-moar be122a: OUTPUT«Str Str Str␤1 2 3␤»
19:38 masak m: my @array = 1, 2, 3; say ?@array.can("Str"); my $s = @array.Str; say $s
19:38 camelia rakudo-moar be122a: OUTPUT«True␤1 2 3␤»
19:39 masak dha: you'll have to ask TimToady for a deeper reason than that.
19:39 masak dha: but one difference between Perl 5 and Perl 6 is that arrays *don't* autoflatten. this at least forms the basis for the different behavior in the first place, if not a complete rationale. :)
19:40 dha So, if I'm understanding this right, @array's Str method is automatically invoked when it's used in a context that expects a string, and that stringifies it with the spaces?
19:40 masak aye. you are understanding this right.
19:41 dha The irony here is that I don't know why I'm trying so hard to understand this, since what I was really looking for was whether $" had a p6 equivalent... :-)
19:41 dha Oh good. I like understanding things right. :-)
19:41 * masak hits S28 to look for a $" analog
19:42 masak yeah, S28 says there is none :/
19:42 dha Does it say there will never be?
19:42 bin_005 joined #perl6
19:42 masak I'm not sure it has the authority to say that. :) but it doesn't look like there are plans for any.
19:43 dha For context, I've decided we need more info for people going from p5 to p6, so I'm starting that by going through all the special variables and pointing to what you would use instead in p6.
19:43 masak then S28 is definitely for you.
19:43 dha So, for $" the answer is "You're screwed."
19:43 masak the answer was literally "-" in S28.
19:44 dha How fixed is the information in S28? or any of those documents, for that matter?
19:44 masak it varies. S28 can sometimes get out-of-date with respect to more current documents.
19:44 masak (in this case I have no reason to believe it is, though)
19:45 dha ok. I guess I'll just have to live with that. Thanks for the pointer, though.
19:46 masak S02..S06 and S12 are "core" in some sense, and almost always the most current.
19:46 masak (and they thankfully don't change much these days)
19:47 RabidGravy dha, currently List.Str is literally: "multi method Str(List:D:)     { self.join(' ') }"
19:47 dha Gesundheit. :-)
19:47 dha Actually, most of that makes sense. clearly I'm starting to ingest the Kool-Aid.
19:48 RabidGravy so if one cared one could augment Array with some different implementation or something
19:48 * masak wishes the IT world hadn't landed on a metaphor which involves suicide cults :/
19:54 RabidGravy masak, depends which origin you go for.  It could be (and *I* tend to think of it more as, ) Ken Kesey and the Merry Pranksters rather than Jonestown :)
19:54 bartolin m: my %hash = (a => 42); for %hash.pairs -> $p { $p.value += 100 }; say %hash<a>
19:54 camelia rakudo-moar be122a: OUTPUT«42␤»
19:54 bartolin m: my $pair = (a => 42); for $pair.pairs -> $p { $p.value += 100 }; say $pair<a>
19:54 camelia rakudo-moar be122a: OUTPUT«142␤»
19:55 bartolin ^^ is there a reason for % and $ behaving differently here?
19:55 dha Yeah, I'm going to go with the pranksters.
19:56 sjn_phone_ joined #perl6
19:56 masak RabidGravy: interesting. that seems to also be the origin of the term "acid test" (of CSS fame). unless that term is much older, which is not at all unlikely, come to think of it.
19:57 colomon pretty sure “acid test” goes way way back
19:57 colomon “Any decisive test or ordeal; from the former use of nitric acid to test a metal for its gold content.”
19:57 colomon http://www.thefreedictionary.com/acid+test
19:58 masak oh! I stand corrected.
19:58 masak that makes a whole lot of sense.
19:58 colomon “Acid test is American English, 1892, from the frontier days, when gold was distinguished from similar metals by application of nitric acid.” http://www.etymonline.com/index.php?term=acid
19:59 masak in other words, as most computer terminology, it comes out of California :P
19:59 dha Of course, in the case of the Pranksters, the use of "acid test" was punny.
20:00 dha Ew. $*PROGRAM does not what I expect.
20:01 dha oh. You *have* to explicitly stringify it to get what I was expecting.
20:01 sjn_phone joined #perl6
20:02 masak $*PROGRAM_NAME
20:03 labster_ joined #perl6
20:05 d4l3k_ joined #perl6
20:05 pRiVi_ joined #perl6
20:06 rindolf joined #perl6
20:06 cognominal_ joined #perl6
20:07 BooK_ joined #perl6
20:07 nowan_ joined #perl6
20:07 BinGOs_ joined #perl6
20:07 mephinet- joined #perl6
20:07 bobkare_ joined #perl6
20:07 ilbelkyr_ joined #perl6
20:07 integral_ joined #perl6
20:07 integral_ joined #perl6
20:08 nine_ joined #perl6
20:08 cow-orker joined #perl6
20:08 dha Oh. That's what I get for paying attention to S28, then... :-/
20:08 pmichaud_ joined #perl6
20:09 masak dha: yes, that should clearly be updated in S28.
20:09 masak dha: care to supply a patch?
20:09 masak (in either case, thanks for discovering it)
20:10 dha Sure. What's the patch process for those documents?
20:10 masak usually we just give people commit access. what's your github id?
20:10 dha dha
20:11 masak invitation sent.
20:12 dha I note that stringification of $*PROGRAM gives you what $*PROGRAM_NAME gives you, which is what S28 says now.
20:12 dha thanks.
20:12 dha Is there any reason to put both in there? Or just equate $0 to $*PROGRAM_NAME and be done with it?
20:12 setty1_ joined #perl6
20:13 ugexe $*PROGRAM returns an IO object. you do IO on it
20:13 Timbus_ joined #perl6
20:13 dha Well, ok, but if you stringify it, it *does* give you the program name.
20:14 masak dha: my opinion: put $*PROGRAM_NAME as the primary suggestion, but mention $*PROGRAM too
20:14 masak (as $*PROGRAM_NAME is the closest analog of $0)
20:14 dha ok, as I said, stringification of $*PROGRAM is how it is in s28 now. So I guess it doesn't hurt to put both on that line.
20:15 masak I don't think stringification of $*PROGRAM is all that important to mention.
20:15 masak if someone wants the stringified form, they'd more likely use $*PROGRAM_NAME
20:15 RabidGravy I think it's just there to make "say $*PROGRAM.slurp" really eay ;-)
20:15 masak for all we know, the note about stringification predates $*PROGRAM_NAME
20:15 RabidGravy easy
20:16 dha True.
20:16 ugexe it also keeps you from doing "-e".slurp
20:17 masak which would even count as a security risk.
20:17 BinGOs joined #perl6
20:18 vytas joined #perl6
20:19 felher joined #perl6
20:19 ShimmerFairy joined #perl6
20:20 ugexe looks like IO coerces "-e" to "", i.e. "-e".IO.say gives "".IO But of course you can actually have a file/folder named "-e" on windows
20:21 ugexe maybe on linux too... but at least its trying to make it hard for me
20:21 d4l3k_ joined #perl6
20:21 camelia joined #perl6
20:24 integral joined #perl6
20:24 integral joined #perl6
20:24 BooK joined #perl6
20:25 mrf_ joined #perl6
20:25 danstone1 joined #perl6
20:25 StavroMu1ller joined #perl6
20:28 tardisx` joined #perl6
20:28 rvchangu- joined #perl6
20:29 telex joined #perl6
20:30 dalek rakudo/nom: de76003 | timotimo++ | src/Perl6/Actions.nqp:
20:30 dalek rakudo/nom: we can now lower binding to @ and % + "is copy"
20:30 dalek rakudo/nom:
20:30 dalek rakudo/nom: sadly, we only hit this 4 times in all of CORE.setting
20:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/de76003f12
20:31 pnu joined #perl6
20:32 ugexe ah, i take that back after seeing the difference in .IO.perl and .IO.gist
20:32 chansen_ joined #perl6
20:33 hobbs joined #perl6
20:34 uncleyea1 joined #perl6
20:35 BinGOs joined #perl6
20:36 sjn_phone_ joined #perl6
20:37 dsm_ joined #perl6
20:37 vendethiel- joined #perl6
20:37 telex joined #perl6
20:38 Juerd_ joined #perl6
20:38 maettu joined #perl6
20:38 mattp_ joined #perl6
20:38 lsm-desktop joined #perl6
20:38 jdv79_ joined #perl6
20:39 flussenc1 joined #perl6
20:39 pmichaud joined #perl6
20:39 DrForr_ joined #perl6
20:39 cosimo_ joined #perl6
20:40 gfldex_ joined #perl6
20:40 nine joined #perl6
20:40 flussenc1 joined #perl6
20:40 jnthn_ joined #perl6
20:41 sivoais_ joined #perl6
20:41 eviltwin_b joined #perl6
20:41 fernando___ joined #perl6
20:42 vike1 joined #perl6
20:43 burnersk_ joined #perl6
20:43 dalek specs: 1a69575 | (David H. Adler)++ | S28-special-names.pod:
20:43 dalek specs: Changed equivalent of Perl 5's $0 from C<$*PROGRAM> to C<$*PROGRAM_NAME>
20:43 dalek specs: review: https://github.com/perl6/specs/commit/1a695756c7
20:43 RabidGravy dha++
20:44 masak dha++
20:44 dha Decided not to put in the bit about stringification of $*PROGRAM as a) it's probably confusing and b) wouldn't fit on the line well. :-)
20:44 dha Thanks. :-)
20:44 Spot__ joined #perl6
20:44 dha So I have added FIVE WHOLE CHARACTERS to a p6 design document! ;-D
20:45 RabidGravy perfect
20:45 ugexe dynvars escaped name kabobing
20:46 masak am I the only one who thinks PROGRAM_NAME is both a little less ugly than PROGRAM-NAME, and easier to type on most keyboard layouts?
20:47 timotimo i have the least keyboard layouts
20:47 masak I've mostly come to peace with calling my identifiers things like `program-name`, even when vim gets the syntax highlighting wrong.
20:47 ugexe i like underscores asthetically for all uppercase stuff
20:47 masak but I would still go for `PROGRAM_NAME`, at least in my own code.
20:48 skarn joined #perl6
20:48 tadzik joined #perl6
20:49 Foxcool joined #perl6
20:52 pRiVi joined #perl6
20:53 eternaleye_ joined #perl6
20:53 jercos_ joined #perl6
20:53 dj_goku_ joined #perl6
20:53 jasonmay_ joined #perl6
20:53 jdv79 joined #perl6
20:53 daxim joined #perl6
20:54 Pauekn_ joined #perl6
20:54 spintronic joined #perl6
20:54 BenGoldberg joined #perl6
20:54 freeze_ joined #perl6
20:55 Jonis joined #perl6
20:56 dsm joined #perl6
20:58 pyrimidi_ joined #perl6
20:58 mr-fooba_ joined #perl6
20:59 jasonmay1 joined #perl6
20:59 garu joined #perl6
21:00 cow-orke1 joined #perl6
21:01 Gruber joined #perl6
21:02 Foxcool joined #perl6
21:02 jferrero joined #perl6
21:02 tictac joined #perl6
21:02 masak m: my %h = foo => 42; %h does role { method bar { say "OH HAI" } }; %h.bar
21:02 masak hello? camelia?
21:02 camelia rakudo-moar be122a: OUTPUT«OH HAI␤»
21:04 maddingue joined #perl6
21:07 ggherdov joined #perl6
21:08 clkao joined #perl6
21:08 dg joined #perl6
21:09 DrForr joined #perl6
21:10 Juerd joined #perl6
21:12 flussence joined #perl6
21:12 sivoais joined #perl6
21:12 bin_005 joined #perl6
21:13 ggoebel2 joined #perl6
21:13 [dpk] joined #perl6
21:14 Quom joined #perl6
21:14 [Coke]_ joined #perl6
21:15 bloonix_ joined #perl6
21:15 tinita_ joined #perl6
21:15 pochi_ joined #perl6
21:15 integral joined #perl6
21:15 integral joined #perl6
21:16 spider-mario_ joined #perl6
21:16 lizmat_ joined #perl6
21:16 zostay_ joined #perl6
21:16 nine_ joined #perl6
21:16 haroldwu_ joined #perl6
21:16 dalek rakudo/nom: 6481e24 | timotimo++ | src/Perl6/Actions.nqp:
21:16 dalek rakudo/nom: let the binding lowerer cope with ::?CLASS and role parameters
21:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6481e24ba8
21:16 [ptc]_ joined #perl6
21:16 Sqirrel_ joined #perl6
21:17 hahainte1net joined #perl6
21:18 Util_ joined #perl6
21:18 hoelzro joined #perl6
21:18 arnsholt_ joined #perl6
21:18 FROGGS joined #perl6
21:19 yogan joined #perl6
21:19 mephinet joined #perl6
21:19 clkao_ joined #perl6
21:19 Obbi joined #perl6
21:20 skarn joined #perl6
21:20 yoleaux joined #perl6
21:20 yoleaux joined #perl6
21:20 jantore_ joined #perl6
21:20 avar joined #perl6
21:20 avar joined #perl6
21:20 masak stormy on the IRCs tonight.
21:20 sftp_ joined #perl6
21:20 raydiak joined #perl6
21:21 tadzik joined #perl6
21:21 steve_mc joined #perl6
21:21 Bucciarati joined #perl6
21:21 risou joined #perl6
21:21 ugexe joined #perl6
21:22 simcop2387 joined #perl6
21:22 Exodist joined #perl6
21:22 oetiker joined #perl6
21:22 AlexDaniel masak: yup, but it's even worse on other channels
21:23 DrForr joined #perl6
21:24 literal joined #perl6
21:24 ggherdov joined #perl6
21:25 woshty joined #perl6
21:25 stux|RC joined #perl6
21:25 jfried joined #perl6
21:26 wtw joined #perl6
21:26 masak huh.
21:26 masak even with regards to netsplits, #perl6 is unusually nice? :)
21:27 AlexDaniel masak: netsplits? It is an attack, as far as I can see
21:28 psch_ joined #perl6
21:28 bowtie joined #perl6
21:28 ruoso_ joined #perl6
21:29 oetiker joined #perl6
21:31 zoosha_ joined #perl6
21:32 dagurval_ joined #perl6
21:35 ashleyde1 joined #perl6
21:36 CQ joined #perl6
21:38 masak_ joined #perl6
21:40 muethos joined #perl6
21:42 RabidGravy boo!
21:43 * masak_ jumps
21:43 RabidGravy has some one already RT'd that
21:44 RabidGravy m:  Code(0)
21:44 camelia rakudo-moar be122a: OUTPUT«(signal SEGV)»
21:44 RabidGravy thing
21:44 masak RabidGravy: don't think so. please do.
21:44 espadrine joined #perl6
21:45 uncleyear joined #perl6
21:45 jnthn Add it to the Code.new ticket
21:45 jnthn Which also SEGV'd and is almost certainly the same thing
21:46 diego_k joined #perl6
21:46 masak ah, good idea.
21:46 RabidGravy I've concluded that rather than trying to guess whether SomeRandomType($some-value) will work is a mugs game, just trying it is best
21:47 RabidGravy but a SEGV somewhat militates against that approach ;-)
21:47 dalek perl6.org: 78e2927 | Austin++ | source/style.css:
21:47 dalek perl6.org: nav menu mobile overlap fix
21:47 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/78e292727b
21:47 dalek perl6.org: 65c5460 | ab5tract++ | source/style.css:
21:47 dalek perl6.org: Merge pull request #18 from grandtheftjiujitsu/master
21:47 dalek perl6.org:
21:47 dalek perl6.org: Navigation Menu Entries Overlap in Mobile View
21:47 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/65c5460a56
21:48 Some-body_ joined #perl6
21:48 RabidGravy I think that one was mine too :-\  serial Code abuser innit
21:49 sjn_phone_ joined #perl6
21:49 apejens joined #perl6
21:50 Khisanth joined #perl6
21:51 dalek rakudo-star-daily: 5f7875c | coke++ | log/ (2 files):
21:51 dalek rakudo-star-daily: today (automated commit)
21:51 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/5f7875ca21
21:51 dalek rakudo-star-daily: 21c2945 | coke++ | log/ (2 files):
21:51 dalek rakudo-star-daily: today (automated commit)
21:51 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/21c29450e9
21:51 dalek perl6-roast-data: dfb8e7e | coke++ | / (9 files):
21:51 dalek perl6-roast-data: today (automated commit)
21:51 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/dfb8e7e70e
21:51 dalek perl6-roast-data: 73b9e32 | coke++ | / (9 files):
21:51 dalek perl6-roast-data: today (automated commit)
21:51 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/73b9e32e88
21:54 Jonis joined #perl6
21:59 dalek roast: 8b5aeb6 | usev6++ | S26-documentation/09-configuration.t:
21:59 dalek roast: Use existing ticket number RT #124970
21:59 dalek roast: review: https://github.com/perl6/roast/commit/8b5aeb65ee
21:59 dalek roast: 3d4f970 | usev6++ | S (2 files):
21:59 dalek roast: Use unique ticket numer for RT #124640
21:59 dalek roast: review: https://github.com/perl6/roast/commit/3d4f970219
22:00 RabidGravy jnthn, was it #125376 you meant?
22:01 jnthn yes but *sigh*
22:02 RabidGravy If so it's slightly different
22:02 jnthn Fixing a VM level SEGV by papering over it in Rakudo is just plain stupid.
22:02 RabidGravy I'll re-open and update
22:02 jnthn Thanks.
22:03 jnthn Will see if I can hunt it down tomorrow
22:03 masak should I revert the fix?
22:04 jnthn masak: The Rakudo patch may still be the best way to give a good message there.
22:04 masak ok, leaving it in.
22:04 burnersk joined #perl6
22:04 bartolin ha, I closed that one too early?
22:05 jnthn It's not that the patch is bad in itself, it's just sweeping a SEGV under the carpet is only asking for trouble later.
22:05 masak bartolin: no, it's fixed according to the letter of the law :)
22:05 cognominal_ joined #perl6
22:05 bartolin g
22:05 masak (which is what a ticketing system should run on)
22:05 jnthn *nod*
22:06 jnthn Please do try and make sure SEGV-ing things get fixed deeply.
22:06 jnthn I'm jumping on those I can. In the worst case, they can be exploitable security issues.
22:06 bartolin okay, I'll keep that in mind.
22:06 masak that is indeed worth remembering.
22:07 RabidGravy in my mind the VM should never segfault
22:08 jnthn RabidGravy: Mine too, which is why I want us to fix those places it does.
22:09 masak in my mind software should never behave not to spec.
22:09 RabidGravy looking at the BT of the Code(0), I think it may be completely different though
22:11 RabidGravy masak,aye but nobody every puts "must not segfault/must not GPF" in a spec, 'cause y'know ....
22:12 masak maybe they should. :>
22:13 masak 'night, #perl6
22:13 japhb RabidGravy: People do put "must be warnings- and sanitizer-clean" in specs though.
22:13 japhb o/ masak
22:13 bartolin o/
22:13 acsigusz left #perl6
22:14 RabidGravy true
22:17 RabidGravy also difficult to test
22:19 RabidGravy well a pain to test as you'd have to run each potential failure in a seaparate process and see how it exited
22:19 RabidGravy not sure you can even do that properly on windows
22:20 jack_rabbit joined #perl6
22:22 dha joined #perl6
22:28 RabidGravy mebbe a Test::NoSegfault would be useful to module developers though
22:30 * jnthn wonders if a "SEGV report" on testers.perl6.org would be do-able easily
22:33 RabidGravy It reports the exit code of the tests, this could be munged to determine whether there was a segfault (on Unux-like operating systems anyway)
22:36 dha s28 indicates that $( and $) are replaced in p6 with $*GID and $*EGID, but the docs on Variables only shows $*GROUP which, I'm guessing, is the real GID? Does this mean p6 actually has no $EGID equivalent?
22:37 RabidGravy not presently, $( is $*GROUP.Int IIRC
22:38 vytas joined #perl6
22:39 RabidGravy (that is I put those things in the Varaiables page but drank a lot of beer since ;-)
22:39 dha nope, Int isn't doing that, although since $*GROUP in numeric context is supposed to return the group number, I'm not sure why. $*GROUP.Str *does* return the group name.
22:39 RabidGravy let me look
22:40 dha $*GROUP.perl gives me IdFetch.new
22:40 RabidGravy ah $*GROUP.Numeric
22:41 dha Ugh.
22:41 dha And $EGID is currently not a thing?
22:41 * [Coke]_ wishes irssi
22:42 [Coke]_ nevermind.
22:43 dha Well, I'm certainly glad you gave me that commit bit on the design docs. Looks like I'll be using it a bit... :-)
22:45 dha And, oddly, $( in Perl 5 is giving me a whole bunch of numbers. weird.
22:47 RabidGravy actually, IdFetch is probably odd, I think those things are broken and should be IdName objects
22:48 dha So... Obviously s28 should be amended with respect to $*GID/$*GROUP. Should I leave $*EGID alone there or indicate non-implementation?
22:51 RabidGravy I'd leave it for the time being. I don't believe the population of $*USER/$*GROUP is doing what it is intended to do
22:52 dha ok, I won't mess with s28 on user and group vars. FOR NOW.
22:52 RabidGravy (in src/core/Process.pm in rakudo at least )
22:55 Sqirrel joined #perl6
23:00 Al-Caveman joined #perl6
23:01 raiph joined #perl6
23:03 RabidGravy with my code archaeology hat on, I think someone forgot the .fetch in the BUILD of the IdFetch and some one implemented the rest of the code as if that was deliberate
23:05 btyler joined #perl6
23:06 RabidGravy will do patch in morning
23:06 dha Ok, moving on... $a and $b: no longer special at all, or does "Just params to anonymous block" (from s28) really mean something?
23:07 lizmat_ dha: there is no special meaning
23:07 dha ok. Should that line be taken out of s28, then?
23:09 dalek specs: bbb0e90 | lizmat++ | S28-special-names.pod:
23:09 dalek specs: Clarify lack of special meaning of $a,$b in Perl 6
23:09 dalek specs: review: https://github.com/perl6/specs/commit/bbb0e90f3a
23:09 lizmat dha: yes    ^^^  :-)
23:09 RabidGravy :)
23:09 * lizmat calls it a day (again)
23:10 lizmat .oO( sleeping in on my own bed for a change )
23:10 dha Yay!
23:19 RabidGravy yaw, bed time for me too
23:28 telex joined #perl6
23:32 dha What? You can't go to bed! Who will answer all my annoying questions??
23:34 eiro joined #perl6
23:34 go|dfish joined #perl6
23:35 timotimo i'm going to bed soon as well, so ... i might not :\
23:35 rjbs joined #perl6
23:35 Celelibi joined #perl6
23:36 Ben_Goldberg joined #perl6
23:36 timotimo i mean: i might not answer your annoying questions
23:37 dha Right. :-)
23:37 dha maybe I'll take a break, then.

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo