Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-07-16

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:13 Akagi201 joined #perl6
00:21 btyler joined #perl6
00:25 Celelibi joined #perl6
00:39 thistuso- joined #perl6
00:39 thistuso- joined #perl6
00:41 dayangkun joined #perl6
00:49 zengargoyle joined #perl6
00:55 hoverboard joined #perl6
01:08 dalek roast/S26-WHY: 307ede2 | (Rob Hoelz)++ | integration/advent2011-day10.t:
01:08 dalek roast/S26-WHY: Fix up integration test for 2011 advent calender post
01:08 dalek roast/S26-WHY: review: https://github.com/perl6/roast/commit/307ede2785
01:08 dalek roast/S26-WHY: df01b91 | (Rob Hoelz)++ | S26-TODO:
01:08 dalek roast/S26-WHY: More damn notes
01:08 dalek roast/S26-WHY: review: https://github.com/perl6/roast/commit/df01b91a2d
01:11 dalek specs/S26: 8c901dc | (Rob Hoelz)++ | S26-documentation.pod:
01:11 dalek specs/S26: Refer to .content method for Pod blocks rather than .contents
01:11 dalek specs/S26: review: https://github.com/perl6/specs/commit/8c901dcd52
01:13 hoelzro I have a change to the spec that I'd like others to review: https://github.com/perl6/specs/pull/66
01:13 hoelzro it's pretty simple, but I don't want to start changing the specs willy-nilly =/
01:14 Akagi201 joined #perl6
01:20 jack_rabbit joined #perl6
01:28 FROGGS__ joined #perl6
01:37 klapperl_ joined #perl6
01:47 chenryn joined #perl6
01:48 ilbot3 joined #perl6
01:48 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:,  niecza:, std:, or /msg camelia perl6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
01:49 stux|RC-only joined #perl6
02:15 Akagi201 joined #perl6
02:18 noganex joined #perl6
02:19 thou joined #perl6
02:22 Akagi201 joined #perl6
02:29 nbrown joined #perl6
02:46 nbrown joined #perl6
02:48 chenryn joined #perl6
02:57 thou joined #perl6
03:11 Akagi201_ joined #perl6
03:14 akaseki joined #perl6
03:15 cognominal joined #perl6
03:15 kurahaupo joined #perl6
03:16 aoseki joined #perl6
03:20 PerlJam hoelzro: +1 from me
03:29 anaeem1_ joined #perl6
03:29 araujo joined #perl6
03:35 rindolf joined #perl6
03:40 anaeem1 joined #perl6
03:40 kaleem joined #perl6
03:42 Akagi201 joined #perl6
03:42 Akagi201 joined #perl6
03:49 chenryn joined #perl6
03:54 LordVorp joined #perl6
03:58 dalek roast/S26-WHY: a593fad | (Rob Hoelz)++ | S26-TODO:
03:58 dalek roast/S26-WHY: Remove completed things from TODO
03:58 dalek roast/S26-WHY:
03:58 dalek roast/S26-WHY: Since I've done them already
03:58 dalek roast/S26-WHY: review: https://github.com/perl6/roast/commit/a593faddb4
03:58 dalek roast/S26-WHY: d222e79 | (Rob Hoelz)++ | S26-documentation/why-leading.t:
03:58 dalek roast/S26-WHY: Check leading
03:58 dalek roast/S26-WHY: review: https://github.com/perl6/roast/commit/d222e79077
03:58 dalek roast/S26-WHY: c529aad | (Rob Hoelz)++ | S26-documentation/why-leading.t:
03:58 dalek roast/S26-WHY: Check definedness of trailing properties if none are provided
03:58 dalek roast/S26-WHY: review: https://github.com/perl6/roast/commit/c529aad314
03:58 dalek roast/S26-WHY: 2439f03 | (Rob Hoelz)++ | S26-documentation/why-trailing.t:
03:58 dalek roast/S26-WHY: Flesh out trailing WHY tests a bit
03:58 dalek roast/S26-WHY: review: https://github.com/perl6/roast/commit/2439f03144
03:58 dalek roast/S26-WHY: cff801d | (Rob Hoelz)++ | S26-documentation/why-both.t:
03:58 dalek roast/S26-WHY: Add leading/trailing checks to why-both.t
03:58 dalek roast/S26-WHY: review: https://github.com/perl6/roast/commit/cff801d09d
03:58 dalek roast/S26-WHY: e92b2a8 | (Rob Hoelz)++ | S26-TODO:
03:58 dalek roast/S26-WHY: Check leading/trailing off of the TODO list
03:58 dalek roast/S26-WHY: review: https://github.com/perl6/roast/commit/e92b2a81ad
04:12 dalek roast/S26-WHY: e9406ec | (Rob Hoelz)++ | S26-documentation/why-leading.t:
04:12 dalek roast/S26-WHY: Test WHEREFORE in leading docs
04:12 dalek roast/S26-WHY: review: https://github.com/perl6/roast/commit/e9406eca4c
04:14 ren1us joined #perl6
04:23 kurahaupo joined #perl6
04:47 atroxaper joined #perl6
04:48 SevenWolf joined #perl6
04:50 chenryn joined #perl6
04:58 atroxaper joined #perl6
04:59 kaare_ joined #perl6
05:22 atroxaper joined #perl6
05:34 dayangkun_ joined #perl6
05:38 rurban1 joined #perl6
05:45 cognominal joined #perl6
05:51 chenryn joined #perl6
05:54 atroxaper joined #perl6
06:08 sergot o/
06:08 Akagi201_ joined #perl6
06:19 SamuraiJack_ joined #perl6
06:30 chenryn joined #perl6
06:49 brrt joined #perl6
06:56 darutoko joined #perl6
07:10 Mouq .
07:12 chenryn joined #perl6
07:30 akaseki joined #perl6
07:40 rurban1 joined #perl6
07:45 thou joined #perl6
07:50 FROGGS__ .u Ł
07:50 yoleaux U+0141 LATIN CAPITAL LETTER L WITH STROKE [Lu] (Ł)
07:50 sergot .u Ó
07:50 yoleaux U+00D3 LATIN CAPITAL LETTER O WITH ACUTE [Lu] (Ó)
07:51 FROGGS__ m: say "Ł".ord
07:51 camelia rakudo-moar b46af8: OUTPUT«321␤»
07:51 FROGGS__ so, create a hash with 0xA3 => 0x141 and all the other latin2 specific chars
07:54 sergot is there any faster way to do this?
07:54 moritz doing it in NQP or in C would be faster
07:55 virtualsue joined #perl6
07:56 FROGGS__ m: my %latin2-to-cp = 163 => 0x141; say buf8.new( 0xA3 ).list.map({ %latin2-to-cp{$_} })>>.chr.join
07:56 camelia rakudo-moar b46af8: OUTPUT«Ł␤»
07:57 [Sno] joined #perl6
07:57 FROGGS__ moritz: would be faster at runtime, aye
07:57 FROGGS__ moritz: but it would not be faster to implement for all three backends
07:58 FROGGS__ so I'd vote for "make it work then make it fast"
07:59 FROGGS__ in case we don't care about portability much, we could implement that in moarvm only
08:01 moritz +1
08:02 mr-foobar joined #perl6
08:02 dayangkun__ joined #perl6
08:02 FROGGS__ moritz: +1 to what? :o)
08:03 moritz FROGGS__: to "make it work then make it fast"
08:03 FROGGS__ ahh, k
08:03 FROGGS__ I guess we need that map also in MoarVM, so it should be pretty easy to move it to C when it works
08:04 FROGGS__ jnthn: you don't mind if we add latin2 to 15 to MoarVM?
08:13 chenryn joined #perl6
08:14 sergot FROGGS++ thanks
08:24 rindolf joined #perl6
08:26 masak good antenoon, #perl6
08:27 dakkar joined #perl6
08:28 arnsholt o/
08:29 Akagi201 joined #perl6
08:47 [Coke] \o
08:49 jnthn o/
09:01 dmol joined #perl6
09:02 brrt joined #perl6
09:02 daxim joined #perl6
09:03 FROGGS__ froggs@TL02L-R8RXTCW-linux:~/dev/rakudo$ perl6-m -e 'say buf8.new( 0xA3 ).decode("latin1")'
09:03 FROGGS__ £
09:03 FROGGS__ froggs@TL02L-R8RXTCW-linux:~/dev/rakudo$ perl6-m -e 'say buf8.new( 0xA3 ).decode("latin2")'
09:03 FROGGS__ Ł
09:05 FROGGS__ jnthn: can you please review if that is the right thing to do?
09:05 FROGGS__ https://github.com/MoarVM/MoarVM/commit/4bb41be72b3b360af37a20e21b46e2ca4fa7adee
09:05 FROGGS__ https://github.com/rakudo/rakudo/commit/c1f61b8633c3ebb3fe2a9e48caf11a6eeeffcb02
09:06 FROGGS__ sergot: ^^ # though, perhaps we do it in another way, we'll see
09:06 FROGGS__ bbiab
09:07 FROGGS[mobile] joined #perl6
09:14 chenryn joined #perl6
09:16 kurahaupo joined #perl6
09:18 fhelmberger joined #perl6
09:23 virtualsue joined #perl6
09:27 sergot FROGGS__: looks nice for me
09:29 dalek rakudo/latin2: c1f61b8 | (Tobias Leich)++ | src/core/Str.pm:
09:29 dalek rakudo/latin2: stub latin2 support
09:29 dalek rakudo/latin2: review: https://github.com/rakudo/rakudo/commit/c1f61b8633
09:29 sergot FROGGS__: better thanks this: https://github.com/sergot/http-useragent/commit/9202c4492562be302228ef9f88f5ad536ce1934d
09:29 jnthn FROGGS__: I think you've updated the needed places
09:29 jnthn FROGGS__: Question is if we want to put every encoding under the sun into the VM :)
09:30 masak is there a cost in doing so?
09:30 jnthn Code size... :)
09:30 masak hm.
09:30 jnthn If they're all just mappings though, we could potentially factor out a lot of the repetition.
09:31 masak sounds like it.
09:33 jnthn May be good to figure out how to do that if there's 15 of them... :)
09:33 jnthn .oO( For a dead language, Latin sure has a lot of encodings... )
09:33 thou joined #perl6
09:34 teodozjan joined #perl6
09:35 ren1us jnthn: the biologists keep coming up with new ones to mess with our heads :(
09:36 masak I don't know why people insist on calling Latin "dead". there are lots of languages with less life in them than Latin.
09:37 sergot jnthn: where can we put it?
09:38 sergot if not into the vm
09:39 jnthn sergot: Well, depends if you're going to do IO with it...if you are it kinda has to go there at the moment due to the decodestream stuff.
09:39 jnthn Though that's actually trivial for latin-x
09:39 jnthn Because they're one byte encodings :)
09:39 jnthn Oh
09:39 jnthn No, it's still awful.
09:39 jnthn 'cus NFG :)
09:39 sergot actually, my goal is to .decode something here: https://github.com/sergot/http-useragent/blob/master/lib/HTTP/UserAgent.pm6#L152
09:40 sergot so I did this: https://github.com/sergot/http-useragent/commit/9202c4492562be302228ef9f88f5ad536ce1934d
09:40 sergot and FROGGS__ came up with an idea to put it into the vm
09:41 jnthn ah, ok
09:41 FROGGS[mobile] the factoring is exactly why I ask
09:41 sergot How can we do this, I'll need almost every encoding :)
09:42 rurban1 joined #perl6
09:43 jnthn How's in done in the Perl 5 modules for this stuff, ooc?
09:47 sergot jnthn: https://metacpan.org/pod/Encode#decode
09:47 sergot it uses Encode module
09:53 brrt joined #perl6
09:54 sergot m: say 0xa4.base: 10
09:54 camelia rakudo-moar b46af8: OUTPUT«164␤»
09:54 sergot m: say 0xA4.base: 10
09:54 camelia rakudo-moar b46af8: OUTPUT«164␤»
09:55 sergot m: say 0xA3.base: 10
09:55 camelia rakudo-moar b46af8: OUTPUT«163␤»
09:57 masak the joy of hex.
10:14 Rotwang joined #perl6
10:15 chenryn joined #perl6
10:20 bbkr joined #perl6
10:20 kaleem joined #perl6
10:38 colomon as of this morning, all the results in http://host07.perl6.com:8080/report are from moar.  \o/
10:39 colomon also, supernovus still needs to fix his modules (from just by changing eval to EVAL)
10:41 jnthn I'm happy to see tehre was no change from 14th-15th. That means the strref Moar branch merge hasn't busted modules.
10:41 jnthn colomon++ # reports
10:54 carlin joined #perl6
11:05 dalek specs: d35e527 | (Elizabeth Mattijsen)++ | S22-package-format.pod:
11:05 dalek specs: Elaborate a bit more on the Distribution object.
11:05 dalek specs:
11:05 dalek specs: As another step into generalizing the installation process of a distribution.
11:05 dalek specs: review: https://github.com/perl6/specs/commit/d35e527803
11:14 anaeem1_ joined #perl6
11:15 brrt joined #perl6
11:22 thou joined #perl6
11:25 timotimo o/
11:26 carlin \o
11:38 mr-foobar joined #perl6
11:41 Ven joined #perl6
11:42 timotimo FROGGS__: is that wikipedia link correct in your patch? it points to the -1 page and then lists the things for -2
11:42 Ven http://t.co/n98zm1ykjb <- I sure hope that's not really python's BDFL. Else I'd have much sads.
11:45 carlin has anyone ever mentioned that perl6 is slow?
11:45 * carlin ducks
11:45 carlin but seriously, parsing this XML is taking valuable seconds
11:46 timotimo yeah, perl6 is kinda slow. we're working on it :)
11:47 carlin :p
11:48 * Ven is quite happy with the improvements he's noticed since he went from 2014.03-p to master-m :P
11:48 Ven (though for my CLI scripts, it was fast enough with 2014.03-p, I don't really care)
11:49 timotimo the string improvements in latest moar-master (and thus in the newest release) will make a nice difference for many things
11:49 mr-foobar joined #perl6
11:50 carlin ohh I should probably do a git pull
11:50 timotimo git pull alone won't be enough :P
11:50 carlin and a perl Configure etc. etc. :p
11:51 carlin maybe even a make install
11:51 timotimo http://jnthn.net/perl6/bench/2014-07-15.html - this one compares last month's rakudo-moar with a rakudo-moar that has strref merged in
11:53 Ven 10x slower than p5 seems okay to me :P
11:53 Ven wow, parrot is lagging behind quite a bit
11:53 timotimo that's parrot from a year ago
11:53 Ven did it change that much ?
11:53 timotimo it did change, aye.
11:54 timotimo it's also rakudo from a year ago
11:54 timotimo so nqp and rakudo optimizer things are missing
11:54 moritz waht is strref?
11:54 timotimo "strings refactor"
11:54 timotimo where "refactor" could also have been called "rewrite"
11:54 Ven .oO( I factored the old code to the bin )
11:55 FROGGS__ timotimo: no, that link needs an update, I forgot to adjust it
11:55 timotimo OK
11:55 Ven So, for quite a bit, rakudo-m is *only* 10 times slower than p5 ?
11:56 * flussence blinks in surprise
11:56 flussence it wasn't that long ago the code to generate s26.html took *half an hour* on my laptop...
11:56 Ven When I came here, only 4 months ago, I remember seeing 400 times slower pretty much everywhere (but I was looking at parrot)
11:56 flussence (or was that the CSS module I gave up on? I threw a lot of things away out of frustration back then...)
11:57 timotimo Ven: look out, it's mostly microbenchmarks you're looking at
11:57 carlin :( latest HEAD rakudo still taking the same time to parse this XML
11:58 timotimo carlin: maybe it'd be interesting if you'd paste your code and had people look at it?
12:00 Ven timotimo: I was looking at micros too
12:00 carlin it's https://github.com/carbin/p6-jdf
12:00 Ven I wasn't `time`ing back then (I did it a bit ago, but got depressed :P)
12:02 timotimo ah, "use XML", i'll have to look at that
12:02 flussence just wondering, do any of those benchmarks cover Buf/pack/unpack/fmt? I'm interested how much the jit speeds that up since last time I checked, there's almost no low-level code in those.
12:03 timotimo we don't have any of those
12:03 timotimo and the JIT doesn't kick in for on-stack-replacement, only for function calls, so it wouldn't change any of the benchmarks we currently have
12:05 Ven (micro benchmark, incrementing a var 1mil times : ruby 0.08s. p6 1.43s)
12:05 timotimo Ven: now make that a native int :)
12:06 jnap joined #perl6
12:06 Ven timotimo: can't find type int
12:06 timotimo show me your code?
12:06 Ven oh, wait, I get it.
12:06 Ven m: my int ;
12:06 camelia rakudo-moar b46af8: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Type 'int' is not declared. Did you mean 'Int'?â�¤at /tmp/wnz7qm08E1:1â�¤------> [32mmy int [33mâ��[31m;[0mâ�¤Malformed myâ�¤at /tmp/wnz7qm08E1:1â�¤------> [32mmy int [33mâ��[31m;[0mâ�¤    expecting any of:â�¤      â€¦Â»
12:06 timotimo hehe
12:06 timotimo yes, that error message is bogus and ought to be corrected
12:06 timotimo *cough cough*
12:07 Ven yeah, that's why. I had double-quoted, so I first changed to Int, then I got the correct error message so I fixed it to double quotes(but I already removed the int)
12:07 Ven 0.48s :) graet
12:08 Ven 6 times slower instead of 17 :P
12:08 jnthn Then subtract startup time...
12:09 jnthn ...and the factor is rather different. :)
12:11 timotimo that's right. start-up time on my machine is about 0.2 seconds
12:11 timotimo 0.25
12:12 timotimo ruby starts up in about 0 :)
12:12 timotimo so we have:
12:12 timotimo m: say (0.48 - 0.25) / 0.08
12:12 camelia rakudo-moar b46af8: OUTPUT«2.875␤»
12:12 timotimo 3x slower :P
12:13 timotimo you just have to manipulate the numbers enough, so that it looks better
12:13 * carlin still rememebers ~2009 parrot taking several seconds to start up
12:13 carlin at least things are improving, that's a bonus
12:13 timotimo that was when we used to compile the whole setting before running the user program, wasn't it?
12:14 timotimo before "bounded serialization" landed?
12:14 jnthn I don't think we've ever done that...
12:14 timotimo well, something like that anyway :P
12:14 carlin perl6 is fast if you ignore enough of the bits that make it slow :p
12:14 jnthn Oh...yeah...
12:14 timotimo carlin: yup, that's the doublethink you have to commit to if you want to be welcome here
12:14 jnthn Well, looking at the XML grammar, it uses regexes and backtracking in a bunch of places.
12:15 timotimo jnthn: and due to $*STOPPER it has almost no declarative prefixes to speak of for much of its matching
12:15 timotimo jnthn: but at least it has frugal matching in most places
12:16 jnthn Yeah, but I think it's not getting a lot of benefit out of the NFA stuff.
12:18 timotimo i wonder how xml::parser::tiny compares
12:18 Ven 0.388 for time perl6 -e "" :o
12:19 timotimo oh wow. that's even slower than on my machine
12:19 timotimo m: say (0.48 - 0.38) / 0.08
12:19 camelia rakudo-moar b46af8: OUTPUT«1.25␤»
12:19 timotimo well, that's something.
12:19 carlin joined #perl6
12:19 Ven 1.25x times slower than ruby ? I'll take it :P
12:19 timotimo but ruby isn't exactly known for good performance anyway
12:19 Ven So much drugs for free !
12:20 timotimo ... what?
12:20 masak I'm also wondering what.
12:21 jnthn You expect sense out of somebody who's getting so much drugs for free? :P
12:21 lizmat I think Ven means execution of Perl6 is intoxicating
12:21 timotimo oh
12:21 masak oh, that must be it.
12:21 timotimo well, that's nice
12:21 masak you're welcome :)
12:21 Ven lizmat saves the day
12:22 lizmat yw  :-)
12:22 atroxaper joined #perl6
12:23 Ven actually, I was just quoting an article of a rubyist that found p6 to be quite thrilling, and that started something like "Being a long-date rubyist, when I first looked at perl" (5) ", I realized that ruby was pretty much perl's sister, doing a bit less drugs and saner. But with perl 6, the story is different [...]"
12:24 lizmat so I was right in a way  :-)
12:25 atroxaper Ven: who is that?
12:25 atroxaper Hello, #perl6 !
12:25 timotimo haha, great
12:25 Ven atroxaper: not sure. One of the many blog posts I read when I started looking at perl 6
12:25 Ven (and then realized perl 6 was looking at me)
12:25 timotimo i think i remember that post
12:26 hoelzro morning #perl6
12:26 brrt joined #perl6
12:27 masak ahoj, hoelzro.
12:27 Ven helo
12:27 sergot o/ hoelzro
12:27 sergot o/ atroxaper
12:27 atroxaper o/ sergot !
12:31 carlin XML takes about ~8 seconds just to parse the document, XML::Parser::Tiny takes about 2 seconds
12:31 hoelzro is there some mechanism within the compiler that causes Routine objects that are built up over the compilation phase to be cloned and have the clones used for runtime?
12:32 hoelzro I'm seeing something like that when I try getting WHEREFORE to work
12:32 hoelzro (example: https://gist.github.com/hoelzro/5042fa489fdb0c6acc67)
12:32 Ven http://kresimirbojcic.com/2013/02/24/perl-6-the-holy-grail-or-utopia.html <- that's the article, atroxaper
12:33 Ven << After a couple of years of looking at Lisp, Smalltalk and Perl I would say: “Ruby is a Perl sister that’s not doing drugs”. She is more lovable but also less intriguing and wild. >>
12:34 guru joined #perl6
12:34 timotimo does someone want to give me access to rakudo.org's wordpress installation?
12:35 timotimo i'm idly clicking through the perl6.org website and looking at outdated/dead links and/or information here and there
12:35 atroxaper joined #perl6
12:35 timotimo there's also links i don't know how to fix, like the link to http://perlmonks.org/node=SOpW
12:36 timotimo oh, that's supposed to be ?node=SOpW
12:36 timotimo though http://perlmonks.org/?node_id=479 may be a better address to point to
12:42 lizmat now that's what I call a dead parrot: http://c.fastcompany.net/multisite_files/fastcompany/imagecache/1280/poster/2014/07/3033103-poster-1280-parrot-sketch-art.jpg
12:43 timotimo kinda reminds me of the huge duck floting down the river ...
12:43 masak it's just restin'!
12:43 carlin it's pining for the fjords
12:43 atroxaper joined #perl6
12:44 timotimo http://perl6.org/getting-started/ - we really need to fill in the void that "grab the latest .pdf file of this book to learn perl 6" currently represents ...
12:44 timotimo linking to the book seems a bit dishonest to me
12:44 timotimo Ven: will your tutorial be a good replacement, once you consider it publishable?
12:44 * lizmat hopes so
12:44 rurban1 joined #perl6
12:44 Ven timotimo: I'm currently focused on the learnXinYminutes, which doesn't try to teach *programming* at all :)
12:44 atroxaper Ven: thanks!
12:45 Ven the tutorial is intended towards newbies and explains some stuff like OO, which is going to take a lot more time to skim through
12:45 timotimo Ven: the perl6 book didn't teach programming itself at all, either
12:45 timotimo oh, hmm.
12:45 lizmat fwiw, I think Ven's approach will bear fruit in time as well
12:46 lizmat maybe add it as an alternative link ?
12:46 carlin is the XML module inherently slow or is it just that it uses features that are currently slow?
12:46 lizmat without looking: is it doing concat's a lot ?
12:47 carlin backtracking
12:47 moritz I don't think you need backtracking to parse XML
12:47 hoelzro timotimo: I take it to mean that you wish for the book to be improved?
12:49 hoelzro I've been thinking that for a while, but there's so much to cover
12:49 timotimo hoelzro: i wish for there to be a good thing to point non-irc-visiting interested-people towards
12:49 timotimo and yeah, there's a *lot* cover to cover :P
12:49 hoelzro so book, site, wiki, whatever
12:49 timotimo aye
12:49 Ven timotimo: hmm, it's a standpoint I need to take a stand one. I'm not sure.
12:49 hoelzro hmm
12:49 hoelzro I could add that to my huge list of things I want to help with
12:49 timotimo sounds good! :P
12:50 timotimo well, i was hoping i could come up with a cool interactive thingie, but it'd require there to be a sandboxy thingie that's reliable
12:50 Ven I'm leaning towards "teaching programming" (not the basics,but still pretty much)
12:51 timotimo moritz: can you give me an account on rakudo.org?
12:51 moritz timotimo: yes, please /msg me your email address
12:51 timotimo will do
12:51 * lizmat likes Ven's approach
12:52 timotimo Ven: i find the prospect of teaching programming with perl 6 very enticing
12:52 timotimo because i find perl6's design to be pretty consistent and free of annoying special cases
12:52 timotimo there's almost only flattening that needs explaining and can cause a bit of surprises here and there
12:53 timotimo everything else seems to be mostly straight-forward conclusions from basic principles
12:53 moritz timotimo: invitation sent
12:53 timotimo thank you!
12:58 Ven timotimo: it's consistent and straight-forward because you have such a background.
12:58 Ven What I mean is ... There's soooo much on your plate, it's hard to engulf
12:58 timotimo that's true, too :(
12:59 Ven Which reminds me : ruby has no 0.0 of startup time. YARV takes a bit of time, too
12:59 timotimo really? how much?
12:59 Ven Not sure at all :D. I just remembered that detail
12:59 Ven well, no reason to be sad, is it ? I thought perl was proud to have newcomers writing "baby perl" then becoming all grown-up-perlists
13:02 telex joined #perl6
13:04 lizmat indeed  :-)
13:06 lelf joined #perl6
13:06 timotimo aye
13:08 timotimo moritz: the mail hasn't reached me yet. got an idea what may be wrong?
13:09 Ven (I disagree on what to explain : flattening is hard, aye, but also containers (a bit less), and people are gonna get bit by hashes vs named params)
13:10 timotimo you mean the "foo" => 1 vs foo => 1 thing?
13:10 Ven yes
13:10 Ven (should we warn on 'a' =>1 not parenthesized inside of arglists ?)
13:10 thou joined #perl6
13:10 timotimo that doesn't sound too bad
13:11 timotimo do we have support for # OK in rakudo?
13:11 Ven m: sub foo(*@a, *%b) { say @a.perl, %b.perl; }; foo(a => 1):b;
13:11 camelia rakudo-moar b46af8: OUTPUT«Array.new()("b" => Bool::True, "a" => 1).hash␤»
13:11 Ven yokatta
13:12 masak m: my @a = <>
13:12 camelia rakudo-moar b46af8: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/EtYRK57KMR�Unsupported use of <>; in Perl 6 please use lines() to read input, ('') to represent a null string or () to represent an empty list�at /tmp/EtYRK57KMR:1�------> [32mmy @a = <[33m…»
13:12 masak m: my @a = <> #OK
13:12 camelia rakudo-moar b46af8: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/o2IHxjS3kr�Unsupported use of <>; in Perl 6 please use lines() to read input, ('') to represent a null string or () to represent an empty list�at /tmp/o2IHxjS3kr:1�------> [32mmy @a = <[33m…»
13:12 masak hm. maybe that one is un-#OK-able...
13:12 hoelzro commut &
13:13 timotimo ('') instead of ''?
13:13 masak timotimo: think so.
13:15 timotimo moritz: i got it now
13:27 Ven timotimo: does it not sound bad to warn, or to tell ppl to use parentheses ?
13:30 timotimo well, if you know what you're doing and prefer less parens, you should be able to silence the warning
13:32 lizmat cycling&
13:32 mathw o/
13:35 timotimo there's no "asynchronous I/O" on the perl6.org/compilers/features matrix; should it be added?
13:37 xinming joined #perl6
13:40 Ven .u Down Arrow
13:40 yoleaux U+02C5 MODIFIER LETTER DOWN ARROWHEAD [Sk] (˅)
13:40 yoleaux U+02EF MODIFIER LETTER LOW DOWN ARROWHEAD [Sk] (˯)
13:40 yoleaux U+1DFF COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW [Mn] (◌᷿)
13:41 carlin .u STEAM LOCOMOTIVE
13:41 yoleaux U+1F682 STEAM LOCOMOTIVE [So] (????)
13:52 btyler joined #perl6
13:53 ssutch_ joined #perl6
14:00 timotimo does http://perl6.org/compilers/ look broken to anyone else?
14:00 moritz it does
14:01 carlin borders are missing
14:01 timotimo i've been trying to fix it with the "inspect element" feature of chrome, but i couldn't get it fixed :(
14:02 thou joined #perl6
14:02 moritz it needs the col2 class
14:03 moritz or maybe col1, dunno
14:03 moritz but that's where the borders are defined
14:03 rurban1 joined #perl6
14:03 moritz timotimo: the trick is to inspect the element that looks correct, and look where it gets the style from
14:04 timotimo yeah
14:04 timotimo i've tried
14:04 timotimo no luck
14:05 timotimo could it be that perl6.org isn't up to date with the latest data on github?
14:05 timotimo wait ... what was i looking at again?
14:07 timotimo http://www.perlfoundation.org/perl6/index.cgi?perl_6 - this wiki is deprecated, is it not?
14:11 moritz it is
14:12 raiph joined #perl6
14:12 nwc10 is anyoneins a position to edit it to say that, and point to something more up to date?
14:13 timotimo i don't know what is considered the "more up to date replacement"
14:13 timotimo and i don't have an account there
14:14 timotimo and if someone does edit it, it'd be nice to replace the rss feed link for the planet to the new planeteria site
14:14 lelf joined #perl6
14:14 dalek perl6.org: c622c4b | (Timo Paulssen)++ | source/index.html:
14:14 dalek perl6.org: planetsix.perl.org has been replaced by planeteria.
14:14 dalek perl6.org:
14:14 dalek perl6.org: it currently is a redirect, but it may go away at some point.
14:14 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/c622c4b9bf
14:14 timotimo ^- see also
14:17 dalek perl6.org: 66cf3ec | (Timo Paulssen)++ | source/getting-started/involved.html:
14:17 dalek perl6.org: link to the new perl6 most wanted project
14:17 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/66cf3ec466
14:19 dalek features: 8fa3f94 | (Timo Paulssen)++ | features.json:
14:19 dalek features: rakudo-moar has time-based stuff nowadays.
14:19 dalek features: review: https://github.com/perl6/features/commit/8fa3f94953
14:22 timotimo what stuff do the rakudo star msi files contain nowadays? is that still parrot only?
14:25 atroxaper joined #perl6
14:28 FROGGS[mobile] I did a moar star once too
14:28 timotimo also, should we distribute the contents of perl6-examples with star?
14:28 FROGGS[mobile] dont think so
14:28 timotimo http://rakudo.org/downloads/star/ - not available here?
14:30 atroxaper joined #perl6
14:31 timotimo FROGGS[mobile]: why not?
14:33 timotimo i mean ... why bundle the perl6-book that hasn't seen commits in a long while but not actually working (not a guarantee) example scripts
14:33 lelf joined #perl6
14:35 guru joined #perl6
14:36 lelf` joined #perl6
14:36 moritz because we have nothing better
14:37 timotimo well, i was only really asking why we shouldn't package the examples
14:37 timotimo not to throw out the book
14:37 kivutar joined #perl6
14:43 jnthn I don't have a problem with shipping examples, fwiw. Don't feel strongly either way on it. Knowing they're going into Star might encourage people to work on them more, which can't hurt.
14:43 jnthn As a data point, the various Microsoft languages have typically had examples you can install along with the tools/compiler.
14:53 moritz we'd need to integrate them into the test suite
14:53 moritz that is, test them
14:53 moritz otherwise they'll bitrot, and hurt more than they help
14:53 btyler joined #perl6
14:55 jnthn Hm, point.
14:56 Ven Just integrate the advent calendar code :P
15:03 jnap joined #perl6
15:04 treehug88 joined #perl6
15:08 chenryn joined #perl6
15:10 kivutar joined #perl6
15:13 atroxaper joined #perl6
15:14 atroxaper joined #perl6
15:15 FROGGS__ timotimo: it was a release candidate IIRC, but as usual there was not a single tester
15:19 FROGGS__ timotimo: yeah, I've got the 2014.04-moar.msi and 2014.04-parrot.msi on my disk
15:21 kaleem joined #perl6
15:22 FROGGS__ I am spectesting now against parrot-6.6.0, and when there is no regression, I'll bump the PARROT_REVISION
15:27 MilkmanDan joined #perl6
15:40 ponbiki joined #perl6
15:52 araujo joined #perl6
15:52 araujo joined #perl6
15:55 dayangkun joined #perl6
15:59 timotimo moritz: do you have a good idea how to make the examples testable without having to chase down every change to an example with an equivalent change to a test description?
15:59 timotimo ideally, there'd be something like an "expected output" file for each example or something like that?
16:08 hoverboard joined #perl6
16:10 brrt left #perl6
16:28 kivutar joined #perl6
16:35 timotimo does the update script for the feature comparison matrix have to be manually poked?
16:38 btyler joined #perl6
16:55 treehug88 joined #perl6
16:57 atroxaper joined #perl6
17:00 denis_boyun_ joined #perl6
17:00 moritz nope, it is cron'd
17:04 anaeem1 joined #perl6
17:12 btyler joined #perl6
17:14 xinming_ joined #perl6
17:22 dalek nqp: 883107f | (Tobias Leich)++ | tools/build/PARROT_REVISION:
17:22 dalek nqp: require parrot 6.6.0
17:22 dalek nqp: review: https://github.com/perl6/nqp/commit/883107fd68
17:25 dalek rakudo/nom: 04c2566 | (Tobias Leich)++ | tools/build/NQP_REVISION:
17:25 dalek rakudo/nom: bump nqp revision to get parrot 6.6.0
17:25 dalek rakudo/nom:
17:25 dalek rakudo/nom: There is no spectest regression, but also no new passing todo.
17:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/04c2566c40
17:28 atroxaper joined #perl6
17:29 tgt joined #perl6
17:33 Ven joined #perl6
17:35 rurban1 joined #perl6
17:35 Akagi201 joined #perl6
17:36 hoelzro NQP doesn't support callsame and friends, does it?
17:36 hoelzro I would like to override Routine.clone by calling Mu.clone and changing a few things
17:36 FROGGS__ hoelzro: looks at how callsame is implemented in rakudo
17:37 FROGGS__ look*
17:37 timotimo hoelzro: nqp doesn't have multi-dispatch; i'm not sure if you can reach the superclasses method you're in
17:37 hoelzro =/
17:38 hoelzro I'm guessing I could probably find a way to explicitly invoke Mu.clone
17:39 timotimo Mu.can('clone')(self:) or something like that?
17:41 FROGGS__ I'd guess that findmethod might help...
17:41 timotimo mh, probably
17:42 FROGGS__ nqp::findmethod(Mu, 'clone')($invocant, ...)
17:46 hoelzro perfect
17:46 hoelzro thanks FROGGS__, timotimo
17:46 FROGGS__ does it actually work?
17:47 guru joined #perl6
17:49 hoelzro FROGGS__: I haven't tried it yet =/
17:50 FROGGS__ ahh :o)
17:50 hoelzro I need to ask all of my Perl 6 questions now, because after I get home from work, no one's around =/
17:50 timotimo d'aaw
17:50 hoelzro well, I shouldn't say "no one"
17:50 FROGGS__ well, I'm here for another four hours or so
17:50 hoelzro there are people
17:50 hoelzro but all of the compiler folk are gone
17:50 anaeem1 joined #perl6
17:50 hoelzro on the plus side, it has forced me to dive into some of the crazier parts of the compiler to figure things out =)
17:51 FROGGS__ yeah, that's how we spread the knowledge... we make it easy for europeans only :P
17:52 Ven good :D
17:52 hoelzro heh
17:52 hoelzro I had the good fortune to be living in the NL when that NQP workshop happened!
17:53 FROGGS__ yeah, that workshop was awesome :o)
17:54 hoelzro indeed!
17:54 hoelzro I need to remember that beer Jens had me drink on the first night
18:00 dwarring joined #perl6
18:01 molaf joined #perl6
18:02 [Sno] joined #perl6
18:02 rurban1 joined #perl6
18:03 Ven Well, I guess it's time to talk 'bout the one devil ... to talk about regexps :P
18:05 hoverboard joined #perl6
18:07 Ven https://github.com/Nami-Doc/learnxinyminutes-docs/blob/master/perl6.html.markdown <- comments are pretty ugh :(
18:07 rurban1 joined #perl6
18:09 lizmat Ven: re "my @array = <a b c>; # array of string, delimited by space", perhaps better as 'array of words' ?
18:09 Ven lizmat: fixed :)
18:09 lizmat as the w in qw stands for word, and possibly the w in %w in ruby as well ?
18:09 lizmat oki
18:10 Ven I sometimes write stuff while really, really tired, so even if I know what I want to explain, it can end up ... kinda weird :P
18:10 lizmat "# Arrays are 0-indexed" since this is a bit for beginners, maybe: "Array indices start at 0" ?
18:10 Ven guess I'll tackle regexps next -- In the spirit of the perl5 book
18:11 Ven lizmat: fixed :)
18:12 Isp-sec joined #perl6
18:12 Ven ty~. I was actually afraid it was really a concept of stuff packed in there, but after sending it to 3 friends (with no p6 experience, that is) they all told me it was fine (and that they wanted to read about regexps :P)
18:13 timotimo cool! :)
18:19 btyler Ven: some typos: 'taht' on line 87, 'for array {' (no sigil) on line 192
18:20 Ven btyler: thanks, fixed
18:21 btyler (also, this is great!)
18:23 masak yay, my YAPC::EU talk was accept'd! \o/
18:23 FROGGS__ masak: what is the topi?
18:23 FROGGS__ topic*
18:24 jnthn Probably something controversial, knowing masak... :P
18:24 FROGGS__ *g*
18:24 masak "GOTO considered awesome" :P
18:24 FROGGS__ ahh, yeah :o)
18:24 masak not controversial at all...
18:24 FROGGS__ nice title btw
18:25 masak heh, thanks -- it was a title that wanted a talk under it ;)
18:25 FROGGS__ yeah
18:25 Ulti http://www.reddit.com/user/carlosdelreyits educatedpoo but more agressive and FUD spready
18:26 Ulti * http://www.reddit.com/user/carlosdelrey
18:27 masak poor fellow, with nothing better to do :/
18:28 Ulti well at least on that sock puppet account
18:29 jnthn At least he didn't go for Carlos Danger :P
18:29 * lizmat is not going to waste any cycles on this Carlos wimp
18:29 lizmat oO( shite, now I did :-(  )
18:30 Ulti might be worth some level of response since they are posting on /r/programming where people aren't necessarily aware of what is going on inside Perl
18:30 lizmat moritz: please cleanse the log of the mention of this URL  :-)
18:31 Ulti yeah cleanse the logs on my computer and everyone else keeping private logs
18:32 timotimo it's kinda sad that this person seems to feel personally wronged by The Perl 6 Community
18:33 Ven why would it matter :D ?
18:34 Ven "#perl6 is full of in-jokes by a weird crowd of drinkers who abuse other people" I've certainly been abused here. Abusing, rather. :P
18:35 timotimo i think "verbal abuse" was meant by that person
18:35 timotimo not "convinced to contribute"
18:36 geekosaur I wonder how much splash perl6 gets from perl5
18:37 carlin joined #perl6
18:37 timotimo "splash" in what sense?
18:37 * geekosaur is increasingly convinced that, to the extent that perl 5 is "dying", it's down to the community being dominated by people who have bad attitudes
18:37 timotimo i only know the term "splash damage"
18:38 * colomon is kind of awed by that link
18:39 geekosaur yes, splash damage. too easy to assume that, because of perlmonkhole-ish behavior in the perl 5 community, the perl 6 community must have the same problem
18:40 Ven it's funny how this guy is convinced that drinking beers makes people unable to work :D
18:40 Ven I've read like, 20 of his posts, and they all talk 'bout beer. Probably a bad experience ...
18:40 Ulti it would be less funny if it wasnt just used
18:40 Ulti as FUD
18:41 Ven http://www.reddit.com/r/perl6/comments/293lg7/6guts_what_ive_been_working_on_and_whats_coming/ciiutu7 <3 just look at it
18:41 Ulti Ven its just an easy and true target to discredit devs
18:41 Ven you misspelled the work "bullshit" here ;)
18:41 Ulti many people in the US have hugely differing attitude towards alcohol consumption than they do in europe
18:42 * Ulti might have been in the US for the last two weeks and is getting tired of showing his passport for a "lite beer"
18:42 Ven oh, I believe it. But calling people on that all the time doesn't even start to make sense.
18:43 Ulti sure it does because he is assuming a slightly different audience is seeing the FUD post each time.. that isnt a real user its just someone pumping FUD at anyone who might even think about using Perl6
18:43 Ulti all of the carlosdelray and educatedpoo posts are incredibly well designed
18:44 Ulti including the persona of a bioinformatician which is a stronghold of perl users
18:44 timotimo throw enough poo until something sticks.
18:44 Ulti and academics are far more likely to experiment with language use
18:44 timotimo poon intended.
18:45 lizmat Ven: maybe add "%hash<key1 key2>; # or slice out multiple values in one go" after "%hash<key2>; # if it's a string, you can actually use <>"
18:45 Ven m: my %a = a => 1, b => 2; say %a{('a')}.perl
18:45 camelia rakudo-moar b46af8: OUTPUT«1␤»
18:45 lizmat since you've shown multiple words in <a b c> above
18:45 Ven m: my %a = a => 1, b => 2; say %a{('a',)}.perl
18:45 camelia rakudo-moar b46af8: OUTPUT«(1,)␤»
18:46 lizmat Parcel gives a Parcel, that's logical, isn't it ?
18:47 jnthn Yeah. While we may call then parentheses cells, it's actually infix:<,> that forms them.
18:48 lizmat slightly less logical maybe:
18:48 lizmat m: my @a=<a>; my %h = a => 1; say %h{@a}.WHAT   # Array gives Parcel
18:48 camelia rakudo-moar 04c256: OUTPUT«(Parcel)␤»
18:50 masak [Coke]: thinking about merging (open) https://rt.perl.org/Ticket/Display.html?id=58922 with (rejected) https://rt.perl.org/Ticket/Display.html?id=122286
18:50 masak er, other way around.
18:54 Ven well, it was a fun read.
18:55 Ven Good thing I'm a hipster, else I wouldn't like being around beer-lovers so much.
18:55 Ven (after I did my talk where I said I used p6 in prod, several people went up to me and asked me what for, eh.)
18:56 [Coke] masak: don't merge them, but make them refer to each other.
18:56 [Coke] "hang" is not an acceptable behavior, regardless of the spec, IMO
18:57 masak I agree, but (a) it's always been like that, and (b) since the spec doesn't say what the behavior should be, the behavior isn't "not acceptable", it's *undefined*.
18:58 Ven "Perl 6.0.0 (Octoberish 2002)" still, it's kinda funny :P
18:58 masak the linked-to specs issue sums up our total thinking on the issues pretty well, actually.
18:58 [Coke] ... then the spec tests are wrong.
18:59 [Coke] don't close/reject the ticket if you are not also removing the spectests.
18:59 masak *nod*
18:59 masak not doing anything for now.
18:59 [Coke] (I suppose we could refer to the spec ticket that was opened instead of the RT: that's fine.)
18:59 [Coke] (and then close out hte RTs - that works)
19:00 tgt Hi. Is it possible to lazily zip together lazy lists?
19:00 masak m: my $foo = { a => 42 }; $foo<b> = $foo; say ~$foo
19:00 timotimo hm, Z, is not lazy?
19:00 camelia rakudo-moar 04c256: OUTPUT«(timeout)»
19:00 masak [Coke]: seems prefix:<~> hangs, too.
19:00 masak so, not just .perl
19:01 masak timotimo: yes, it is.
19:01 timotimo m: my @a := 1, 2, 4 ... *; my @b := 10, 11, 12 ... *; my @c := @a Z, @b; say @c[^10].perl
19:01 camelia rakudo-moar 04c256: OUTPUT«((1, 10), (2, 11), (4, 12), (8, 13), (16, 14), (32, 15), (64, 16), (128, 17), (256, 18), (512, 19))␤»
19:01 timotimo yeah, that works, tgt -^
19:02 timotimo the important part is to := into @vars, because using = will do assignment, which is eager
19:02 tgt Yeah, that was the issue, thank you.
19:03 dakkar joined #perl6
19:03 tgt ooc is that a more up-to-date version of https://github.com/rakudo/rakudo/blob/nom/docs/ROADMAP ?
19:03 Ven I really have fun when I read "perl 6 sucks because it's a spec". I guess no language with specs is good ._.
19:03 kaare__ joined #perl6
19:04 timotimo https://raw.githubusercontent.com/perl6/perl6-most-wanted/master/data-sources/perl6-module-list.json WTF is up with that
19:06 timotimo retupmoca: should the prl6-most-wanted still list your zlib binding as "WIP"?
19:07 timotimo FROGGS__: you were the one who added support to retupmoca's p6-compress-zlib to make .tar.gz work, right?
19:07 FROGGS__ timotimo: there is a new Archive::Tar module
19:07 timotimo FROGGS__: also, modules.md has a "Tar" under "Data Formats" -> "Archives" which may want a link to your module
19:07 lizmat Ven: the line "map({ $_ + 3 }, @array);", maybe prefix with "my @arrayplus3 ="
19:08 lizmat using map just for its side-effects is considered dubious
19:08 timotimo aye.
19:08 lizmat and just like that, the line doesn't make much sense
19:09 jnthn That line doesn't have side-effects, besides spending CPU cycles.
19:10 lizmat yes, that's why it doesn't make sense  :-)
19:10 dalek perl6-most-wanted: b7e18fc | (Tobias Leich)++ | most-wanted/modules.md:
19:10 dalek perl6-most-wanted: add link to Archive::Tar
19:10 dalek perl6-most-wanted: review: https://github.com/perl6/perl6-most-wanted/commit/b7e18fc129
19:11 timotimo the networking -> http section may want updating for sergot's excellent gsoc work
19:13 FROGGS__ timotimo: with a note that portability is an issue atm
19:14 timotimo oh? because it uses "is native('libopenssl.so')" or something like that?
19:16 FROGGS__ it uses unix sockets
19:16 timotimo oh
19:16 timotimo yeah, that's a bit of a problem
19:17 Sqirrel joined #perl6
19:18 timotimo FROGGS__: would you like to normalise "Games::BubbleBreaker" to "Game::BubbleBreaker" or is there a reason for masak to change his Crypt to be "Games::Crypt"?
19:18 FROGGS__ hmmm
19:18 FROGGS__ I can normalize it, aye
19:19 timotimo i'm thinking about adding a bit of code and a bit of metadata to the modules.perl6.org page so that it can show categories above the list and have a little description for each
19:19 FROGGS__ I'll do it when it works "again" (hoorey nativecast!)
19:19 timotimo cool :)
19:20 timotimo and also: https://github.com/jnthn/zavolaj/issues/11
19:21 dalek roast: 6afc4ee | (David Warring david.warring@gmail.com)++ | integration/advent2011-day2 (2 files):
19:21 dalek roast: adding 2011 advent days 22 and 23
19:21 dalek roast: review: https://github.com/perl6/roast/commit/6afc4eee32
19:22 timotimo dwarring++ :)
19:22 FROGGS__ eww, I wonder how #11 could be done
19:22 timotimo even if it's hacky at first, we need something like that at some point.
19:26 virtualsue joined #perl6
19:27 Rotwang joined #perl6
19:31 FROGGS__ timotimo: I'd need a use case... (a C lib that exposes such globals)
19:31 FROGGS__ because I only know about SDL and there are none AFAIK
19:38 PerlJam FROGGS__: um ... libc exposes errno  :)
19:38 Akagi201 joined #perl6
19:38 FROGGS__ I see
19:43 retupmoca timotimo: re most-wanted: depends on what the rules are for the WIP tag
19:43 retupmoca timotimo: I'm not actively working on it at this point
19:43 Ven joined #perl6
19:43 retupmoca so the WIP can probably be removed
19:44 Ven it looks like github messed up the local edit view of the file since I switched to perl5 highlighting ...
19:44 ssutch_ joined #perl6
19:46 Ven lizmat: fixed. I also just realized I'm not talking about implicit return
19:48 * itz_ books sofia for himself and virtualsue
19:49 Ven ah, but I'm a bind now.
19:49 Ven I explain subroutines before `for` and other control flow structures.
19:50 lizmat well, that's all part of the 4 types of variables
19:50 Ven m: say (sub { if True { 5 } })().perl
19:50 camelia rakudo-moar 04c256: OUTPUT«5␤»
19:50 Ven m: say (sub { for ^5 { 5 } })().perl
19:50 camelia rakudo-moar 04c256: OUTPUT«Nil␤»
19:50 Ven m: say (sub { given 1 { 5 when 1;  } })().perl
19:50 camelia rakudo-moar 04c256: OUTPUT«5␤»
19:51 Ven uh oh.
19:51 lizmat do for ?
19:51 Ven yes. but I thought I needed do given, as well
19:51 Ven Is gather/take the same ?
19:51 lizmat m: say (sub { do for ^5 { 5 } })().perl
19:51 camelia rakudo-moar 04c256: OUTPUT«(5, 5, 5, 5, 5).list␤»
19:52 Ven yes, I know that. I mean -- I thought if and given would not return either unless I used do
19:53 rurban1 joined #perl6
19:53 lizmat m: say (sub { if False { 5 } })().perl
19:53 camelia rakudo-moar 04c256: OUTPUT«Nil␤»
19:53 Ven Well, it really is true what they say : you learn more doing a tutorial than your readers ;)
19:53 lizmat because if True, then 5 is the last expression
19:54 lizmat if False, then the if is the last "expression"
19:54 Ven mmmh.
19:54 virtualsue joined #perl6
19:54 * lizmat is looking at the precomp rules in Makefiles
19:54 Ven m: (sub { gather { take 1; take 2; } })().perl
19:54 camelia rakudo-moar 04c256: ( no output )
19:54 Ven m: (sub { do gather { take 1; take 2; } })().perl
19:54 camelia rakudo-moar 04c256: ( no output )
19:54 lizmat is there a reason that lib/Test.pm is compiled into lib
19:55 lizmat and lib/lib.pm6 is compiled into blib ?
19:55 lizmat shouldn't they both be compiled into lib or blib?
19:55 lizmat moritz, FROGGS[mobile], jnthn: opinions?   ^^^
19:56 Ven m: (sub { gather for ^1 { take 1; take 2; } })().perl
19:56 camelia rakudo-moar 04c256: ( no output )
19:56 Ven m: (sub { do gather for ^1 { take 1; take 2; } })().perl
19:56 camelia rakudo-moar 04c256: ( no output )
19:56 Ven I'm really just too dumb for that ._.
19:56 FROGGS__ lizmat: I don't know of any reason for that weird setup
19:57 jnthn lizmat: For Test.pm, because -Ilib is used (or I think the env var)
19:57 jnthn lizmat: So it wants to be there for sanity and spec tests to find it
19:57 Ven m: (sub { my @a = gather for ^3 { take 1; take 2; }; @a })().perl
19:57 jnthn Not sure why we have blib though...the convention so far has been to put pre-compiled things alongside their source...
19:57 camelia rakudo-moar 04c256: ( no output )
19:57 jnthn Ven: "say"?
19:57 Ven jnthn: oooh. repl habit >_>
19:57 lizmat jnthn: that's what I thought
19:58 Ven thanks. I couldn't quite understand what the heck was going on >>
19:58 lizmat ok, first going to fix and spectest that
19:58 lelf` joined #perl6
19:59 Ven is it only looping constructs that don't return values ?
19:59 jnthn lizmat: Make sure to update the make install target to copy lib.moarvm from lib instead of blib, if you move it
19:59 lizmat will do
19:59 Ven well, gather *is* listed in S04 as being a do-with-continuations, so it makes sense.
19:59 jnthn Ven: Yeah. We had them doing so and people ended up with epic performance bugs.
19:59 Ven jnthn: yeah, coffee users hit the same wall quite a lot
20:00 Ven (so it's one of the first thing I tried back then). Ok, so, loop, while, and for. Will note, ty !
20:00 jnthn Folks think of "for" too imperatively for it to really work out to make an unadorned one functional.
20:01 Ven (ruby gets away with it because .each just returns this, eh.)
20:01 masak note that `for` doesn't give values on the statement level, but *does* if put in parens as an expression.
20:02 Ven Now to put that in words ...
20:02 jnthn Yes, that's one of the way so adorn it :)
20:02 jnthn *to
20:02 Ven masak: I can't say "if it's statement-level-y, it won't return",though :P
20:03 jnthn There's not really an -y here
20:03 masak Ven: I would have it as "if you put it in parens, the `for` can be used as a list comprehension"
20:03 jnthn Or if there is, I'm surprised, 'cus I'm pretty sure when I impl'd it I made it have to be directly at statement level :)
20:04 Ven jnthn: I mean "control flow structures" in general -- not just for
20:04 PerlJam masak: "What's a list comprehension?"  ;)
20:04 Ven masak: I'm trying to explain the exception to the "return" rule
20:04 Ven and also, "list comprehension" is indeed something that I don't think fits correctly,for this reason :
20:04 masak PerlJam: :)
20:05 Ven m: say (sub { do for ^3 { do for ^3 { 5 } } })().perl
20:05 camelia rakudo-moar 04c256: OUTPUT«(5, 5, 5, 5, 5, 5, 5, 5, 5).list␤»
20:05 PerlJam Ven: I think looking at it as an "exception" is the problem.  It's not an exception really.
20:05 Ven oh, actually, I guess I'm okay with that. Flattening
20:05 Ven PerlJam: why not ?
20:10 PerlJam Ven: because it's not an exception, it's the rule.  Things used as expressions act as expressions.  Things used as statements act as statements.  Statements never "return a value"
20:10 Ven PerlJam: so why is the If not a statement ?
20:10 Ven what you're telling me is that only loops are statements ?
20:11 masak m: sub foo { if Bool.pick { 5 } else { 42 } }; say foo
20:11 camelia rakudo-moar 04c256: OUTPUT«42␤»
20:13 PerlJam Ven: if *is* statement, why do you think it's not?
20:13 jnthn PerlJam: masak just showed it returning a value :)
20:13 Ven PerlJam: because by your definition, if it were a statement, it should not return, right ?
20:13 jnthn I see loops as being an exception, fwiw.
20:13 Ven alright, I'm not crazy then :P.
20:13 PerlJam jnthn: no, the if didn't "return a value", the last expression evaluated did  :)
20:14 jnthn PerlJam: Yes, but if you put a for as the last statement, you ain't getting a value back...
20:14 PerlJam Ven: that's okay, I often think I am crazy, so maybe there's some truth to it ;)
20:14 ssutch_ joined #perl6
20:15 masak PerlJam: there's no "the last expression evaluated" semantics.
20:16 masak PerlJam: if statements are transparent to returning stuff; for statements aren't. in that sense, loops are an exception.
20:17 PerlJam ah well, perhaps so.
20:17 * Ven got it right (kinda), for once.
20:18 Ven Well, "performance reasons" are still something to take care of.
20:18 PerlJam Ven++
20:18 Ven PerlJam++ # craziness !
20:20 silug joined #perl6
20:22 Ven looks like I did a copy-paste fail and lost what I wrote about that. Whoopsie
20:22 kurahaupo joined #perl6
20:22 timotimo always be writing in an editor with infinite undo
20:22 timotimo and, if possible, persistent undo
20:25 btyler branching tree undo as well
20:26 dmol joined #perl6
20:26 timotimo aye, but that's for advanced people
20:26 timotimo i still didn't grok that feature of vim; i should get that undotree plugin
20:27 Ven just spam u :P
20:27 Ven Infinite undo ? I have that, it's ctrl-z :P
20:27 lizmat u xx Inf
20:28 kivutar joined #perl6
20:28 Ven 55u
20:28 Ven #undo my whole day
20:29 lizmat first commit, then undo  :-)
20:29 btyler timotimo: yes. I use gundo, and it has changed the way I work
20:29 timotimo oh, sjl
20:30 timotimo that's a "seal of quality" :)
20:30 btyler being able to hop to any atomic change I've made in a file for the last (however long I haven't moved/renamed it) is incredible
20:30 timotimo can you also extract a change as a unified diff and cherry-pick it to somewhere else or something like that?
20:31 btyler gundo presents the diffs as you scroll through the branches of the history tree, yeah
20:31 timotimo sweet
20:31 btyler there's probably a fancy way to apply just that change, which I should look into
20:32 timotimo bleh, the screenr for that plugin doesn't seem to want to load on my machine
20:32 timotimo damn you, adobe flash player
20:40 Akagi201 joined #perl6
20:41 SevenWolf joined #perl6
20:43 dalek rakudo/nom: 1372dc9 | (Elizabeth Mattijsen)++ | tools/build/Makefile- (2 files):
20:43 dalek rakudo/nom: Normalize location for storing precomped files
20:43 dalek rakudo/nom:
20:43 dalek rakudo/nom: A mix of lib/blib was being used in JVM and Moar.  Parrot was clean in that
20:43 dalek rakudo/nom: respect.
20:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1372dc96bc
20:47 kweetal joined #perl6
20:51 timotimo do we have to push some button to make perl6.org/compilers/features refresh?
20:52 carlin moritz said a cron does it
20:53 timotimo ah, i must have missed that message
20:53 timotimo good.
20:53 carlin http://irclog.perlgeek.de/perl6/2014-07-16#i_9033803
20:55 timotimo ah!
20:55 timotimo thank you :)
20:57 rurban1 joined #perl6
20:57 lizmat hmmm... it appears that the parrot Makefile install target copies the source files like lib/Test.pm to the destination dir
20:57 lizmat but the JVM and MoarVM install targets do not
20:58 vendethiel can I ... ?
20:58 vendethiel .u ( ͡° ͜ʖ ͡°)
20:58 yoleaux U+0020 SPACE [Zs] ( )
20:58 yoleaux U+0028 LEFT PARENTHESIS [Ps] (()
20:58 yoleaux U+0029 RIGHT PARENTHESIS [Pe] ())
20:58 dalek rakudo-star-daily: 6000466 | coke++ | log/ (13 files):
20:58 dalek rakudo-star-daily: today (automated commit)
20:58 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/6000466cb0
20:58 dalek perl6-roast-data: 5fc3351 | coke++ | / (4 files):
20:58 dalek perl6-roast-data: today (automated commit)
20:58 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/5fc3351e40
20:58 vendethiel .u  ͡° ͜ʖ
20:58 yoleaux U+0020 SPACE [Zs] ( )
20:58 yoleaux U+00B0 DEGREE SIGN [So] (°)
20:58 yoleaux U+0296 LATIN LETTER INVERTED GLOTTAL STOP [Ll] (ʖ)
21:00 lizmat jnthn, moritz, FROGGS[mobile] : any opinion about the install target question ^^^  ?
21:01 jnthn I'd have expected Test.pm to be installed
21:01 FROGGS__ the same
21:02 lizmat ok, then I will make that happen
21:02 FROGGS__ lizmat++
21:04 [Coke] rakudo.moar had a clean spectest run today.
21:05 [Coke] no change in parrot, but it's failing 17 tests.
21:05 [Coke] jvm failing 21, though several of them seem to fail randomly depending on the phase of the moon.
21:09 dalek rakudo/nom: 9e15cc8 | (Elizabeth Mattijsen)++ | tools/build/Makefile- (2 files):
21:09 dalek rakudo/nom: Make JVM and Moar also install source files
21:09 dalek rakudo/nom:
21:09 dalek rakudo/nom: Parrot was, consensus is they should be
21:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9e15cc8a29
21:10 Ven joined #perl6
21:11 carlin I think there's some code in Temporal that can adjust the phase of the moon, might fix those JVM failures :p
21:12 brrt joined #perl6
21:12 lizmat there is, but it depends on rand
21:13 lizmat :-(
21:13 masak what slander... :)
21:14 vendethiel gather, take, start, winner ... are these "constructs" ?
21:15 masak statement forms?
21:15 ssutch_ joined #perl6
21:18 SevenWolf joined #perl6
21:28 lizmat m: my %h = a => <b c>, b => <e f>; say %h.values.flat.perl  # sort of expect <b c e f> on this
21:28 camelia rakudo-moar 04c256: OUTPUT«($("b", "c"), $("e", "f")).list␤»
21:28 lizmat shouldn't the .flat flatten the values ?
21:29 jnthn .flat doesn't mean "descend into containerized things recursively", it means "flatten away any Parcels"
21:29 masak m: my %h = a => <b c>, b => <e f>; say %h.values.perl
21:29 camelia rakudo-moar 04c256: OUTPUT«($("b", "c"), $("e", "f")).list␤»
21:29 lizmat m: my %h = a => <b c>, b => <e f>; say %h.values.map(*.flat).perl   # so this wat
21:29 camelia rakudo-moar 04c256: OUTPUT«("b", "c", "e", "f").list␤»
21:30 jnthn m: my %h = a => <b c>, b => <e f>; say %h.values>>.flat.perl
21:30 camelia rakudo-moar 04c256: OUTPUT«(("b", "c").list, ("e", "f").list)␤»
21:30 lizmat *way
21:30 jnthn yeah
21:30 masak wonderful typo ;)
21:30 jnthn yeah, I was gonna say
21:30 lizmat yes, I thought I'd mention the typo  :-)
21:30 jnthn I dunno how far it helps, but my mental model of flattening has it as inseperable from scalar containers.
21:31 jnthn I think the two must be seen together.
21:31 jnthn Scalar = won't flatten
21:31 jnthn And we know a Hash has values that are scalars.
21:32 jnthn Provided you're assigning to it, anyways.
21:32 lizmat ok, will try to get that model into my head  :-)
21:32 ren1us j: say "test"
21:33 camelia rakudo-jvm 1372dc: OUTPUT«test␤»
21:33 ren1us that's interesting
21:33 ren1us i just /msg'd it to her and got htis
21:33 ren1us (17:32:44) <camelia> rakudo-jvm 1372dc: OUTPUT«Error while reading '/home/p6eval_eval/p6eval-token': No such file or directory at /home/p6eval/jvm-rakudo/eval-client.pl line 10.␤»
21:33 jnthn I'm kinda trying to reverse-engineer my mental model of containers/flattening so I can work out why I don't find it anything like so confusing as many folks seem to. :)
21:33 carlin I think that means camelia is rebuilding rakudo
21:35 hoelzro jnthn: I used to be confused by it, but now I find it rather intuitive
21:35 hoelzro but, like intuition, I cannot explain it well =/
21:37 jnthn *nod*
21:39 hoelzro what's the best way to check if two objects are identical (other than $^a.WHERE == $^b.WHERE)? =:= ?
21:40 masak ===
21:40 hoelzro ah, thanks masak
21:40 hoelzro that's one thing I'm still working on =)
21:41 Akagi201 joined #perl6
21:43 [Coke] (containers, flattening, lists) evil, pure and simple, from the 8th dimension.
21:44 ren1us very weird question.  given that i'm trying to be a little less useless, if i wanted to go digging through to try and hunt down and, in theory, find a fix for this, where would i start?
21:44 ren1us m: class A{}; my $a = A.new; my $ref = $a.WHERE; my $bogus = False; for ^10000 { if $ref ne $a.WHERE { $bogus = True; }; }; say $bogus;
21:45 camelia rakudo-moar 1372dc: OUTPUT«True␤»
21:48 hoelzro ren1us: is that mokudo-only?
21:48 ren1us well, niecza just crashes because it doesn't know that WHERE exists, but yeah
21:48 ren1us parrot and jvm are fine
21:48 hoelzro I figured
21:48 hoelzro ren1us: you might want to bring that up in #moarvm
21:49 hoelzro but that might be ok behavior
21:49 hoelzro because the GC is free to move things around, iirc
21:49 ren1us i've been fighting with it because it makes it really difficult to have object keys in a hash
21:50 hoelzro ooooo
21:50 hoelzro that is definitely interesting
21:50 hoelzro I hadn't thought of that
21:51 ren1us my workaround is to override .WHICH and try to maintain uniqueness by holding onto the initial .WHERE value in an attribute
21:51 masak IMHO, the hashing of an object should be distinct from its location in memory. for exactly the reason you mention: predictability of keys in keyed data structures.
21:52 masak or, put differently, keyed data structures shouldn't be affected by what GC the VM runs -- and if they are, that's a bug.
21:53 dalek roast: 2f5ad58 | (David Warring david.warring@gmail.com)++ | S04-statements/for.t:
21:53 dalek roast: Added list comprehension test.
21:53 dalek roast:
21:53 dalek roast: Spec: https://github.com/perl6/specs/blob/master/S04-control.pod#loop-statements
21:53 dalek roast: review: https://github.com/perl6/roast/commit/2f5ad5843a
21:53 hoelzro masak: agreed, .WHERE happens to be a fairly good default, though
21:53 hoelzro or so we all thought...
21:54 masak it works if the GC doesn't copy things. which it's perfectly in its right to do.
21:55 masak so I guess it's the assumption that .WHERE is always a good hash (for entity objects) that's suspect.
21:55 denis_boyun_ joined #perl6
21:56 hoelzro right
21:57 masak 'night, #perl6
21:57 ren1us this is absolutely a noobfix, but what about just keeping an in incrementing object counter and hand each newly created object its count?  it holds no significant meaning, but remains unique and unchanging.
22:02 hoelzro nigth masak
22:02 hoelzro night, even
22:02 hoelzro ren1us: I would bring this up in #moarvm
22:02 hoelzro even though there's a strong overlap between the two channels =)
22:05 xragnar_ joined #perl6
22:15 brrt left #perl6
22:42 Akagi201 joined #perl6
22:47 Alula_ joined #perl6
22:55 rindolf joined #perl6
23:17 BenGoldberg joined #perl6
23:26 hoverboard joined #perl6
23:27 hoverboard joined #perl6
23:42 Akagi201 joined #perl6
23:43 jack_rabbit joined #perl6
23:44 lizmat sleep and commute to Portland, OR &

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

Perl 6 | Reference Documentation | Rakudo