Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-04-23

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:00 labster joined #perl6
00:26 ssqq p6: say PairMap.new('a' => 'b')
00:26 camelia rakudo-moar 7bef4a: OUTPUT«a => b␤»
00:26 ssqq p6: say PairMap.new('a' => 'b').WHAT
00:26 camelia rakudo-moar 7bef4a: OUTPUT«(PairMap)␤»
00:28 raiph joined #perl6
00:41 dolmen joined #perl6
00:48 aborazmeh joined #perl6
00:48 aborazmeh joined #perl6
00:55 laouji joined #perl6
00:59 dalek roast: 575e61a | TimToady++ | S05-interpolation/regex-in-variable.t:
00:59 dalek roast: skip test failing for wrong reason
00:59 dalek roast:
00:59 dalek roast: Also, add a (skipped) test to show inline pwnage is just a bad.
00:59 dalek roast: review: https://github.com/perl6/roast/commit/575e61abdf
00:59 dalek rakudo/nom: 1fb4820 | TimToady++ | src/core/Cursor.pm:
00:59 dalek rakudo/nom: do submatch with cursors, not substr and ~~
00:59 dalek rakudo/nom:
00:59 dalek rakudo/nom: Not only is this more efficient, it also doesn't break anchors
00:59 dalek rakudo/nom: or introduce spurious scanning.
00:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1fb48204ca
00:59 Ben_Goldberg joined #perl6
01:00 TimToady that probably fixes an RT or tw
01:00 TimToady *o
01:01 raydiak TimToady++
01:07 raydiak (though I'll be better off when that mess is factored out as per FROGGS++ implied suggestion)
01:13 laouji joined #perl6
01:16 skids .tell jnthn https://gist.github.com/skids/fd9fc80c545e76da7d29
01:16 yoleaux skids: I'll pass your message to jnthn.
01:17 yeahnoob joined #perl6
01:20 TimToady m: say "foo" ~~ /<{"<at(1)> o ** 2 ";}>/
01:20 camelia rakudo-moar 1fb482: OUTPUT«「oo」␤»
01:20 TimToady m: say "foo" ~~ /<{"^ o ** 2 ";}>/
01:20 camelia rakudo-moar 1fb482: OUTPUT«Nil␤»
01:21 TimToady all better (except it's still using EVAL for the moment)
01:22 TimToady and not using EVAL will only stop the Bobby-Tables-style pwnage, not the inline executable code pwnage
01:23 TimToady that needs to be handled by a restricted subset of regex lanauge
01:23 TimToady *guage
01:24 dayangkun joined #perl6
01:29 raydiak and now it catches a mistake I made that it didn't report before, very nice...ended my present bughunt
01:31 vendethiel joined #perl6
01:31 ssqq joined #perl6
01:32 dalek rakudo/tab-completion: 83fd4f4 | hoelzro++ | src/Perl6/Compiler.nqp:
01:32 dalek rakudo/tab-completion: Don't add to completions set unless linenoise is active
01:32 dalek rakudo/tab-completion:
01:32 dalek rakudo/tab-completion: It doesn't make sense unless we have a tab completion facility
01:32 dalek rakudo/tab-completion: review: https://github.com/rakudo/rakudo/commit/83fd4f494a
01:32 dalek rakudo/tab-completion: 86f277b | hoelzro++ | src/Perl6/Compiler.nqp:
01:32 dalek rakudo/tab-completion: use nqp; when loading Linenoise for tab completion
01:32 dalek rakudo/tab-completion:
01:32 dalek rakudo/tab-completion: Otherwise we get a warning
01:32 dalek rakudo/tab-completion: review: https://github.com/rakudo/rakudo/commit/86f277be58
01:34 * TimToady guesses it found a null regex
01:36 TimToady due to the removal of the bogus ^ assertions that anchored the match to the start of the substr previously
01:36 raydiak escaped a space into an unspace instead of quoting it; no idea why it didn't trigger before
01:39 hahainternet joined #perl6
01:39 raydiak ah that must have been due to your earlier fix when it still interpolated escaped escapes instead of spaces
01:40 TimToady likely
01:45 TimToady we'll need to figure out what to do with the failure in S17-procasync/basic.t before release, since it comes from misinterpreting an uninitialized Proc::Status as an initialized one
01:45 TimToady (we now initialize the exitcode to -1 instead of Any, to catch this sort of thinko)
01:45 TimToady but the test is now wrongish
01:45 * TimToady has to wander off, so someone else can look at that if they like
01:58 raydiak .tell tadzik https://github.com/tadzik/panda/pull/154
01:58 yoleaux raydiak: I'll pass your message to tadzik.
02:02 noganex joined #perl6
02:03 * raydiak is now looking at the aforementioned test
02:27 raydiak is it normal to deprecate attributes using a method under the old name?  it makes for silent failure when using the old name as a constructor arg
02:32 cschwenz joined #perl6
03:00 noganex_ joined #perl6
03:02 adu joined #perl6
03:02 vendethiel joined #perl6
03:06 raydiak .tell TimToady there isn't actually anything wrong with those Proc::Async tests themselves, is there?  https://github.com/rakudo/rakudo/pull/412 fixes it for me
03:06 yoleaux raydiak: I'll pass your message to TimToady.
03:25 alini joined #perl6
04:28 Zoffix joined #perl6
04:32 vendethiel joined #perl6
05:01 vendethiel joined #perl6
05:02 diana_olhovik_ joined #perl6
05:05 laouji joined #perl6
05:08 kaare_ joined #perl6
05:13 dalek joined #perl6
05:15 xfix joined #perl6
05:22 colomon joined #perl6
05:26 vendethiel joined #perl6
05:31 inokenty joined #perl6
05:33 laouji joined #perl6
05:36 raydiak m: sub trait_mod:<is> (Attribute $a, :$foo!) { say $a.^attributes.first(*.name eq '$!build_closure').get_value($a) }; class Foo { has $.foo is foo = 'foo' }
05:36 camelia rakudo-moar 1fb482: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kuZ6yDGLZW␤Method 'get_value' not found for invocant of class 'BOOTSTRAPATTR'␤at /tmp/kuZ6yDGLZW:1␤»
05:36 raydiak ^ how can I get at that?
06:00 7GHAAA0QH joined #perl6
06:02 rindolf joined #perl6
06:07 tadzik raydiak: merged, thanks :)
06:07 yoleaux 01:58Z <raydiak> tadzik: https://github.com/tadzik/panda/pull/154
06:10 raydiak yw :)
06:24 jnthn morning, #perl6
06:24 yoleaux 01:16Z <skids> jnthn: https://gist.github.com/skids/fd9fc80c545e76da7d29
06:25 vendethiel joined #perl6
06:26 nwc10 morning, jnthn
06:27 jnthn .tell skids Sounds worth wiring up
06:27 yoleaux jnthn: I'll pass your message to skids.
06:39 RabidGravy joined #perl6
06:48 telex joined #perl6
06:51 domidumont joined #perl6
06:56 domidumont joined #perl6
06:59 masak morning, #perl6
07:04 moritz \o masak
07:04 _mg_ joined #perl6
07:05 tadzik hello hello
07:05 tadzik did you do your backups today?
07:05 dalek rakudo/nom: 2b6ae81 | raydiak++ | src/core/ (3 files):
07:05 dalek rakudo/nom: More Proc::Status.exit -> .exitcode conversions
07:05 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2b6ae81e07
07:05 dalek rakudo/nom: c8371ec | FROGGS++ | src/core/ (3 files):
07:05 dalek rakudo/nom: Merge pull request #412 from raydiak/nom
07:05 dalek rakudo/nom:
07:05 dalek rakudo/nom: More Proc::Status.exit -> .exitcode conversions
07:05 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c8371ecce2
07:06 masak tadzik: oh, today is International Backup Day?
07:06 * moritz can't do his backup, hard disk broken
07:08 MARTIMM joined #perl6
07:08 tadzik masak: kinda
07:08 tadzik masak: I lost my data, and in a pretty ironic way too
07:09 tadzik ubuntu's encryption system screwed up, won't accept my password anymore
07:09 tadzik I have it all there, it's just... unreadable
07:09 moritz .oO( CAPS LOCK )
07:10 zakharyas joined #perl6
07:11 * masak .oO( dvorak )
07:12 masak by the way, people, Perl 3.5 type hints: http://lwn.net/Articles/640359/
07:12 masak but, kind of like Dart, they "are designed to be ignored by the interpreter" :/
07:12 * moritz wonders if there's a meme that involves the word "Mojibake" written on a dvorak keyboard as if it were a querty keyboard
07:12 moritz masak: s/Perl/Python/
07:13 moritz and WTBH are types worth if they aren't enforced?
07:13 masak moritz: indeed, Python.
07:14 moritz my experience with Perl 6 is that their worth is negative
07:14 masak moritz: I'm drinking the coffee, but it hasn't reached my brain yet ;)
07:14 moritz you write type hints because you think it's a good thing
07:14 masak moritz: yes, excatly.
07:14 moritz but of course you screw up, because you're an imperfect human being
07:14 masak moritz: it grates against my sense of "you should get that feedback ASAP"
07:14 moritz and year later, somebody does write a type checker, and program blows up all in your face
07:15 moritz and until then, they worth exactly as much as outdated comments
07:15 moritz except that everybody *knows* that comments may be outdated
07:15 masak moritz: OTOH, if you integrate it into your IDE, then it could be quite OK. like TypeScript.
07:16 moritz masak: if the language is tied to The One True IDE, then yes
07:16 masak well, type hints are optional.
07:16 masak if you're not in the One True IDE, then you can just skip them.
07:17 moritz well, they are optional in Perl 6 too, and still people wrote (wrong) type annotations
07:17 masak *nod*
07:17 masak because they liked it, I guess.
07:17 masak yes, I see what you mean is the danger. and I agree.
07:18 bjz joined #perl6
07:18 moritz because they thought it'd make their code safer, once the types were enforced
07:21 masak it falls under "never write a line of code and then not run it"
07:22 moritz and just to be clear, it wasn't just "them" who fell into the trap; I'm sure I did too
07:22 masak from http://henrikwarne.com/2015/04/16/lessons-learned-in-software-development/
07:22 moritz agreed
07:27 Rounin joined #perl6
07:27 FROGGS joined #perl6
07:28 vendethiel joined #perl6
08:04 rurban joined #perl6
08:07 darutoko joined #perl6
08:09 bjz joined #perl6
08:16 OODavo joined #perl6
08:18 OODavo Is there a convention for invoking "normal" subs on the topic variable? .thesub is recommended by Rakudo if you try to write just thesub, but .thesub doesn't actually work since there isn't a method by that name defined.
08:20 moritz thesub($_)
08:20 moritz maybe .&thesub works
08:20 moritz m: given 42 { .&say }
08:20 camelia rakudo-moar c8371e: OUTPUT«42␤»
08:21 moritz but it's a bit more obscure than say($_), so I wouldn't use it
08:21 OODavo .say actually just works since there *is* a .say method.
08:22 yqt joined #perl6
08:23 moritz yes, but .&say invokes the say subroutine
08:23 moritz m: sub f($x) { say 2 * $x }; given 21 { .&f }
08:23 camelia rakudo-moar c8371e: OUTPUT«42␤»
08:25 OODavo Neat. thesub($_) is certainly more obvious though, yeah.
08:25 OODavo Thanks.
08:26 bjz joined #perl6
08:28 OODavo Hmm. Approaching from the opposite direction, is it idiomatic to add methods to core types, after which .thesub *will* work?
08:31 zeleiadi joined #perl6
08:32 moritz OODavo: the idiomatic way is not to do it
08:32 moritz OODavo: instead you can use multi subs, where it's easy to add candidates for both new and existing types
08:32 moritz OODavo: adding methods to core classes modifies global state, which is a really bad idea
08:33 nwc10 The only idiomatic way is http://www.imdb.com/title/tt0086567/quotes?item=qt0453844 ?
08:34 vendethiel joined #perl6
08:38 domidumont1 joined #perl6
08:47 raiph joined #perl6
08:47 zeleiadi Hello. I think I found a bug in Str::chop. It accepts a number of chars to chop. When called with the length of the string + 1, it returns the original string. For example 'abc'.chop(4) returns 'abc'.
08:48 moritz m: say 'abc'.chop(4)
08:48 camelia rakudo-moar c8371e: OUTPUT«abc␤»
08:48 moritz m: say 'abc'.chop(2)
08:48 camelia rakudo-moar c8371e: OUTPUT«a␤»
08:48 moritz m: say 'abc'.chop(3)
08:48 camelia rakudo-moar c8371e: OUTPUT«␤»
08:48 moritz m: say 'abc'.chop(5)
08:48 camelia rakudo-moar c8371e: OUTPUT«Substring length (-2) cannot be negative␤  in method chop at src/gen/m-CORE.setting:7259␤  in block <unit> at /tmp/5xy_BHdCJT:1␤␤»
08:48 Ven joined #perl6
08:49 jnthn m: say 'a'.chop; say ''.chop;
08:49 camelia rakudo-moar c8371e: OUTPUT«␤␤»
08:49 andreoss joined #perl6
08:49 jnthn m: say ''.chop(2);
08:49 camelia rakudo-moar c8371e: OUTPUT«Substring length (-2) cannot be negative␤  in method chop at src/gen/m-CORE.setting:7259␤  in block <unit> at /tmp/mbxGx9sMbn:1␤␤»
08:49 moritz zeleiadi: yes, bug
08:49 andreoss joined #perl6
08:49 * jnthn agrees
08:50 moritz zeleiadi: please submit it by email to rakudobug@perl.org
08:52 FROGGS zeleiadi++ # good catch
08:52 zeleiadi thanks
08:53 zeleiadi I think I can patch it, but I am new here, so I don't know the procedure
08:54 dakkar joined #perl6
08:54 OODavo moritz: Ah, yeah, I figured that might be the deal. Monkey-patching does lead to an awful mess in Ruby.
08:55 nwc10 zeleiadi: one viable procedure is a pull request on github
08:55 jnthn Pull requests work, as does emailing the patches
08:56 jnthn Also it's very helpful if there's a test. You can get a commit bit on the tests repository very easily just by asking here for it.
08:56 moritz jnthn: asking is not enough; we also need to know the github username :-)
08:57 jnthn Uh, true :-)
08:58 zeleiadi ok, thank you, i will try to do a pull request soon
09:00 zeleiadi there is two way to fix the code, one is to remove the chop count parameter, the other is to fail with an exception if number of chops > length of the string, i am not sure which one is better
09:01 moritz and the third is to return the empty string
09:01 jnthn The third is to just produce the empty string. I'd check exactly what substr does in such cases.
09:01 moritz but removing the count param seems to be correct
09:01 jnthn I'm not so sure...
09:01 moritz S32/Str doesn't talk about that param
09:01 jnthn I think the count parameter is reasonable.
09:01 jnthn Ah...
09:02 jnthn But it might be being used "in the wild"
09:02 moritz and roast doesn't use it either
09:02 jnthn *nod*
09:02 jnthn Wonder how we got it.
09:03 moritz commit 831b1d458c98d003c1125ca3c76ff85e68ffeb32
09:03 moritz Author: Elizabeth Mattijsen <liz@dijkmat.nl>
09:03 moritz Date:   Thu May 15 20:08:37 2014 +0200
09:03 moritz Str.chop accepts count of number of chars to chop
09:03 moritz but it wasn't mentioned in the changelog
09:04 moritz so, I'd deprecated it
09:04 moritz (add a multi where $chars is mandatory, and deprecate that)
09:04 Ven joined #perl6
09:05 zeleiadi Ok
09:17 lizmat fwiw, I have no recollection on why I did that ~ 1 year ago
09:17 lizmat perhaps the irclog will tell
09:17 lizmat meanwhile, afk again&
09:34 espadrine joined #perl6
09:43 nine lizmat: 07:58 lizmat otoh I wouldn't mind having .chop(3)  :
09:44 nine http://irclog.perlgeek.de/perl6/2014-05-15#i_8726574
09:45 nine Don't you love written and automatically logged communications?
09:49 andreoss` joined #perl6
09:50 * moritz does
09:51 dolmen joined #perl6
09:58 vendethiel joined #perl6
10:00 xfix joined #perl6
10:09 rindolf joined #perl6
10:15 lizmat .oO( I guess moritz does mind having .chop(3) )
10:18 domidumont joined #perl6
10:19 jnthn .oO( I wouldn't mind having .chop($suey) )
10:20 jnthn I don't especially mind us having it, in so far as it saves doing a little mental arithmetic to write out substr instead.
10:20 jnthn I do mind it not being tested and being buggy though. ;)
10:26 moritz and not being documented, for that matter
10:27 pecastro joined #perl6
10:27 lizmat m: use nqp; my int $elems = 20; say nqp::rand_I(nqp::decont($elems),Int)   # jnthn: why the decont ?
10:27 camelia rakudo-moar c8371e: OUTPUT«1␤»
10:27 lizmat m: use nqp; my int $elems = 20; say nqp::rand_I($elems,Int)   # jnthn: why the decont ?
10:27 camelia rakudo-moar c8371e: OUTPUT«This representation (NativeRef) cannot unbox to other types␤  in block <unit> at /tmp/A036NrvwF9:1␤␤»
10:28 jnthn lizmat: Use nqp::decont_i
10:28 lizmat but why would I need a decont on a native int ??
10:28 jnthn lizmat: And because nqp::rand_I doesn't do one I guess.
10:28 jnthn lizmat: Evidently because it's taking a lexref there
10:28 jnthn What's the signature of rand_I?
10:29 lizmat rand_I(Int $i, Mu:T $type)
10:29 lizmat according to documentation
10:29 jnthn Upper-case Int?
10:29 lizmat that's what it says
10:29 jnthn In which case it is taking a big integer
10:29 jnthn And so feeding it a native integer is just making us do more work.
10:30 lizmat m: use nqp; my Int $elems = 20; say nqp::rand_I($elems,Int)
10:30 camelia rakudo-moar c8371e: OUTPUT«P6opaque: get_boxed_ref could not unbox for the representation '20'␤  in block <unit> at /tmp/MGhhZf44H0:1␤␤»
10:30 lizmat ??
10:30 lizmat but using an Int doesn't work ?
10:30 jnthn Still needs the decont, apparently :)
10:30 jnthn Though that's consistent
10:30 jnthn See the infix:<+>(Int, Int) candidate for example.
10:31 jnthn nqp::ops only auto-decontainerize if we mark them up as doing so
10:31 jnthn For the big integer ones, we consistently haven't so far.
10:32 lizmat I guess I see the consistency now, but not yet understanding it yet  :-)
10:34 jnthn There's no deep reason, as I remember; it's just "how we've done it".
10:34 lizmat hysterical raisins
10:35 lizmat :-)
10:35 jnthn Pretty much. It's only a minor pain to change.
10:35 jnthn But an equally minor one not to change too I guess. :)
10:35 lizmat apart from dropping the number of nqp::decont() needed to be typed, would there be a runtime advantage ?
10:36 jnthn No, 'cus the alternative is just having the QAST -> MAST thingy insert them.
10:36 jnthn Except it can't know when it needs to so always does.
10:37 lizmat so a runtime disadvantage
10:37 jnthn Potentially. Except spesh is quite good at removing unrequired decont ops too :)
10:38 lizmat well, then maybe it can wait until rakudo itself is self-hosting  :-)
10:38 jnthn That punts it a good long way down the road. :)
10:40 lizmat I think it's only a WAT for core setting maintainers
10:40 jnthn Indeed.
10:40 jnthn And only occasinally then. :)
10:40 nwc10 WAT?
10:40 nwc10 (where's my S99infobot?)
10:41 jnthn S99:WAT
10:41 synbot6 Link: http://design.perl6.org/S99.html#WAT
10:41 nwc10 dear synbot99, could you be fetching that for me and putting it in channel?
10:45 zeleiadi I've submitted a pull request on github with the patch to Str::chop
10:46 FROGGS zeleiadi: it should be deprecated since 2015.04 me thinks
10:47 zeleiadi thanks, i'll change it
10:47 FROGGS you can just commit that change to your deprecate_chop_param branch and it will be put into that PR
10:47 lizmat zeleiadi: afiacs, that patch doesn't address the behaviour if count exceeds string length
10:49 FROGGS how does the deprecation message look like btw?
10:49 FROGGS I hope it does not just tell "chop is deprecated please you chop instead"
10:50 zeleiadi it does, sorry
10:51 RabidGravy joined #perl6
10:51 FROGGS np
10:52 lizmat .oO( maybe it would make more sense to document and write tests )
10:52 FROGGS :P
10:53 nine Well it exists because there clearly was some use-case where it made sense. What was the use-case exactly?
10:53 lizmat lib/Test.pm
10:53 lizmat 262:    $indents .= chop(4);
10:54 FROGGS so it should be along the lines of "DEPRECATED('chop without arguments', |<2015.04 2015.09>);" instead, despite the missing check for the empty string case
10:54 lizmat I remember now
10:54 lizmat it's part of the subtest support in Test.pm
10:54 FROGGS hmmm
10:55 lizmat .oO( one could argue it *is* being tested  :-)
10:55 FROGGS or useful
10:56 lizmat I remember writing $indents.chop.chop.chop.chop  :-)
10:57 FROGGS why do we want a .chop() that chops a single char anyway?
10:57 nine And I'm with jnthn that this looks just cute :) But chop(4) is easier to type and makes sense when reading it.
10:58 cognominal joined #perl6
10:58 nine And 4 can be $chars
10:58 dalek rakudo/nom: b0e7a59 | lizmat++ | src/core/List.pm:
10:58 dalek rakudo/nom: Make List.pick(*) about 10% faster
10:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b0e7a596d1
10:58 FROGGS how often does one chop a single char?
10:59 lizmat FROGGS: if one wants to get rid of a trailing / in a path, e.g. ?
10:59 FROGGS I either remove trailing newlines characters or not
10:59 FROGGS ahh
10:59 FROGGS I guess I use regexes for that
10:59 FROGGS so I don't have to care if there is a trailing slash or not
11:00 nine Sounds like chomp
11:00 FROGGS so I'd vote for: either .chop will let you specify the number of chars to chop, or the implicit .chop(1) can go away
11:01 dalek Heuristic branch merge: pushed 18 commits to perl6-examples by paultcochrane
11:01 lizmat FROGGS: so .pick should become .pick(1) as well ?
11:02 FROGGS no, the optional arg is okay
11:02 FROGGS just limiting to always be 1 isnt
11:02 lizmat ok, then we're on the same page  :-)
11:02 FROGGS lizmat: that's like we only allow .pick() which would meant .pick(1)
11:03 lizmat agree,
11:03 lizmat I got the impression you meant the opposite  :-)
11:03 FROGGS no no :o)
11:05 * jnthn away for a bit
11:05 FROGGS so we shall put .chop(N) (and &chop(N)) in the design docs and add tests
11:06 * FROGGS was just away for a byte
11:06 nine I'd argue that if chop has an N argument, chomp should have one, too
11:06 lizmat nine: but that doesn't make much sense?
11:06 lizmat I mean, only if you have multiple newlines at the end ??
11:06 FROGGS m: say "foo\n\n\n".chomp
11:06 camelia rakudo-moar c8371e: OUTPUT«foo␤␤␤»
11:07 FROGGS m: say "foo\n\n\n".chomp(*)
11:07 camelia rakudo-moar c8371e: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤  in method chomp at src/gen/m-CORE.setting:7235␤  in block <unit> at /tmp/sSqpdotAdi:1␤␤»
11:07 lizmat m: say "foo\n\n\n\n".chomp(*)
11:07 camelia rakudo-moar c8371e: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤  in method chomp at src/gen/m-CORE.setting:7235␤  in block <unit> at /tmp/a4Takex0An:1␤␤»
11:07 FROGGS I'd like to see that
11:07 lizmat wow  :-)
11:07 FROGGS well, see that working :o)
11:07 lizmat FROGGS: before or after the release :-)
11:08 FROGGS I don't mind as this does not break anything
11:08 FROGGS but, masak++'s opinion is the one that counts
11:09 nine That looks like chomp already removing all newlines and not just one?
11:09 FROGGS nine: no, it removes one
11:09 nine FROGGS: ah, then I misinterpreted camelia's output
11:09 moritz m: say "foo\n\n\n".chomp.perl
11:09 camelia rakudo-moar c8371e: OUTPUT«"foo\n\n"␤»
11:09 FROGGS m: my $foo = "foo\n\n\n\n\n\n"; say $foo.chars; say "foo\n\n\n".chomp.chars
11:09 camelia rakudo-moar c8371e: OUTPUT«9␤5␤»
11:09 FROGGS eww
11:09 FROGGS errm
11:10 vendethiel joined #perl6
11:10 FROGGS wth does it do?
11:10 FROGGS removing two because windows newlines tend to be two chars long?
11:11 torbjorn I asked last night about grammars and actions. I tried something out, but instead of $key => $value , I get 0 => $key, 1 => $value , when I have make ~$0 => ~$1 in my action method
11:11 FROGGS m: my $foo = "foo\n\n\n\n\n\n"; say $foo.chars; say $foo.chomp.chars # me being stupid
11:11 camelia rakudo-moar c8371e: OUTPUT«9␤8␤»
11:11 FROGGS okay, sanity restored
11:12 FROGGS torbjorn: can you show us the code? in a gist or so?
11:12 yqt joined #perl6
11:13 FROGGS ahh, but I guess there is a positional capture in $0 and $1 each
11:13 [ptc] hrm, should $*PROGRAM_NAME be kebab-cased?
11:14 torbjorn FROGGS: http://fpaste.org/214693/42978763/
11:14 nwc10 mmm,
11:14 nwc10 kebabs++ # tastier than camels
11:14 lizmat [ptc] probably should
11:14 lizmat but that's my opinion
11:14 FROGGS torbjorn: replace the ( ) by [ ] at line 28
11:15 FROGGS torbjorn: to have a non capturing group
11:15 torbjorn ah yes, that was my switching from numbered to named captures
11:15 [ptc] lizmat: just ran across it in some code and made me wonder
11:15 lizmat http://irclog.perlgeek.de/perl6/2015-04-22#i_10484556
11:16 lizmat I guess $*PROGRAM_NAME is not internal
11:16 torbjorn but i still get the same, that is i get key => "cost", value => 1 (as an example), instead of cost => 1
11:17 pecastro joined #perl6
11:19 ssqq joined #perl6
11:21 dalek rakudo/nom: 0c0eb13 | lizmat++ | src/core/ (2 files):
11:21 dalek rakudo/nom: Make chop/.chop first class citizens
11:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0c0eb13533
11:22 FROGGS torbjorn: that's because you don't use what rule pair has made
11:24 FROGGS torbjorn: you need a method weapondef that does something like: make $<pair>.made, though, you need to take the other capture into account too
11:24 dalek specs: 0f49a85 | lizmat++ | S32-setting-library/Str.pod:
11:24 dalek specs: .chop accepting number of chars to remove
11:24 dalek specs: review: https://github.com/perl6/specs/commit/0f49a8544f
11:24 Zoffix left #perl6
11:24 torbjorn i see.. it needs to "bubble" up the tree, sort of?
11:25 FROGGS yes
11:25 FROGGS you are just printing the captures, not what the actions produced
11:26 FROGGS so you also have to: say Dart.parse(...).made
11:26 FROGGS or even: say Dart.parse(...).?made # in case it failed to parse
11:26 torbjorn ah yes, perhaps i also need a weapon and a TOP method?
11:26 FROGGS yes
11:26 FROGGS all methods that are in that chain actually
11:29 FROGGS torbjorn: now you can write a compiler too :o)
11:30 torbjorn icanwhatnow
11:30 FROGGS when you look at Perl6::Grammar and Perl6::Action you'll see something very close to what you did
11:31 moritz or https://github.com/moritz/json/ for a less scary example :-)
11:31 moritz though iirc it still uses .ast instead of .made
11:32 FROGGS our grammar and actions arn't scary... they are just huge
11:32 torbjorn i hear you say that
11:32 torbjorn where does it say what "make" and made do?
11:32 FROGGS but I see that the size can matter... when looking at spiders for example
11:32 torbjorn perfect example
11:33 FROGGS http://doc.perl6.org/type/Match#method_made
11:33 FROGGS though, that's not much here
11:33 torbjorn so far i follow
11:33 torbjorn there docs on that page are somewhat circular
11:34 FROGGS "make foo" is like: $/.made = foo
11:34 torbjorn i guessed that much from looking at examples. so thats all there is to it?
11:34 FROGGS and then you access $<bar>.made, becaude te $<bar> is what $/ was in method bar
11:34 FROGGS ye
11:34 FROGGS yes
11:34 torbjorn its an object variable that has a nice setter and getter?
11:35 FROGGS an attribute, but yes, exactly
11:35 torbjorn not that theres anyhting wrong with that, but im just used to being blown away by stuff i learn in perl 6, and this is so .. simple. the name "make" had so much promise to it :)
11:35 torbjorn as in "make something great"!
11:36 torbjorn which i suppose in the right hands, this is
11:36 FROGGS https://github.com/rakudo/rakudo/blob/nom/src/core/Match.pm#L84
11:36 torbjorn does the .made attribute play any parcitular role rather than being a box to stuff data in?
11:37 FROGGS no, you can shovel anything in there, and use it from the outer action method
11:37 torbjorn ok, thanks
11:38 cognominal in the Setting, some classes are introduced with "my", some not, like Pod::*, VM, Uni. What is the rationale?
11:38 FROGGS for json parsing we just put datastructures in there for what we have parsed, and for rakudo we put QAST stuff in there (parts of our AST that tells what we have to execute later)
11:38 lizmat cognominal: hysterical raisins, afaik
11:39 cognominal I probably need to understand the diff between an outrmost my in a module and our, btw.
11:39 FROGGS cognominal: I just know that package declarations default to our... but I have no idea what different it makes here
11:39 nine I think the docs should be quite explict that make/made are really that simple. Just a little convenience magic, much not more. I remember having a hard time getting to that conclusion.
11:40 FROGGS ++nine # https://github.com/perl6/doc/blob/master/lib/Type/Match.pod
11:42 vendethiel joined #perl6
11:45 _mg_ joined #perl6
11:45 dalek roast: c4328db | lizmat++ | S32-str/chop.t:
11:45 dalek roast: Add some chop tests
11:45 dalek roast: review: https://github.com/perl6/roast/commit/c4328db38e
11:46 dalek doc: 8020e4d | (Stefan Seifert)++ | lib/Type/Match.pod:
11:46 dalek doc: Try to answer FAQ about make/made
11:46 dalek doc: review: https://github.com/perl6/doc/commit/8020e4db6f
11:46 nine Jay, I got a commit bit :)
11:47 lizmat ++nine
11:50 zeleiadi joined #perl6
11:52 skids joined #perl6
11:53 moritz nine++
11:54 skids jnthn: so just send PRs for the windows-1252 glue?
11:54 yoleaux 06:27Z <jnthn> skids: Sounds worth wiring up
11:55 FROGGS .tell hoelzro seems the tab-completion branch passed some sanity tests right now...
11:55 yoleaux FROGGS: I'll pass your message to hoelzro.
12:00 zeleiadi joined #perl6
12:03 zeleiadi \leave
12:04 [ptc] domidumont: is there anything I can do to help with package building?
12:07 FROGGS .tell hoelzro the three branches look good, so we can merge it right after release
12:07 yoleaux FROGGS: I'll pass your message to hoelzro.
12:07 domidumont [ptc]: yes. I've justed pushed nqp package on debian repo with a todo list in debian/changelog
12:07 FROGGS domidumont: can one (sombody with zero packaging skills) track the packaging status somehow?
12:08 FROGGS I remember there are build stats for various platforms
12:10 domidumont FROGGS: you can track what was uploaded with Debian qa page for rakudo maintainer: https://qa.debian.org/developer.php?login=pkg-rakudo-devel@lists.alioth.debian.org
12:11 hoelzro FROGGS: thanks for looking!
12:11 yoleaux 11:55Z <FROGGS> hoelzro: seems the tab-completion branch passed some sanity tests right now...
12:11 yoleaux 12:07Z <FROGGS> hoelzro: the three branches look good, so we can merge it right after release
12:11 FROGGS hoelzro++
12:11 domidumont FROGGS: work in progress is harder to track: some team (like debian-perl) annotate debian changelog to communicate status. I reuse this practice for rakudo team
12:11 dalek joined #perl6
12:12 FROGGS k
12:13 [ptc] domidumont: ok, thanks
12:13 domidumont besides, I have a problem with the jar files provided in nqp tarball: these are not source files. Per debian policy, I'll have to remove these files because they can't be rebuilt
12:14 FROGGS what jar files? in stage0?
12:14 domidumont yes
12:14 FROGGS these can be rebuild
12:14 domidumont and in 3rd party
12:14 FROGGS in 3rd party perhaps not so
12:14 domidumont I expect 3rd party files to be available through another package (like libtommath for moar)
12:15 FROGGS to rebuild stage0: configure && make && make m-bootstrap-files
12:15 dalek rakudo/nom: 587d309 | lizmat++ | docs/ChangeLog:
12:15 dalek rakudo/nom: Add some ChangeLog entries
12:15 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/587d30956c
12:15 FROGGS yeah
12:15 lizmat this is mostly for stuff I understand  ^^
12:16 FROGGS lizmat++ # I also have to check for stuff to add
12:16 lizmat please help the release manager by checking it and mentioning any omissions / errors / clarifications
12:16 lizmat afk for a bit&
12:16 FROGGS domidumont: for jna there is a package, but we don't use it (yet): https://packages.debian.org/de/sid/all/libjna-java/filelist
12:19 domidumont [ptc]: do you know libtommath upstream maintainers ?
12:19 dalek joined #perl6
12:20 FROGGS domidumont: I made an issue: https://github.com/perl6/nqp/issues/235
12:20 moritz domidumont: I've had some pull requests accepted by them, but we're still waiting for a release
12:20 domidumont FROGGS: good to know, we can tweak nqp packaging to use libjna package
12:20 FROGGS domidumont: I also tried to speak to them without luck
12:20 noganex joined #perl6
12:21 [ptc] domidumont: unfortunately not...
12:22 domidumont moritz: okay, I'll create an issue there explaining the problem from a distro point of view.
12:22 arnsholt moritz: That's a good point. We have custom stuff in both tommath and dyncall, don't we?
12:22 FROGGS domidumont: I fixed the issue as it mised up asm and jna
12:22 FROGGS arnsholt: everything is reported upstream
12:22 baest_ joined #perl6
12:23 FROGGS arnsholt: it is in their developement branch in case of libtommath, and in master (or whatever hg calls it) for dyncall
12:23 FROGGS and I have good connection to the dyncall guys
12:23 arnsholt That's good at least
12:23 arnsholt But what versions are in Debian?
12:23 domidumont arnsholt: you might say that nqp has custom stuff compared to latest libtommath release...
12:23 dalek joined #perl6
12:23 arnsholt Yeah, basically
12:23 domidumont Usually, only "officially" released versions
12:23 FROGGS huh, there is no dyncall debian package?
12:24 domidumont FROGGS: no
12:24 FROGGS okay
12:24 FROGGS was just surprised
12:24 domidumont dyncall is rebuilt with moar package
12:26 domidumont [ and dyncall makes the most of debian/copyright file for moar ... oh well ] https://ftp-master.debian.org/new/moarvm_2015.03-1.html#binary-moarvm-copyright
12:31 domidumont [ptc]: can you fix some issues mentioned in debian/changelog ?
12:33 [ptc] domidumont: I'm looking at that stuff now
12:34 [ptc] domidumont: I don't have push access to the pkg-nqp repo, right?  I have to make my own branch and submit patches?
12:34 domidumont no, you can push directly
12:35 domidumont no problem, it's git, we can fix everything afterwards ;-)
12:35 * [ptc] tries git push again
12:35 [ptc] domidumont: :-)
12:35 domidumont cool :-)
12:35 BinGOs joined #perl6
12:40 dalek perl6-examples: f329e29 | paultcochrane++ | categories/euler/prob036-xenu.pl:
12:40 dalek perl6-examples: Make output verbosity optional
12:40 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/f329e29f1f
12:40 dalek perl6-examples: a461d85 | paultcochrane++ | categories/euler/prob081-moritz.pl:
12:40 dalek perl6-examples: Remove superfluous output
12:40 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/a461d85a27
12:40 dalek perl6-examples: 81d99c8 | paultcochrane++ | categories/euler/prob063-moritz.pl:
12:40 dalek perl6-examples: Make progress output optional
12:40 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/81d99c8fca
12:40 dalek perl6-examples: 08df7a7 | paultcochrane++ | categories/euler/prob063-polettix.pl:
12:40 dalek perl6-examples: Make verbose progress information optional
12:40 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/08df7a7f53
12:40 dalek perl6-examples: 8a59b65 | paultcochrane++ | categories/euler/prob188-shlomif.pl:
12:40 dalek perl6-examples: Simplify output
12:40 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/8a59b65a7b
12:40 dalek perl6-examples: 3ce582d | paultcochrane++ | categories/euler/prob168-shlomif.pl:
12:40 dalek perl6-examples: Make verbose progress output optional
12:40 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/3ce582d1b4
12:40 dalek perl6-examples: e9b9c90 | paultcochrane++ | t/categories/euler.t:
12:40 dalek perl6-examples: [euler] add tests for remaining problem solutions
12:40 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/e9b9c90a9d
12:40 dalek perl6-examples: 3c0db4b | paultcochrane++ | .gitignore:
12:40 dalek perl6-examples: Ignore generated object files
12:40 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/3c0db4b6d4
12:43 dalek nqp: 1706ef5 | paultcochrane++ | README.pod:
12:43 dalek nqp: Wrap paragraphs consistently
12:43 dalek nqp:
12:43 dalek nqp: This gives a tidier impression when reading the text
12:43 dalek nqp: review: https://github.com/perl6/nqp/commit/1706ef5d0b
12:43 bjz joined #perl6
12:45 [ptc] domidumont: the libtommath problem is resolved, isn't it?
12:48 vendethiel joined #perl6
12:48 domidumont [ptc]: technically yes. But the problem is to have this fix in Debian libtommath package (which I don't maintain).
12:49 Ven joined #perl6
12:51 dalek rakudo/nom: 7c849ec | lizmat++ | docs/ChangeLog:
12:51 dalek rakudo/nom: Mention chop  (let't not forget it again :-)
12:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7c849ec101
12:51 Ven \o, #perl6
12:51 domidumont [ptc]: having a new upstream release of libtommath would make this problem much easier
12:53 Ven moritz: I think the one thing that made me chuckle the most were the dartvm guys saying "meh, types wouldn't give us performance boost anyways"
12:53 Ven (because types are only about performance, not about correctness, and because checks are free ...)
12:54 [ptc] domidumont: ok.  I'd noticed the comment in the changelog and after having noticed the conversation on GitHub about it, that it might be able to be removed
12:55 [ptc] domidumont: you build and install the moarvm package before building the nqp package, right?
12:55 domidumont [ptc]: yes
12:58 dalek rakudo/nom: 4f54891 | lizmat++ | t/spectest.data:
12:58 dalek rakudo/nom: uniname is NYI on JVM
12:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4f548913f1
13:02 dalek roast: ef3335e | lizmat++ | S32-str/chop.t:
13:02 dalek roast: Message differs per backend, so just check type
13:02 dalek roast: review: https://github.com/perl6/roast/commit/ef3335e737
13:06 dalek roast: 0168355 | lizmat++ | S32-str/length.t:
13:06 dalek roast: Fudge failing test on JVM
13:06 dalek roast: review: https://github.com/perl6/roast/commit/0168355c69
13:07 dalek specs: 7068bfb | (Stéphane Payrard)++ | S99-glossary.pod:
13:07 dalek specs: Unsatisfied by the def of function. need to get serious on unicode
13:07 dalek specs: review: https://github.com/perl6/specs/commit/7068bfb58c
13:09 ab5tract m: my @bars = 1, 2, 3, * * * ... *;
13:09 camelia rakudo-moar 587d30: ( no output )
13:09 dalek roast: 589032b | lizmat++ | packages/Test/Compile.pm:
13:09 dalek roast: Prevent warning about using nqp::ops
13:09 dalek roast: review: https://github.com/perl6/roast/commit/589032ba3a
13:09 ab5tract m: my @bars = 1, 2, 3, * * * ... *; say @bars[3,6,7];
13:09 camelia rakudo-moar 587d30: OUTPUT«6 1944 209952␤»
13:09 ab5tract interesting.. that hangs locally
13:10 moritz are you doing it in the REPL?
13:10 lizmat fwiw, t/spec/integration/precompiled.t is *very* unhappy on JVM
13:12 lizmat jnthn: feels like this is related to the "use fatal" changes in a try block
13:12 ab5tract moritz: yeah
13:13 moritz ab5tract: did you press return after the first statement?
13:13 lizmat jnthn: then again, this could be another bug that happens when something else goes wrong  :-(
13:13 ab5tract moritz: in the REPL I was just creating the array
13:14 ab5tract so yeah
13:14 vendethiel joined #perl6
13:14 psch lizmat: i was surprised to see you demote &uniname to NYI on jvm
13:14 FROGGS holy cow... it seems I finally make progress on ripping out json for CURLI \o/
13:14 moritz ab5tract: well, that hangs, because @bars is infinte, and it tries to print it all
13:15 lizmat psch: $ perl6-j t/spec/S15-unicode-information/uniname.t
13:15 lizmat 1..27
13:15 lizmat uniname NYI on jvm backend
13:15 ab5tract Ah, I see. A display layer issue.
13:15 moritz though one could argue that .gist shouldn't try to print the whole thing
13:15 FROGGS I am going to install most of the ecosystem now to get a feeling of the performance penalty
13:15 lizmat psch: merely trying to make life easier for the release manager
13:16 psch lizmat: yeah, that's from your commit, a2448871869c311457c1389d7aa552188e1076cf
13:16 lizmat FROGGS++
13:16 psch lizmat: i implement getuniname in NQP commit e45d8de
13:17 * lizmat tries
13:17 psch lizmat: i suspect the build bustage you saw to make a244887 was for uniprop-{bool,str,num}?
13:18 lizmat psch: building JVM now with uniname activated
13:20 coffee` joined #perl6
13:21 * psch hopes there isn't some OSX weirdness in JVM getuniname
13:23 dalek rakudo/nom: 45c479a | lizmat++ | / (2 files):
13:23 dalek rakudo/nom: uniname(s) *is* implemented on JVM, psch++
13:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/45c479a5fe
13:23 psch lizmat++ thanks :)
13:24 lizmat psch: all unfudged tests passed  :-)
13:34 RabidGravy joined #perl6
13:43 vendethiel joined #perl6
14:03 masak release night tonight, people.
14:04 masak get ready to par-tay
14:04 * masak does some tentative disco moves
14:04 * lizmat has been par-taying quite a bit already
14:04 masak \o/
14:09 vendethiel joined #perl6
14:10 telex joined #perl6
14:18 Ven joined #perl6
14:19 grondilu joined #perl6
14:20 grondilu the release you're talking about it the monthly rakudo star realease or something more awesome?
14:21 PerlJam grondilu: the monthly *rakudo* release (not rakudo star)
14:24 * colomon forgets the :global in subst nearly 100% of the time.  :\
14:25 PerlJam colomon: I do that only slightly less than 100% of the time too.  Maybe we should have a gsub like awk.
14:28 colomon nine: using p5’s JSON::XS almost works perfectly for me, except for some reason it seems to translate False into some sort of p5 object.
14:28 colomon JSON::Tiny: "Needs expansion" => Bool::False
14:29 hoelzro does this month have an accompanying star release?
14:29 * hoelzro forgot how the star release cycle works
14:29 colomon JSON::XS:from<Perl5>: "Needs expansion" => Perl5Object.new(ptr => Pointer.new(83752256), perl5 => Inline::Perl5.new),
14:30 sjn \o
14:31 * sjn has found something interesting.. http://exercism.io/
14:31 sjn They're apparently working on getting in Perl6 support
14:32 * lizmat stops committing code patches for today
14:32 lizmat afk for a few hours&
14:33 raiph joined #perl6
14:36 mr-foobar joined #perl6
14:47 RabidGravy I was going to do some tests to see if things were snappy enough to make an icecast client without using libshout but spent the time debugging why silan fails to correctly detect the end of mp3s
14:49 FROGGS joined #perl6
14:50 bjz joined #perl6
14:53 colomon nine: (or anyone who understands Inline::Perl5) so, JSON::XS returns Types::Serialiser::true and Types::Serialiser::false.  These do not the proper thing in p6.
14:53 andreoss` m: my @x = 1 ... 10; ([Z] @x, @x[1..*], @x[2..*]).perl.say
14:53 camelia rakudo-moar 45c479: OUTPUT«((1, 2, 3), (2, 3, 4), (3, 4, 5), (4, 5, 6), (5, 6, 7), (6, 7, 8), (7, 8, 9), (8, 9, 10))␤»
14:54 andreoss` m: sub part-array(\N, @arr) {   [Z] map { @arr[$_ .. *] }, ^N ;  }; my @x = 1...10; part-array(3, @x).perl.say;
14:54 camelia rakudo-moar 45c479: OUTPUT«((1,), (2,), (3,), (4,), (5,), (6,), (7,), (8,), (9,), (10,), (2,), (3,), (4,), (5,), (6,), (7,), (8,), (9,), (10,), (3,), (4,), (5,), (6,), (7,), (8,), (9,), (10,))␤»
14:59 andreoss` m: sub part-array(\N, @arr) {   [Z] map { my $x = @arr[$_ .. *]; $x }, ^N ;  }; my @x = 1...10; part-array(3, @x).perl.say;
14:59 camelia rakudo-moar 45c479: OUTPUT«(($(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),), ($(2, 3, 4, 5, 6, 7, 8, 9, 10),), ($(3, 4, 5, 6, 7, 8, 9, 10),))␤»
14:59 vendethiel joined #perl6
15:04 skids joined #perl6
15:07 andreoss` m: sub part-array(\N, @arr) {
15:07 andreoss` EVAL "[Z] " ~ join ", " , map { '@arr' ~ "[$_ .. *]" }, ^N ;
15:07 andreoss` } ; my @x = 1...10; part-array(3, @x).perl.say
15:07 andreoss`
15:07 camelia rakudo-moar 45c479: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4LPVYuTtjM␤Missing block␤at /tmp/4LPVYuTtjM:1␤------> 3sub part-array(\N, @arr) {7⏏5<EOL>␤»
15:07 andreoss` m: sub part-array(\N, @arr) {  EVAL "[Z] " ~ join ", " , map { '@arr' ~ "[$_ .. *]" }, ^N ; } ; my @x = 1...10; say (part-array 3, @x).perl;
15:07 camelia rakudo-moar 45c479: OUTPUT«((1, 2, 3), (2, 3, 4), (3, 4, 5), (4, 5, 6), (5, 6, 7), (6, 7, 8), (7, 8, 9), (8, 9, 10))␤»
15:11 andreoss` how to do this without eval? map and [Z] together perform some strange flattenings
15:12 PerlJam m: my @a = 1..10;  say @a.rotor(3,2);
15:12 camelia rakudo-moar 45c479: OUTPUT«1 2 3 2 3 4 3 4 5 4 5 6 5 6 7 6 7 8 7 8 9 8 9 10␤»
15:12 PerlJam m: my @a = 1..10;  say @a.rotor(3,2).perl;
15:12 camelia rakudo-moar 45c479: OUTPUT«($(1, 2, 3), $(2, 3, 4), $(3, 4, 5), $(4, 5, 6), $(5, 6, 7), $(6, 7, 8), $(7, 8, 9), $(8, 9, 10))␤»
15:13 TimToady joined #perl6
15:13 andreoss` damn
15:13 andreoss` what does 2 stand for?
15:14 PerlJam overlap 2 elements
15:15 andreoss` http://doc.perl6.org/type/List is  missing this method
15:15 moritz andreoss`: yes; I've added it to the WANTED list yesterday
15:16 moritz andreoss`: feel free to do it :-)
15:18 andreoss` still can it be done with [Z] over map ?
15:19 skids What do --gen-moar= and --gen-nqp= expect as an argument? i.e. how do you get it to use your own github forks?
15:20 gfldex joined #perl6
15:20 PerlJam skids: I think they just accept commitish things (branch name, tag, SHA1, etc.)
15:20 skids So you can only use the main repo, then?
15:21 PerlJam AFAIK.  I'd have to look at the source to be sure though.
15:29 andreoss` [Z] .... and my @x = .... ; [Z] @x; give different results.
15:29 andreoss` why?
15:31 skids .oO(There's --git-reference but it does not seem to prevent cloning from the official repos.)
15:33 vendethiel joined #perl6
15:44 PerlJam skids: it looks like it should do what you want if the directory isn't already there.  i.e. if there's no nqp dir, specifying --git-reference=https://github.com/skids will cause a clone of https://github.com/skids/nqp to be used to build nqp
15:44 PerlJam (assuming you've also specificed --gen-nqp)
15:45 skids Hrm is there syntax to put a fork/commit in a github url?
15:45 skids erm s/fork/branch/
15:46 masak m: say ([Z] 1, 2, 3).perl; my @x = 1, 2, 3; say ([Z] @x).perl
15:46 camelia rakudo-moar 45c479: OUTPUT«((1, 2, 3),)␤((1,), (2,), (3,))␤»
15:46 masak andreoss`: good question. I don't know.
15:47 * masak finds he has basically no intuition for those things
15:47 masak maybe the GLR will magically unicorn everything to make sense
15:48 PerlJam m: say ([Z] (1, 2, 3)).perl; my @x = 1, 2, 3; say ([Z] @x).perl;  # now they are equivalent
15:48 camelia rakudo-moar 45c479: OUTPUT«((1,), (2,), (3,))␤((1,), (2,), (3,))␤»
15:48 PerlJam You could also flatten @x I suppose if you really wanted the other thing
15:49 RabidGravy mmmm magical unicorns
15:49 jnthn .tell skids Yes, send along PRs, I'm 6-ing all day tomorrow so will take care of 'em then.
15:49 yoleaux jnthn: I'll pass your message to skids.
15:49 PerlJam masak: it's NFG that gets us unicorns   ;)
15:50 skids jnthn: working on that now :-)
15:50 yoleaux 15:49Z <jnthn> skids: Yes, send along PRs, I'm 6-ing all day tomorrow so will take care of 'em then.
15:50 brrt joined #perl6
15:50 masak PerlJam: maybe GLR can give us rainbows, then.
15:50 * masak hopes there won't be a nyan cat at the end of the rainbow
15:51 brrt thanks everybody for all the nice comments on the grant app :-)
15:51 brrt also..
15:51 brrt .tell moritz: see here , if you can stomach at&t syntax: https://gist.github.com/bdw/fef76ca07b7203e49fc2
15:51 yoleaux brrt: What kind of a name is "moritz:"?!
15:51 colomon anyone have a clue how to get a scalar value from a p5 variable using Inline::Perl5 ?
15:51 PerlJam yoleaux: you need to be a smarter bot!
15:51 brrt .tell moritz see here if you can stomach at&t syntax https://gist.github.com/bdw/fef76ca07b7203e49fc2
15:51 yoleaux brrt: I'll pass your message to moritz.
15:52 brrt .botsnack
15:52 yoleaux :D
15:52 synbot6 om nom nom
15:57 vendethiel joined #perl6
15:59 jnthn lizmat: Do you have anything stronger than "feels like" on the precomp thing? I'm not saying it's impossible it's that, but I'm struggling on an explanation.
16:00 lichtkind joined #perl6
16:00 liztormato joined #perl6
16:01 jnthn (And would like any "evidence"/"hunches" so I don't repeat re-discovering what you already figured ;))
16:02 liztormato jnthn: the error I saw actually happened in generating the backtrace of another error
16:02 rindolf joined #perl6
16:03 jnthn liztormato: Oh, hm.
16:04 liztormato Am enjoying a sunny afternoon at the Berghoes ;-)
16:04 jnthn liztormato: That could be related, though then of course raises the question "what code path is differnet on JVM" :)
16:04 7F1AAT7SG joined #perl6
16:04 brrt is there a way to get inline help in the REPL?
16:05 * jnthn refrains from making a pun about hoes..
16:05 liztormato The top of the stack trace was the 2nd line in Backtrace.new
16:05 jnthn .oO( it'd only make me look a tool... )
16:05 jnthn liztormato: OK, I'll fire off a build tomororw (or maybe later tonight) and see what I can see. Thanks.
16:05 masak Result: PASS
16:05 masak (on stresstest)
16:05 masak good work, everyone!
16:05 liztormato_ joined #perl6
16:06 jnthn masak: And how many tests did it pass? :#d
16:06 masak 116362
16:06 masak o.O
16:06 masak I... did I miss anything?
16:06 jnthn Thank you, Unicode consortium :P
16:06 masak I thought we had ~35000... oh.
16:06 jnthn masak: Yeah, I dragged in the official Unicode normalization test suite.
16:06 masak heh.
16:06 masak how many tests do the Perl 5 test suite have?
16:07 masak does*
16:07 jnthn masak: And just sampled a bit of it for sanity test, but figured if we want to claim we do it right we might as well just run the official thing.
16:07 jnthn But only for stress test. :)
16:07 liztormato_ jnthn: I wonder if the jvm fails could explain reports of panda not working on the jvm
16:07 jnthn liztormato_: Possibly.
16:10 eli-se joined #perl6
16:16 masak m: say Uni
16:16 camelia rakudo-moar 45c479: OUTPUT«(Uni)␤»
16:16 masak m: say Uni ~~ Str
16:16 camelia rakudo-moar 45c479: OUTPUT«False␤»
16:16 masak m: say Str ~~ Uni
16:16 camelia rakudo-moar 45c479: OUTPUT«False␤»
16:16 masak m: say "abc".WHAT
16:16 camelia rakudo-moar 45c479: OUTPUT«(Str)␤»
16:17 moritz .botsnack
16:17 synbot6 om nom nom
16:17 yoleaux :D
16:17 yoleaux 15:51Z <brrt> moritz: see here if you can stomach at&t syntax https://gist.github.com/bdw/fef76ca07b7203e49fc2
16:17 masak m: say "????".WHAT
16:17 camelia rakudo-moar 45c479: OUTPUT«(Str)␤»
16:17 masak m: say "????".Uni
16:17 camelia rakudo-moar 45c479: OUTPUT«Method 'Uni' not found for invocant of class 'Str'␤  in block <unit> at /tmp/VPSQcGXVSm:1␤␤»
16:18 masak oh, so code point : grapheme :: Uni : Str
16:19 jnthn masak: Right.
16:19 jnthn masak: You can't coerce to Uni
16:20 jnthn masak: Only to once of it's subclasses.
16:20 jnthn masak: I guess we could make .Uni and alias for .NFC...
16:20 jnthn m: say "�".Uni.list
16:20 camelia rakudo-moar 45c479: OUTPUT«Method 'Uni' not found for invocant of class 'Str'␤  in block <unit> at /tmp/2P_a3xaB_I:1␤␤»
16:20 jnthn darn!
16:20 jnthn m: say "�".NFC.list
16:20 camelia rakudo-moar 45c479: OUTPUT«65533␤»
16:21 jnthn m: say "�".NFC.list>>.uniname
16:21 camelia rakudo-moar 45c479: OUTPUT«REPLACEMENT CHARACTER␤»
16:21 jnthn bah, I bet that ain't what masak typed :P
16:21 PerlJam m: Uni.new(0x1f639).Str.say;  # :)
16:21 camelia rakudo-moar 45c479: OUTPUT«????␤»
16:21 jnthn But yeah, Uni is Buf-ish in nature.
16:21 jnthn But codepoint level
16:21 masak aha.
16:22 arnsholt Sort of a buf32, I guess?
16:22 jnthn A buf32 isn't necesarily Unicode codepoints in it though.
16:22 jnthn And can't be coerced to a Str without saying how to decode
16:23 jnthn Buf = byte level, Uni = code point level, Str = grapheme level
16:23 arnsholt Yeah, sure
16:23 arnsholt Bufs need to be decoded is the most important difference, I guess
16:23 arnsholt But only actual codepoints is pretty important too
16:24 jnthn Also the subtypes of Uni promise a normalization.
16:24 arnsholt Yeah, that's pretty convenient
16:25 masak so, Str --normalize--> Uni (subtype) --encode--> Buf/Blob ?
16:26 jnthn Yes
16:26 TimToady well, one usually thinks about normalization as going the other direction
16:26 yoleaux 03:06Z <raydiak> TimToady: there isn't actually anything wrong with those Proc::Async tests themselves, is there?  https://github.com/rakudo/rakudo/pull/412 fixes it for me
16:26 jnthn Though you don't normally normalize on output :)
16:26 masak TimToady: but it feels weird to call that step "denormalize" :)
16:26 jnthn You'll get NFC "for free" thanks to Str being NFG.
16:26 masak *nod*
16:26 masak jnthn++ # https://github.com/MoarVM/MoarVM/blob/master/src/strings/normalize.c -- OMG, it's full of comments!
16:26 arnsholt Str is normalized too, so I guess it's more "select normalization form"
16:26 masak arnsholt: yeah, that's a better way to put it
16:27 jnthn masak: Yes, and Unicode spec refs for those wanting more gore. :)
16:27 vendethiel joined #perl6
16:30 TimToady I suppose it's "normalizing" in the sense that it's turning an internal form into what the "normal" world is expecting
16:30 jnthn *nod*
16:30 liztormato left #perl6
16:30 * masak .oO( ♩ hell and gore! ♫ )
16:30 PerlJam That sounds more like "humanizing" than normalizing
16:31 TimToady nah, it's dehumanizing
16:31 masak Rudolf Steinerizing.
16:32 TimToady .oO(NerFing)
16:33 TimToady --Unicoding-->
16:33 TimToady goes well with --Encoding-->
16:34 TimToady 'course, then the latter should be called UTFcoding...
16:35 * masak .oO( WTF8 )
16:36 PerlJam masak: that sounds like something vaguely regexish
16:37 estrabd joined #perl6
16:39 dalek rakudo/nom: 0b5f646 | jnthn++ | docs/ChangeLog:
16:39 dalek rakudo/nom: ChangeLog tweaks.
16:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0b5f646541
16:41 moritz why is the default overlap of List.rotor 1?
16:42 moritz sounds like 0 would be the more obvious choice to me
16:42 PerlJam ah ... maybe that's why I was thinking yesterday that overlap of 0 was broken ... it's not the default.
16:43 TimToady people solve the non-overlap case most of the time with -> $a, $b, $c, $d {...}
16:43 TimToady but I don't feel strongly about it
16:44 TimToady one could argue it should be n-1 :)
16:44 masak if the default is debatable, why is there a default?
16:45 jantore joined #perl6
16:45 moritz TimToady: the signature unpacking trick only works if the number is fixed
16:45 TimToady good question, I suppose there's a huffmanish principle that uncommon shouldn't have defaults
16:45 TimToady but 0 is probably a reasonable default
16:46 moritz I'll document it without the default(s) until the question is resolved
16:46 TimToady I don't recollect ever deciding that 1 was the right default
16:46 moritz (and has percolated into roast and rakudo)
16:46 brrt joined #perl6
16:47 moritz also, should we allow negative overlaps?
16:47 TimToady well, why not?
16:47 masak that makes more sense to me.
16:48 masak the interpretation is straightforward.
16:48 masak "underlaps"
16:48 moritz "gaps"
16:48 TimToady one could argue the sign is wrong, and we should call it "backup"
16:48 moritz m: say <a b c>.rotor(1, -1)
16:48 camelia rakudo-moar 45c479: OUTPUT«===SORRY!===␤Overlap argument to List.rotor out of range. Is: -1, should be in 0..0␤»
16:48 TimToady well, that's wrong too
16:48 moritz call it "gap"
16:49 moritz and positive gaps are gaps, negative gaps are overlap
16:49 TimToady that's pretty okay
16:49 TimToady and 2, -1 reads very clearly as "two steps forward, one step back"
16:50 masak nice
16:50 dalek rakudo/nom: 3cba43f | jnthn++ | docs/ChangeLog:
16:50 dalek rakudo/nom: Some more ChangeLog entries.
16:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3cba43ffb0
16:50 PerlJam moritz++
16:51 grettis joined #perl6
16:51 moritz rotor isn't used in the ecosystem yet
16:51 * TimToady wonders if there's call for larger rotors, 2, 1, 3, 1 and such
16:51 moritz so we should be able to change it without much breakage
16:51 jnthn masak: About to go for dinner and I see there's no release announcement doc yet, but can you mention these two in it:
16:51 jnthn 1) A try block now enforces "use fatal"
16:52 jnthn 2) From 2014.05, strings on MoarVM will have NFG semantics.
16:52 masak jnthn: ok
16:52 moritz TimToady: should I remove the rotor default for $elems (first arg)?
16:53 moritz it seems pretty arbitrary to me
16:53 jnthn masak++
16:53 masak moritz: +1
16:53 eli-se joined #perl6
16:53 TimToady yes, but if we make it repeat longer sequences, then 2 will naturally default to 2,0
16:54 TimToady so to take alternating 2's and 3's we could have 2,0,3 or 2,0,3,0
16:54 * PerlJam notices that Supply also has a .rotor method
16:54 * TimToady now imagines an infinite rotor that takes fibonacci amounts
16:54 moritz TimToady: I still don't see the obvious generalization
16:55 TimToady well, how do you take alternating 2's and 3's currently?
16:55 PerlJam TimToady: why not .rotor([2,3], 0)  ?
16:55 PerlJam I don't think .rotor does that yet
16:55 TimToady what if you want different gaps
16:55 moritz by writing code that indexes the list, duh
16:55 eli-se haii!!
16:56 TimToady I think we want to put as many teeth on the rotor's gear as the user wants, and gaps wherever they want
16:56 moritz TimToady: or alternating 2's and 3's can be done with rotor(5) and subsequent munging
16:56 moritz TimToady: well, as many teeth are possible would mean either a list or a callback
16:57 PerlJam for different teeth and different gaps: .rotor([2,3],[1,-1])
16:57 masak overgeneralization...
16:57 * moritz stops writing specs and docs
16:57 TimToady I don't think this is over
16:57 TimToady I think (5,0) is under
16:58 moritz I've had plenty of use cases for (5, 0), (5, 1) and (5, -1)
16:58 moritz not much else, TBH
16:58 TimToady PerlJam: I dont like separating related values like that, though one could play the same trick as tr on two lines, I suppose
16:59 TimToady I can imagine using a (3,0,2,0) rotor for music written in 5/4 time
16:59 PerlJam TimToady: aye, you're way of interleaving them has some mnemonic value for remembering what they mean too
16:59 PerlJam s/you're/your/
16:59 TimToady you just march down the list, taking every other one, and repeat when it runs out
16:59 vendethiel joined #perl6
17:00 PerlJam And add an implicit 0 when the list has an odd number of elements?
17:00 moritz but would the code that consume that list deal with it?
17:00 moritz I mean, for a 5/4 time, why not consume in (5, 0) steps?
17:01 moritz oh, and if the elems and gaps belong together, why not make them Pairs?
17:01 TimToady "I can't read this 7/4 notation, please rewrite using alternating 3/4 and 4/4 time like we did before..."
17:02 * moritz feels the discussion has gone from an simple, obvious improvement of rotor to something much more questionable
17:03 PerlJam moritz: the simple, obviouis improvement can still happen as a stepping stone to the generalization  :)
17:03 TimToady well, you're the one that brought Pairs to the bikeshed :P
17:04 dalek specs: ea466e4 | moritz++ | S32-setting-library/Containers.pod:
17:04 dalek specs: List.rotor: redesign second argument from overlap to gap
17:04 dalek specs:
17:04 dalek specs: explicit allow negative gaps to mean overlap
17:04 dalek specs: review: https://github.com/perl6/specs/commit/ea466e4571
17:04 moritz masak: should the code change for that go into the release? or rather wait (and warn in the announcement that .rotor's behavior will change?)
17:05 masak moritz: feel free to do it before.
17:05 * PerlJam votes wait
17:05 masak heh :)
17:05 TimToady let's wait five minutes and then do it :)
17:05 PerlJam heh
17:05 masak my plan is to go get noms, then come back and start the releng
17:06 PerlJam if we wait until after the release, we can warn in the release and then redesign "completely" before the next one
17:06 TimToady .oO(don't you need to leng before you releng?)
17:06 masak TimToady: you need to leng, deleng, then releng
17:07 TimToady doesn't sound normal
17:07 TimToady maybe it's just --norming-->
17:08 TimToady "achieve a norm"
17:08 moritz turns out we only have spectests for supply.rotor, not for List.rotor
17:09 TimToady so it doesn't really exist yet :)
17:10 * masak had never heard "rotor" used in this sense before he saw the method being added to the spec
17:10 * TimToady is actually warming to the Pairs idea
17:10 masak noms &
17:11 TimToady because then a (3,2) rotor would imply (3=>0, 2=>0) rotor
17:13 TimToady and "slipping teeth on the gear" becomes a secondary quality to specifying the takers
17:14 TimToady and taking twice as many each time just becomes (1,2,4...*)
17:14 TimToady and I can well imagine uses for that
17:15 TimToady (statistical sample doubles each time, for instance)
17:16 TimToady so unless someone can think of a big downside to using Pairs to indicate slippage, I think that's the direction we're going
17:16 TimToady moritz++ even if he doesn't like it :)
17:17 PerlJam Does rotor wrap the list?  i.e. what should happen for  2 => -4  ?
17:17 moritz PerlJam: it doesn't wrap
17:17 moritz PerlJam: and that would be a fail()ure
17:18 TimToady agree
17:19 TimToady now, if you want over the top, then the gap can be a closure, and if it's random, than 2 => { (-10..10).pick } is almost a precise picture of "gamblers ruin"
17:20 TimToady except, of course, that a casino might actually be willing to loan you a little money at a not-so-little interest rate
17:20 moritz though of course you can generate that too with map { 2 => $_ }, (-10..10).pick xx *
17:21 TimToady sure, it's really on the slicing that enforces the "ruin"
17:21 moritz a closure only really makes sense if there's some new information that we pass to the closure to inform its decision
17:21 TimToady *only
17:21 TimToady I think we easily delegate that to whatever is producing list we feed to rotor
17:22 TimToady so a closure there would definitely be Too Much
17:22 TimToady I suppose if we weren't going for the mechanical metaphor, we'd call it polyslice or so
17:22 grondilu in the Changelog it is written that xx has been made 1.8 times faster.  Yet [+] rand xx 100_000 (which I often try to see speeds improvements) is not faster.
17:23 TimToady rand requires a thunk
17:23 TimToady it's probably the non-thunk case that is faster
17:23 grondilu ok
17:24 TimToady generating N random numbers might be something we could optimize though
17:24 * PerlJam lunch &
17:25 Rounin joined #perl6
17:25 TimToady it's a good day when I can catch up on the backlog while everyone is eating; it's a bad day when I can only catch up while they're sleeping...
17:29 TimToady if we really want a deprecation cycle for rotor, and if we're really going with Pairs, then we have a path forward: do the new gap semantics only with Pairs, and deprecate any non-pair 2nd arguments, then after the deprecation cycle, allow non-pair integers as pure takers
17:31 beastd joined #perl6
17:32 grondilu the idea of optimizing a the generation of N random numbers makes me wonder how one can test if a &f variable is a given function.
17:33 grondilu m: say (-> $ { rand }) === &rand;
17:33 camelia rakudo-moar 3cba43: OUTPUT«False␤»
17:33 TimToady that's only the same function after inlining :)
17:33 grondilu that's probably too much to ask, I suppose.
17:34 TimToady oh, and what are you passing to rand, which doesn't take an argument?
17:34 grondilu indeed
17:34 grondilu I'm not sure how to use the pointy syntax with no arg, though
17:34 grondilu std: -> {}
17:34 camelia std 28329a7: OUTPUT«ok 00:00 136m␤»
17:34 grondilu that looks fine
17:34 TimToady it is fine
17:34 grondilu m: say (-> { rand }) === &rand;
17:34 camelia rakudo-moar 3cba43: OUTPUT«False␤»
17:35 TimToady what confuses people is that they then try to write -> { $^a } and such
17:35 TimToady std: -> { $^a }
17:35 camelia std 28329a7: OUTPUT«5===SORRY!5===␤Placeholder variable $^a cannot override existing signature ( ) at /tmp/v4elZlOVdL line 1:␤------> 3-> { 7⏏5$^a }␤Check failed␤FAILED 00:00 138m␤»
17:35 moritz TimToady: given the current uncertainty about the rotor situation, I don't think we should ship a modified version with the upcoming release, just a warning that behavior will change
17:35 TimToady people might start using it this month
17:36 arnsholt grondilu: FWIW, checking if two functions are equivalent is equivalent to the halting problem =)
17:36 grondilu arnsholt: yeah I was suspecting something like that
17:36 TimToady arnsholt: you just assign each of them a Gödel number and then compare...oh wait...
17:36 beastd joined #perl6
17:37 yqt joined #perl6
17:37 moritz and then you gödel away
17:37 arnsholt grondilu: Both the halting problem and equivalence are instances of http://en.wikipedia.org/wiki/Rice's_theorem
17:38 TimToady the halting problem is just Waiting for Gödel...
17:44 raydiak good morning #perl6
17:45 raydiak is it normal to deprecate attributes using a method under the old name?  it makes for silent failure when using the old name as a constructor arg
17:47 TimToady the silent failure is the *%_ thing, not the fault of the deprecation
17:48 raydiak yeah I guess I was just wondering if there was another mechanism we usually use for attributes isntead of methods which catches that
17:48 diana_olhovik_ joined #perl6
17:49 raydiak has ... is DEPRECATED(...) or whatever...just a thought
17:50 Zoffix joined #perl6
17:50 dalek rakudo/nom: a29614c | TimToady++ | src/core/ (2 files):
17:50 dalek rakudo/nom: shim in .rotor(Pair) for transition to gapishness
17:50 dalek rakudo/nom:
17:50 dalek rakudo/nom: Whether we deprecate current rotor is independent of this.
17:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a29614c54b
17:52 TimToady if we warn them doc-only, we can at least give them something to change it to now
17:53 TimToady assuming "them" is not the null set, but even if they are...
17:53 rindolf joined #perl6
17:57 raydiak should Proc::Status.signal default to 0 as designed in S29?  .signal and .status give uninitialized warnings, though idk if it gets set yet if there is a signal
17:58 Zoffix left #perl6
18:03 eli-se IDENTIFICATION DIVISION.
18:06 * masak .oO( you can write COBOL in any channel... )
18:08 vendethiel joined #perl6
18:09 TimToady eli-se is channeling COBOL
18:09 eli-se I wrote hangman in COBOL.
18:12 TimToady try nroff macros next time
18:13 cognominal joined #perl6
18:15 eli-se :(
18:15 eli-se I once wrote a herding simulator in Befunge.
18:15 masak m: my $x = 1; $x ...= 5; say $x
18:15 camelia rakudo-moar 3cba43: OUTPUT«This type does not support positional operations␤  in block  at src/gen/m-CORE.setting:9822␤  in method reify at src/gen/m-CORE.setting:9797␤  in block  at src/gen/m-CORE.setting:9822␤  in method reify at src/gen/m-CORE.setting:9797␤  in method r…»
18:16 masak hm.
18:37 masak ok.
18:37 masak release process is now underway. do not adjust your set.
18:37 dalek specs: 02c24b5 | TimToady++ | S32-setting-library/Containers.pod:
18:37 dalek specs: doc new rotor semantics
18:37 dalek specs: review: https://github.com/perl6/specs/commit/02c24b5b34
18:38 lizmat TimToady: I guess the Supply.rotor (which started all this) should have the same semantics then ?
18:38 TimToady I put a shim in Supply too
18:39 TimToady that currently only handles one Pair, and translates to the old method
18:39 TimToady but reverses the sign to get gap semantics rather than overlap
18:39 lizmat I was more referring to specs than implementation
18:40 TimToady m: say ('a'...'z').rotor(3 => -2)
18:40 camelia rakudo-moar a29614: OUTPUT«a b c b c d c d e d e f e f g f g h g h i h i j i j k j k l k l m l m n m n o n o p o p q p q r q r s r s t s t u t u v u v w v w x w x y x y z␤»
18:40 TimToady m: say ('a'...'z').rotor(3 => -2).perl
18:40 camelia rakudo-moar a29614: OUTPUT«($("a", "b", "c"), $("b", "c", "d"), $("c", "d", "e"), $("d", "e", "f"), $("e", "f", "g"), $("f", "g", "h"), $("g", "h", "i"), $("h", "i", "j"), $("i", "j", "k"), $("j", "k", "l"), $("k", "l", "m"), $("l", "m", "n"), $("m", "n", "o"), $("n", "o", "p"), $("…»
18:40 TimToady yes, feel free to change the Supply specs to match
18:42 TimToady I suppose the warning on rotor changes should go into the release notes
18:43 dalek rakudo/nom: b7087d4 | (Carl Masak)++ | docs/ChangeLog:
18:43 dalek rakudo/nom: [docs/ChangeLog] hyphen nitpickery
18:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b7087d4df1
18:43 masak a "special casing" is different from "special-casing" :P
18:43 dalek specs: 84b405c | lizmat++ | S17-concurrency.pod:
18:43 dalek specs: Adapt Supply.rotor to match List.rotor
18:43 dalek specs: review: https://github.com/perl6/specs/commit/84b405cac5
18:44 masak does anyone have any reason to believe docs/ChangeLog is not up-to-date?
18:44 * TimToady is quite certain he never updated the Changelog
18:45 masak ok :)
18:45 lizmat the sequence fixes are a bit vague
18:45 masak ok, will have a look for things.
18:45 lizmat "many sequence (...) related fixes"
18:45 lizmat perhaps TimToady can elaborate ?
18:45 TimToady basically, it's no longer confused about whether its incoming arguments are itemized or not
18:46 lizmat masak: some ^\\s+ oddities maybe?
18:46 lizmat ^\s+ rather
18:46 TimToady and it now figures out when an intuited iterator would bypass a final value
18:47 TimToady m: say 1,2,4 ... 100
18:47 camelia rakudo-moar a29614: OUTPUT«1 2 4 8 16 32 64␤»
18:47 TimToady instead of heading off to infinity
18:47 TimToady m: say 1,2,4 ... 3
18:47 camelia rakudo-moar a29614: OUTPUT«1 2␤»
18:47 TimToady m: say 1,2,4 ... 1.5
18:47 camelia rakudo-moar a29614: OUTPUT«1␤»
18:47 TimToady m: say 1,2,4 ... 0
18:47 camelia rakudo-moar a29614: OUTPUT«␤»
18:48 TimToady those are the two biggies wrt sequences
18:48 TimToady oh, theres a third
18:48 _mg_ joined #perl6
18:48 TimToady m: say '000' ... '077'
18:48 camelia rakudo-moar a29614: OUTPUT«000 001 002 003 004 005 006 007 010 011 012 013 014 015 016 017 020 021 022 023 024 025 026 027 030 031 032 033 034 035 036 037 040 041 042 043 044 045 046 047 050 051 052 053 054 055 056 057 060 061 062 063 064 065 066 067 070 071 072 073 074 075 076 077␤»
18:49 TimToady beginning and ending of the same length now do the specced semantics
18:49 TimToady considering each position as a separate character range
18:49 dalek rakudo/nom: c1f270d | FROGGS++ | docs/ChangeLog:
18:49 dalek rakudo/nom: mention CURLI and 'is rw'
18:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c1f270d32a
18:50 TimToady m: say '00000000' ... '11111111'
18:50 camelia rakudo-moar a29614: OUTPUT«00000000 00000001 00000010 00000011 00000100 00000101 00000110 00000111 00001000 00001001 00001010 00001011 00001100 00001101 00001110 00001111 00010000 00010001 00010010 00010011 00010100 00010101 00010110 00010111 00011000 00011001 00011010 00011011 0001…»
18:50 dalek rakudo/nom: 95a8325 | FROGGS++ | docs/ChangeLog:
18:50 dalek rakudo/nom: fix formatting
18:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/95a83258ea
18:51 FROGGS masak: I'm done
18:52 masak FROGGS++
18:52 dalek rakudo/nom: 0b82af4 | (Carl Masak)++ | docs/announce/2015.04.md:
18:52 dalek rakudo/nom: [docs/announce/2015.04.md] add early draft
18:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0b82af4a48
18:52 masak eyeballs welcome, though it's a bit early yet.
18:53 masak m: say 'a1x' ... 'c3z'
18:53 camelia rakudo-moar a29614: OUTPUT«a1x a1y a1z a2x a2y a2z a3x a3y a3z b1x b1y b1z b2x b2y b2z b3x b3y b3z c1x c1y c1z c2x c2y c2z c3x c3y c3z␤»
18:53 masak weird ;)
18:54 masak TimToady++
18:54 dalek rakudo/nom: 3b5a326 | lizmat++ | docs/ChangeLog:
18:54 dalek rakudo/nom: Elaborate on sequence fixes, TimToady++
18:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3b5a326471
18:54 dalek rakudo/nom: 9432923 | lizmat++ | docs/announce/2015.04.md:
18:54 dalek rakudo/nom: Merge branch 'nom' of https://github.com/rakudo/rakudo into nom
18:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9432923a1b
18:54 * masak now has a gpg key
18:54 masak I don't, however, have ackles to upload stuff at the end.
18:54 TimToady masak+-+
18:55 masak either I will need to rely on someone else's kindness, or we can try to solve it by sending me a key somehow.
18:57 dalek rakudo/nom: c9a6766 | lizmat++ | docs/ChangeLog:
18:57 dalek rakudo/nom: more ChangeLog tweaks
18:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c9a67662e9
18:58 n0vacane joined #perl6
18:58 moritz masak: /msg me an ssh pubkey
18:58 moritz masak: oh, and there's already an ssh pubkey of yours on that host
18:59 lizmat masak: I'm done with ChangeLog now as well  :-)
18:59 masak yay
18:59 masak going through the git log one more time Justin Case
19:00 lizmat 395 commits since last release
19:00 vendethiel .oO( he's justin when now )
19:01 FROGGS masak: btw, dont bump PARROT_REVISION for nqp, parrot is still buggy on windows... (in case you considered it at all)
19:02 masak FROGGS: thanks, I won't.
19:03 lizmat looking at PairMap again:
19:04 lizmat moritz: I don't read in the spec that a PairMap has a predictable order of keys
19:04 lizmat (re 179d453cff1e91bba9aeeadc)
19:04 lizmat "A hash value that is mutable only in values, differing from a normal
19:04 lizmat hash insofar as the key set is frozen."
19:05 lizmat masak: maybe angle quoted Rat literals should be mentioned
19:05 masak indeed.
19:05 masak will add.
19:05 lizmat (561abb282224eabb63)
19:05 raydiak TimToady++'s regex interpolation fixes might be worth mentioning too
19:05 masak lizmat++
19:05 masak raydiak: what are those?
19:05 masak so improvement. much wow.
19:07 TimToady I dunno if SETTING now including CORE is worth mention
19:07 moritz lizmat: "Optimization ey is allowed.  Optimization
19:07 moritz sorry
19:07 raydiak masak: 7bef4a3 and 1fb4820
19:08 raydiak afk
19:08 moritz "Optimization
19:08 moritz to something like an ordered hash is also allowed"
19:08 moritz the *ordered* here implies, well, ordering
19:08 masak hah, "unless elsif" used to parse!?
19:08 moritz but yes, that's the only hint of PairMap being ordered
19:09 yqt joined #perl6
19:09 TimToady attempting to bind a Failure now tells you what was in the Failure, maybe that's worth mentioning
19:10 pullphinger joined #perl6
19:10 timotimo i think it is worth mentioning
19:10 lizmat 9210cc684c737: allow [Z] and such on indirect lols.  We can now reduce with list infixes over an arbitrary number of lists
19:10 TimToady we now have Complex literals
19:11 brrt joined #perl6
19:11 masak yep, just pushed that.
19:11 masak or so I thought. hold on.
19:12 TimToady * autopriming on ~~ is a change
19:12 masak bleh, pull --rebase conflict.
19:12 FROGGS ===SORRY!===
19:13 * masak has another go
19:13 lizmat perhaps mention various REPL fixes, not just the binding fix (e.g. d2355741a5593de8 )
19:13 El_Che moritz: we should run an apt-get -u upgrade and reboot (new kernel to be upgraded) when the activity is low
19:13 TimToady oh, reduce() now pays attention to associativity
19:15 TimToady more generally, associativity now rides with the operator, no longer just implicit knowledge in the compiler
19:15 pullphinger joined #perl6
19:15 masak ooh
19:15 masak I didn't know about that one
19:15 masak TimToady++
19:16 dalek rakudo/nom: 6577860 | (Carl Masak)++ | docs/ChangeLog:
19:16 dalek rakudo/nom: add lots of new ChangeLog items
19:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/65778607c8
19:16 masak people++ for suggestions
19:16 masak let me know if I forgat something ;)
19:17 lizmat 02e1e998218af : fix R to reverse associativity ?
19:18 TimToady that too
19:18 masak m: say 3 - 2 - 1; say 1 R- 2 R- 3
19:18 camelia rakudo-moar a29614: OUTPUT«0␤0␤»
19:18 masak indeed.
19:18 * masak mentions it too
19:18 lizmat 253bb585b53f : Fix various bugs in \(...) syntax
19:18 masak "various bugs"? :)
19:19 * masak .oO( fix *mumble mumble* in [CLASSIFIED] )
19:19 lizmat It didn't correctly differentiate quoted pairs (positional arg) from
19:19 lizmat identifier paris (named arg), nor did it support | for flattening into
19:19 lizmat the Capture. This patches fixes both of these issues, as well as making
19:19 lizmat it handle ;s.
19:19 masak Identifier Paris is lovely in the spring.
19:19 lizmat 8dc34c26065f8ba2 : allow :with on Z and zip
19:20 masak waitwait, what does :with do on Z and zip ?
19:20 TimToady basically \(...) is a real capture now, not an emulated one
19:20 masak m: say 1, 2, 3 Z 10, 20, 30
19:20 camelia rakudo-moar c9a676: OUTPUT«1 10 2 20 3 30␤»
19:21 masak m: say 1, 2, 3 Z 10, 20, 30 :with(&[+])
19:21 camelia rakudo-moar c9a676: OUTPUT«5===SORRY!5=== Error while compiling /tmp/9Uh9U2xl4T␤You can't adverb that␤at /tmp/9Uh9U2xl4T:1␤------> 3say 1, 2, 3 Z 10, 20, 30 :with(&[+])7⏏5<EOL>␤»
19:21 masak m: say 1, 2, 3 Z :with(&[+]) 10, 20, 30
19:21 camelia rakudo-moar c9a676: OUTPUT«5===SORRY!5=== Error while compiling /tmp/HfmHP2KETE␤Two terms in a row␤at /tmp/HfmHP2KETE:1␤------> 3say 1, 2, 3 Z :with(&[+])7⏏5 10, 20, 30␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statem…»
19:21 TimToady you can't do that due to precedence
19:21 TimToady adverbs being tighter than comma
19:21 timotimo "can't adverb that" would probably be nicer if it said what exactly it thought you were applying the adverb to
19:22 TimToady the with is more for the 'reduce' variant
19:22 masak TimToady: "\(...) capture constuct handles nameds and | correctly" is already mentioned -- maybe enough?
19:22 TimToady sure
19:22 masak oki
19:22 masak still trying to understand "allow :with on Z and zip"
19:22 masak any concrete example?
19:23 lizmat 3a8ecbc92066ce : Report correct line numbers for failing tests
19:23 TimToady m: say zip(1,2,3;10,20,30):with(&[+])
19:23 camelia rakudo-moar c9a676: OUTPUT«11 22 33␤»
19:23 TimToady m: say [Z](1,2,3;10,20,30):with(&[+])
19:23 camelia rakudo-moar c9a676: OUTPUT«1 10 2 20 3 30␤»
19:23 TimToady hmm
19:24 TimToady well, it's not needed there
19:24 zakharyas joined #perl6
19:24 TimToady m: say (1, 2, 3 Z 10, 20, 30) :with(&[+])
19:24 camelia rakudo-moar c9a676: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ylvrTXCDPO␤You can't adverb that␤at /tmp/ylvrTXCDPO:1␤------> 3say (1, 2, 3 Z 10, 20, 30) :with(&[+])7⏏5<EOL>␤»
19:25 TimToady hmm, maybe that one should work
19:25 lizmat 80afb7daa2db531 :  use more [] and {} in .perl output for clarity
19:25 timotimo m: say (1, 2, 3) Z (10, 20, 30) :with(&[+])
19:25 camelia rakudo-moar c9a676: OUTPUT«5===SORRY!5=== Error while compiling /tmp/zPM4EpWYIg␤You can't adverb that␤at /tmp/zPM4EpWYIg:1␤------> 3say (1, 2, 3) Z (10, 20, 30) :with(&[+])7⏏5<EOL>␤»
19:25 lizmat masak: not sure how to describe that one
19:25 TimToady those are just superstitious parens
19:26 TimToady doesn't change the precedence of Z
19:26 masak lizmat: "correct line numbers are reported for failing tests"? :)
19:27 masak sounds like a fix to me
19:27 lizmat apparently, they weren't always
19:27 lizmat worth mentioning, yes ?
19:27 dalek rakudo/nom: ab6c252 | (Carl Masak)++ | docs/ChangeLog:
19:27 dalek rakudo/nom: [ChangeLog] mention yet another fix
19:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ab6c2527cb
19:27 masak yes. lizmat++
19:28 lizmat hmmm... maybe we should remove has-substr before the release ?
19:28 lizmat it now being substr-eq
19:29 masak fine by me.
19:29 masak guess it doesn't need to go through a deprecation cycle if it never made it into a release...
19:29 lizmat yup  :-)
19:30 dalek rakudo/nom: 3d3bc76 | lizmat++ | src/core/Cool.pm:
19:30 dalek rakudo/nom: Remove has-substr, it's called substr-eq now
19:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3d3bc765d6
19:30 lizmat there were no tests and no spec
19:31 lizmat 8f5865bd576f4ac2 : Change semantics of coercion types in multis
19:31 masak just saw that one :)
19:31 * masak gives it a mention
19:32 masak I think that goes in "Incompatible changes", actually
19:32 lizmat yes, my thought exactly
19:32 masak does that mean that a multi routine with two Int() params creates four candidates?
19:33 lizmat that would follow from the description, yes
19:33 masak exponentially the fun ;)
19:34 dalek rakudo/nom: 9c2ae90 | (Carl Masak)++ | docs/ChangeLog:
19:34 dalek rakudo/nom: [ChangeLog] mention Int() in multi semantics change
19:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9c2ae90304
19:34 masak anyone have any idea about the .pm group to honor this month?
19:35 skids Someplace with funny character sets.
19:35 skids The more umlauts the better.
19:36 lizmat .oO( some name with codepoints that don't compose )
19:36 lizmat hmm... that may be better for next months  :-)
19:36 lizmat when we have NFG
19:36 masak ;)
19:36 dalek rakudo/nom: c65d741 | (Carl Masak)++ | docs/announce/2015.04.md:
19:36 dalek rakudo/nom: [announce/2015.04.md] add list of contributors
19:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c65d7418ba
19:37 masak feel free to check this for duplicates. I did a quick scan but might've missed sump'n.
19:38 lizmat Jonathan Stowe == RabidGravy, no?
19:38 RabidGravy yep
19:38 masak ok, de-duping.
19:38 skids .oO(only after he drinks the bubbling beaker of potion)
19:38 RabidGravy what did I break?
19:38 dalek rakudo/nom: 4fa2545 | (Carl Masak)++ | docs/announce/2015.04.md:
19:38 dalek rakudo/nom: de-dupe RabidGravy++
19:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4fa25455f9
19:39 masak RabidGravy: just appeared twice in this month's contributor list ;)
19:39 masak ok, I think I'm gonna go with Vladivostok.pm
19:40 masak surprised we haven't had that one before :)
19:40 masak we've had all of China's .pm groups (except China.pm itself) *and* HongKong *and* Singapore :)
19:40 masak someone must like that part of Asia :P
19:41 RabidGravy the reason it's RabidGravy is because the last time I used IRC previously on this OS installation it was with the radio station I look after
19:41 lizmat .oO( Sarah Palin: I can see Perl 6 from here )
19:41 RabidGravy and er, that's my music thing
19:42 masak chromatic released Seoul.pm many years ago.
19:42 telex joined #perl6
19:44 dalek rakudo/nom: 1235a27 | (Carl Masak)++ | docs/announce/2015.04.md:
19:44 dalek rakudo/nom: [announce/2015.04.md] This. Is. VLADIVOSTOK.
19:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1235a27e0b
19:49 dalek rakudo/nom: 338ad26 | (Carl Masak)++ | docs/announce/2015.04.md:
19:49 dalek rakudo/nom: [announce/2015.04.md] add a list of changes
19:49 dalek rakudo/nom:
19:49 dalek rakudo/nom: Note that this is a subset of all the things from the ChangeLog.
19:49 dalek rakudo/nom: This month there were a lot of things, and we show the most notable
19:49 dalek rakudo/nom: ones.
19:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/338ad26235
19:49 masak if anyone feels I missed something notable in that list, now's the time to review :)
19:50 masak actually, now's the time to review the entire announement. there are no more "TBD" tags in it.
19:50 masak eyeballs, assemble! :D
19:50 lizmat perhaps: the RC release in September will remove *all* deprecations
19:50 lizmat ?
19:51 masak I didn't understand that point.
19:51 masak how is that a change to this month?
19:51 masak that sounds like a change to September...
19:51 lizmat well, true, not specific to this month
19:51 masak ok :)
19:51 cschwenz joined #perl6
19:51 lizmat but specific for the period in which that decision was made by TimToady
19:51 masak (still don't really get why it's part of this month's ChangeLog)
19:52 masak sounds like a policy change, not a Rakudo change...
19:52 RabidGravy mark all existing deprecations as being doomeed for september
19:52 lizmat true
19:52 lizmat ok
19:53 dalek rakudo/nom: bfe3595 | (Carl Masak)++ | docs/release_guide.pod:
19:53 dalek rakudo/nom: [release_guide.pod] move today's release down
19:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bfe3595c86
19:53 lizmat now at 404 commits for this release  :-)
19:53 lizmat .oO( where did it go? )
19:53 masak ok, it's now time for me to cut the NQP release.
19:54 * lizmat runs a jvm spectest
19:55 masak step 1: don't update PARROT_REVISION. :)
19:55 dalek nqp: cf2665d | (Carl Masak)++ | VERSION:
19:55 dalek nqp: bump VERSION to 2015.04
19:55 dalek nqp: review: https://github.com/perl6/nqp/commit/cf2665dd08
19:56 dalek Heuristic branch merge: pushed 25 commits to specs/newio by lizmat
19:56 masak `make realclean` does not work in nqp.
19:56 masak (advised by the release_guide)
19:56 dalek Heuristic branch merge: pushed 42 commits to roast/newio by lizmat
19:56 RabidGravy Proc::Async has deprecations without a date
19:57 lizmat we'll survive  :-)
19:57 rvchangue joined #perl6
19:59 masak error: pathspec '2015.03-148-g8bb5da8' did not match any file(s) known to git.
19:59 masak got this error as Moar (in nqp) was updating submodule 3rdparty/dynasm
19:59 masak :(
20:00 RabidGravy bloody software
20:00 masak it's not a file, it's a `git describe` commitish.
20:01 * masak nukes MoarVM/ and tries again
20:03 masak yep, worked better now.
20:03 masak phew.
20:04 masak I think the MoarVM/ repo had gotten wedged on an old commit somehow.
20:09 * lizmat is tired and goes to bed
20:09 PerlJam g'night lizmat
20:09 RabidGravy harr
20:12 masak 'night, lizmat++
20:12 * PerlJam feels like napping right now
20:13 TimToady bunch of par-tay poopers
20:13 masak :P
20:13 * TimToady just hit that bit of backlog...
20:14 masak got a couple nqp test failures: t/nqp/07-boolean.t t/nqp/59-nqpop.t
20:14 masak should I be worried?
20:14 masak TimToady: did you see my questions in the backlog a couple days back? http://irclog.perlgeek.de/perl6/2015-04-17#i_10455863 and http://irclog.perlgeek.de/perl6/2015-04-17#i_10456699
20:15 TimToady boolean passes here on both platforms
20:15 TimToady waiting for nqpop
20:16 TimToady passed on moarvm
20:16 TimToady for some reason nqp tests on jvm...take...a....while...
20:16 masak oh, I forgot to bump MOAR_REVISION. hold on.
20:17 cschwenz I noticed in http://design.perl6.org/S22.html#emulates that a module can say it emulates another module.  Is there a way to call "use SomeModule;" in such a way that it disables searching for modules which emulate SomeModule?
20:17 TimToady I run with =master, so wouldn't notice that
20:17 dalek nqp: fcc93a6 | (Carl Masak)++ | tools/build/MOAR_REVISION:
20:17 dalek nqp: bump MOAR_REVISION to 2015.04
20:17 dalek nqp: review: https://github.com/perl6/nqp/commit/fcc93a6333
20:18 masak rebuilding.
20:18 TimToady 59 passes here on jvm too
20:18 masak probably the missing bump. rebuilding/retesting
20:18 TimToady don't you now have to bump NQP_REVISION too?
20:18 masak only in Rakudo.
20:19 masak this is nqp :)
20:19 TimToady I thought that's what you were releasing  :)
20:19 raiph joined #perl6
20:19 masak I'm in the nqp release sub-process right now.
20:19 masak haven't gotten back to the (main process) step of bumping the NQP_REVISION yet.
20:19 masak s/back//
20:19 TimToady gacha
20:20 espadrine joined #perl6
20:21 TimToady everything passes under =master, so you're probably good
20:22 RabidGravy cschwenz, having looked at most of the code that parses the META.info the other day I don't think that does anything yet
20:22 RabidGravy but I could be wrong
20:23 dalek doc: 94aeb24 | cygx++ | lib/Type/Buf.pod:
20:23 dalek doc: typo s/rule/role/
20:23 dalek doc: review: https://github.com/perl6/doc/commit/94aeb24ead
20:23 dalek doc: f3218dc | paultcochrane++ | lib/Type/Buf.pod:
20:23 dalek doc: Merge pull request #76 from cygx/patch-1
20:23 dalek doc:
20:23 dalek doc: fix typo s/rule/role/
20:23 dalek doc: review: https://github.com/perl6/doc/commit/f3218dc0d7
20:24 cschwenz RabidGravy, that's what I expected; was mainly wondering if the feature had been thought through well enough to allow one to to say "I want this one — and no substitutes!"
20:25 espadrine_ joined #perl6
20:25 masak nope, still failing those tests.
20:25 masak hm.
20:25 skids cshwentz: use Foo:auth<blah>
20:25 PerlJam masak: what OS are you on ooc?
20:26 timotimo hooray!
20:26 timotimo release
20:27 masak PerlJam: Linux Mint.
20:27 masak looks like it's the Parrot backend nqp is running the tests on.
20:27 RabidGravy but yeah the emulates, supersedes and superseded_by in the META.info don't do much or anything right now as far as I can tell
20:28 cschwenz skids, I saw that in the documentation for the emulates key.  What concerned me was:
20:28 cschwenz Conversely, if one would do a:  "use JSON::Fast;"  then later doing a:  "use JSON::XS:auth<cpan:MLEHMANN>;"  in the same scope would become a no-op, just as if the compunit had already been loaded.
20:29 cschwenz so the spec explicitly disables "use Foo:auth<blah> "
20:29 * masak tries doing it without the parrot backend
20:29 PerlJam masak: I'm on ubuntu 14.04 and I get all tests pass for both moar and jvm  (didn't try parrot)
20:29 cschwenz if i'm reading it correctly (which i may not be)
20:29 skids cschwenz: that's if you load it in the same scope.
20:30 cschwenz ah, okay.
20:30 cschwenz that makes a little more sense
20:30 masak "All tests successful."
20:30 masak much better :)
20:31 * PerlJam wonders what it means for nqp to continue to have parrot support
20:32 masak gah, "secret key not available"
20:32 masak I thought I configured my gpg stuff correctly -- seems I didn't :/
20:32 masak anyone know gpg and can help?
20:32 PerlJam [Coke]++ for being slightly psychic.
20:32 rararara joined #perl6
20:33 brrt hmm
20:33 masak I've never used gpg, is all. I followed the instructions linked from the Rakudo release guide to set up a key.
20:34 masak I even tested it on a .tar.gz file I made before, and it worked there.
20:34 RabidGravy I have to relearn how to use it every five years or so
20:34 brrt maybe printing *everything* on the REPL isn't necessarily a good idea
20:35 masak I'm stuck.
20:35 masak I don't know gpg well enough. I don't know how to move on from here if signing doesn't work.
20:36 masak I need help to continue the nqp release process.
20:36 PerlJam masak: what's in your ~/.gnupg dir?
20:36 PerlJam Are you sure you put the key on the same system you're signing with now? (or copied it there)
20:37 masak PerlJam: https://gist.github.com/masak/dd94439a1865b2fa6c2a
20:37 masak PerlJam: "same system" as in on the laptop. yes.
20:37 masak I'm not ssh'd into anything. I'm doing everything locally.
20:37 masak I saw the gpg key creation succeed.
20:41 * masak spends this idle time investigating why we sign our releases nowadays
20:41 PerlJam masak: I'm not well-versed in gpg either, but I just did a test signing myself and it worked fine.  And my .gnupg dir looks the same as yours modulo file size differences.
20:41 PerlJam masak: I'm not well-versed in gpg either, but I just did a test signing myself and it worked fine.  And my .gnupg dir looks the same as yours modulo file size differences.
20:42 spider-mario joined #perl6
20:42 masak ok. thanks for trying.
20:43 masak PerlJam: did you try signing with `git tag -s -a -m"tag release YYYY.MM" YYYY.MM`? because it worked for me on a .tar.gz file, but not with the git command.
20:43 PerlJam I did bot
20:43 PerlJam er both
20:43 RabidGravy what is the error?
20:44 masak RabidGravy: "secret key not available"
20:44 masak found the relevant backlog: http://irclog.perlgeek.de/perl6/2015-04-02#i_10382716
20:44 masak I'm sorry, but I don't feel so bad about skipping the signing step if I can't make this work.
20:44 RabidGravy oh weird
20:45 masak I feel I've done what I should in order to prepare properly, and it still doesn't work.
20:45 masak whoever does May can deal with this stuff.
20:45 masak I just want to finish the release before I fall asleep.
20:45 vendethiel http://fr.slideshare.net/BrendanEich/value-objects2 I guess even JS wanted crazy operators at some point
20:45 PerlJam masak: does the email you used to generate the key match your git user.email ?
20:46 masak PerlJam: yes.
20:47 masak proceeding without signing.
20:47 PerlJam masak: and you don't have user.SigningKey set to some other key in your .gitconfig?
20:47 masak I don't have that one set to anything.
20:47 PerlJam (and that's all I've got for an attempt at debugging this problem)
20:48 masak thanks for trying.
20:48 masak I'm moving on now.
20:48 PerlJam masak++
20:48 masak someone with the appropriate ssh key, please upload http://masak.org/carl/tmp/nqp-2015.04.tar.gz
20:48 masak thank you.
20:49 masak continuing with the Rakudo release process.
20:50 * PerlJam uploads nqp
20:50 dalek rakudo/nom: 5aecace | (Carl Masak)++ | tools/build/NQP_REVISION:
20:50 dalek rakudo/nom: [release] bump NQP revision
20:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5aecace250
20:50 dalek rakudo/nom: 897e235 | (Carl Masak)++ | VERSION:
20:50 dalek rakudo/nom: [release] bump VERSION
20:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/897e23564c
20:50 masak PerlJam++
20:52 PerlJam random question ... why are the nqp tarballs so much bigger than the rakudo tarballs?  Is it because nqp has the unicode database that rakudo would use?
20:53 PerlJam yeah ... I guess it's just the 3rdparty stuff
20:54 RabidGravy isn't 3rdparty in moarvm rather than nqp?
20:54 RabidGravy all the uv etc ...
20:55 PerlJam nqp has quite a bit of 3rdparty stuff as well: asm  dyncall  jline  jna  libtommath  sha1
20:56 * masak .oO( 3rdpar-tay )
21:00 dolmen joined #perl6
21:03 flussence random question, prompted by seeing a whole bunch of complaints about python3: what happens when we do «dir('.')» on a bunch of filenames that are only partially utf-8?
21:08 masak that is an interesting question.
21:08 masak there's only one way to find out :)
21:09 geekosaur POSIX filenames are inherently byte strings
21:09 geekosaur as much as people want to believe otherwise
21:11 masak I remember reading about the py3 people learning about this, yes.
21:11 flussence I've heard there's people trying to get the next version of POSIX changed to disallow "crazy" things like control chars in them, which would be kinda nice...
21:11 masak question is, what does Rakudo do?
21:11 masak control chars are the least of your problems, no? at least they are valid UTF-8.
21:11 PerlJam whenever one of you guys figure it out, write a blog post about it if it's interesting or useful  ;)
21:11 masak it's invalid codepoints and stuff we should be worried about.
21:19 dtscode wheres a good perl 6 tutorial?
21:20 masak dtscode: http://learnxinyminutes.com/docs/perl6/
21:21 dtscode thanks
21:21 PerlJam Hmm.  that link mentions that Perl 6 runs on parrot.  Maybe it needs an update to mention the suspension
21:23 masak PerlJam: please open an issue or submit a pull request as outlined at the bottom of the page.
21:23 PerlJam will do
21:27 LonelyGM joined #perl6
21:31 dtscode im a little confused by the multiline comments. does it mean #`[] is a multiline comment or do i need #`[#`]?
21:32 masak m: say #`[ like this -- does that make it clearer? ] 42
21:32 camelia rakudo-moar 897e23: OUTPUT«42␤»
21:33 dtscode ah ok
21:38 RabidGravy this is so something that is going to make me want to kill someone who over-uses it
21:39 * dtscode #`[ cant possibly imagine why that would annoy you RabidGravy ]
21:40 PerlJam RabidGravy: it's only a crime if you act on the impulse.
21:40 RabidGravy if #'[ it does I'll be sure to let you ] $kow
21:40 RabidGravy know
21:41 masak no, it has to be a `
21:41 masak not a '
21:41 RabidGravy I know but I can't type
21:42 Peter_R joined #perl6
21:45 RabidGravy in a completely unrelated note is there any documentation on the "earliest $channel { ... } " construct?
21:45 RabidGravy I started on the concurrency doc and get a bit tied up on that
21:49 RabidGravy I'll ask again tomorrow as I have to crash now
21:50 pyrimidine joined #perl6
21:57 Vlavv_ joined #perl6
22:04 masak just finished Rakudo stresstest.
22:04 masak Moar passes just fine.
22:04 masak some test failures on JVM.
22:04 masak I can throw them up as a gist if anyone's interested.
22:05 masak https://gist.github.com/masak/68a451cdb127f6bd6557
22:06 masak Rakudo tarball: http://masak.org/carl/tmp/rakudo-2015.04.tar.gz -- PerlJam, you still there?
22:08 masak (or someone else with the permissions to upload to rakudo.org)
22:08 masak in the meantime, I'll prepare the p6c emission and the Wikipedia update.
22:11 PerlJam aye, I'm here
22:12 masak \o/
22:13 PerlJam uploaded
22:13 PerlJam and now I'm gone  :)
22:13 * PerlJam *poof* &
22:13 masak PerlJam++
22:14 masak p6c email sent.
22:15 vendethiel joined #perl6
22:16 masak https://en.wikipedia.org/wiki/Rakudo_Perl_6 updated.
22:16 masak step 18. done.
22:16 masak standing down the release process.
22:16 masak all systems power down.
22:16 masak thank you; you've been great.
22:17 masak sorry we couldn't make it work with the gpg keys -- maybe next time.
22:17 masak thanks for flying masak Rakudo release process.
22:18 lucasb joined #perl6
22:18 LonelyGM joined #perl6
22:19 lucasb tarballs are 404 here :(
22:19 hoelzro masak++
22:19 lucasb They show up in the apache listing, but when I try to download them, it's 404
22:22 [ptc] masak++
22:22 tadzik masak++
22:22 [ptc] also get 404 here
22:22 davido_ joined #perl6
22:23 [ptc] permissions, maybe?
22:23 masak rakudo.org seems a bit slow
22:23 raydiak wfm just now
22:23 raydiak masak++
22:23 * [ptc] tries again
22:24 * masak doesn't get a reply from http://rakudo.org/downloads/rakudo
22:24 raydiak at the url in the backlog that is
22:24 [ptc] nope.  neither wget nor browser work
22:24 raydiak ah, yeah wasn't trying rakudo.org my bad
22:25 masak no, that was just for PerlJam.
22:25 masak should work, though.
22:26 masak yeah, http://masak.org/carl/tmp/rakudo-2015.04.tar.gz works here.
22:26 masak (temporary URL, though. will go away soon.)
22:26 masak http://rakudo.org/downloads/rakudo doesn't resolve for me.
22:28 Peter_R joined #perl6
22:29 raydiak http://rakudo.org/downloads/rakudo/ does work here (though it redirects with the trailing slash if you leave it off)
22:31 masak http://www.downforeveryoneorjustme.com/rakudo.org agrees it's just me.
22:31 masak well, I am on a hotel wifi, so maybe something screwey is going on. oh well.
22:32 masak I think we made the release, in any case ;)
22:32 masak at least Wikipedia says so.
22:32 andreoss joined #perl6
22:33 raydiak still no luck at http://rakudo.org/downloads/rakudo/rakudo-2015.04.tar.gz though...
22:33 [ptc] shouldn't someone tag the MoarVM build?
22:34 [ptc] the most recent tag for me is still 2015.03
22:34 [ptc] although the VERSION file is up to date
22:34 * TimToady notes that http://rakudo.org/how-to-get-rakudo/ doesn't mention the tarballs at all
22:36 masak [ptc]: you are likely out of date, then. my MoarVM has a 2015.04 tag.
22:36 masak well, that's it for me.
22:36 masak time for bed.
22:36 masak 'night, #perl6
22:36 raydiak thanks again, g'night masak
22:37 [ptc] masak: odd, I just did a fetch, merge
22:37 [ptc] goodnight masak
22:39 [ptc] masak: had to use git fetch --tags, now it works
22:43 TimToady maybe wordpress doesn't think the tarball is published yet?
22:43 dalek nqp: b9560e3 | paultcochrane++ | tools/build/Makefile-common.in:
22:43 dalek nqp: Add RM_F makefile variable
22:43 dalek nqp:
22:43 dalek nqp: This is required in order that `make realclean` can work correctly.
22:43 dalek nqp: review: https://github.com/perl6/nqp/commit/b9560e3fb8
22:44 LLamaRider joined #perl6
22:47 Ben_Goldberg joined #perl6
22:49 TimToady the other interesting thing is that the tarball apparently leaped from 1.4 to 2.4 MB
22:49 TimToady according to the directory, not the file, which I still can't get
22:53 skids joined #perl6
22:54 TimToady I'm guessing the permisions/ownership are wrong on the file
22:54 ponbiki joined #perl6
22:56 TimToady .tell PerlJam can you check the permissions on the tarball you uploaded?
22:56 yoleaux TimToady: I'll pass your message to PerlJam.
22:59 raydiak TimToady: S15-normalization which didn't exist in 2015.03 uncompresses to nearly 6 megs
23:01 raydiak erm, t/spec/S15-normalization that is
23:01 TimToady did we used to include the actual tests?  I thought we just used a tag into roast
23:02 raydiak idk for how long, but they're in the 2015.03 I was checking against
23:02 flussence m: say 1381080 / 2481636; # maybe we ought to start offering .tar.xz releases too, this is quite a size difference
23:02 camelia rakudo-moar 897e23: OUTPUT«0.5565200␤»
23:03 TimToady I guess so
23:03 rmgk_ joined #perl6
23:06 raydiak perhaps we shouldn't include roast but just the sanity tests?
23:07 flussence (to clarify: 1381080 is the size of that 2015.04 url posted by masak++ repacked with "xz -9" -- 2015.03.tar.gz is about 200KB larger than that)
23:11 dtscode say "Interpolate an array using [] : @array[]"; #could someone clarify what interpolate means in this sense?
23:12 flussence as in putting the contents into a ""-string
23:12 flussence m: my @a = ^10; say "@a[]"
23:12 camelia rakudo-moar 897e23: OUTPUT«0 1 2 3 4 5 6 7 8 9␤»
23:12 dtscode ah
23:13 flussence m: my @a = ^10; say "@a"
23:13 camelia rakudo-moar 897e23: OUTPUT«@a␤»
23:15 vendethiel joined #perl6
23:21 TimToady so your email addresses are safe(-ish)
23:21 TimToady as long as you don't put [] after gmail.com :)
23:21 TimToady er, ()
23:22 TimToady m: say "larry@foo.com()"
23:22 camelia rakudo-moar 897e23: OUTPUT«5===SORRY!5=== Error while compiling /tmp/PTrWgiRgJJ␤Variable '@foo' is not declared␤at /tmp/PTrWgiRgJJ:1␤------> 3say "larry@foo.com()7⏏5"␤    expecting any of:␤        argument list␤        postfix␤»
23:22 TimToady m: say "larry@foo.com"
23:22 camelia rakudo-moar 897e23: OUTPUT«larry@foo.com␤»
23:28 raydiak without t/spec, 2015.04 is 654k .tar.gz'd (vs 2.4M), and 4M uncompressed (vs 17)
23:32 dtscode is there a good perl 6 irc lib yet?
23:32 dtscode preferably async?
23:33 dtscode TimToady, thanks :D makes sense
23:40 timotimo fortunately irc is such a simple protocol, and so well defined
23:40 timotimo *cough* *cough*
23:41 vendethiel joined #perl6
23:42 dtscode are you saying roll my own?
23:42 timotimo it'd be cool if we had one, i don't want to make you make it
23:43 TimToady yes, you do, you know you do :)
23:43 timotimo i'm not sure i'd actually do something with it myself
23:43 dtscode ill make one
23:44 dtscode is there at least an async lib already?
23:47 TimToady moritz++ actually has a logger already, written in P6, so you probably don't want to reinvent what he has
23:47 psch m: say "foo@example.com[]"
23:47 camelia rakudo-moar 897e23: OUTPUT«foo@example.com[]␤»
23:48 psch m: my @a = ^3; say "@a[]"
23:48 camelia rakudo-moar 897e23: OUTPUT«0 1 2␤»
23:48 psch m: my @a = ^3; say "a@a[]"
23:48 camelia rakudo-moar 897e23: OUTPUT«a0 1 2␤»
23:48 psch huh
23:48 psch lexical lookup?
23:48 psch oh, the .
23:49 * psch should probably go to bed soon
23:52 psch dtscode: Net::IRC exists, at https://github.com/TiMBuS/Net--IRC
23:53 psch i'm not sure what kind of async library one would look for, with Promises, Supplies and start/await in core, but that might just be because i'm not particularly knowledgable
23:54 danaj joined #perl6
23:54 raydiak there's IO::Socket::Async in core too

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

Perl 6 | Reference Documentation | Rakudo