Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-07-24

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:03 BenGoldberg joined #perl6
00:06 rurban1 joined #perl6
00:10 Mouq m: ∅
00:10 camelia rakudo-moar b20535: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/EFrtRZey8nâ�¤Bogus statementâ�¤at /tmp/EFrtRZey8n:1â�¤------> [32m<BOL>[33mâ��[31m∅[0mâ�¤    expecting any of:â�¤        statement listâ�¤        prefix or termâ�¤        prefix or meta-prefixâ�¤Â»
00:10 Mouq std: ∅
00:10 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0m�Bogus statement at /tmp/gvyk70ZGrh line 1:�------> [32m<BOL>[33m�[31m∅[0m�Parse failed�FAILED 00:01 122m�»
00:10 * Mouq is confused
00:18 BenGoldberg Totally bogus! :)
00:19 BenGoldberg m: ∅.say
00:19 camelia rakudo-moar b20535: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/a7XqidXTEDâ�¤Bogus statementâ�¤at /tmp/a7XqidXTED:1â�¤------> [32m<BOL>[33mâ��[31m∅.say[0mâ�¤    expecting any of:â�¤        statement listâ�¤        prefix or termâ�¤        prefix or meta-pr…»
00:19 BenGoldberg m: say (∅)
00:19 camelia rakudo-moar b20535: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/hNkm3_e8i6â�¤Bogus statementâ�¤at /tmp/hNkm3_e8i6:1â�¤------> [32msay ([33mâ��[31m∅)[0mâ�¤    expecting any of:â�¤        semicolon listâ�¤        prefix or termâ�¤        prefix or meta-prefi…»
00:19 BenGoldberg m: say q∅bogus!∅
00:19 camelia rakudo-moar b20535: OUTPUT«bogus!␤»
00:20 atroxaper joined #perl6
00:22 TimToady m: constant ∅ = set; say ∅
00:22 camelia rakudo-moar b20535: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/xYaaK0ZhA4â�¤Missing initializer on constant declarationâ�¤at /tmp/xYaaK0ZhA4:1â�¤------> [32mconstant [33mâ��[31m∅ = set; say ∅[0mâ�¤    expecting any of:â�¤        statement listâ�¤       …»
00:23 Psyche^ joined #perl6
00:23 TimToady m: constant term:<∅> = set; say ∅
00:23 camelia rakudo-moar b20535: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/0Fv7nKlfNaâ�¤Two terms in a rowâ�¤at /tmp/0Fv7nKlfNa:1â�¤------> [32mconstant term:<∅> = set; say [33mâ��[31m∅[0mâ�¤    expecting any of:â�¤        argument listâ�¤        prefix or termâ�¤ …»
00:23 TimToady m: my \term:<∅> = set; say ∅
00:23 camelia rakudo-moar b20535: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/fb5Ud0qk3sâ�¤Term definition requires an initializerâ�¤at /tmp/fb5Ud0qk3s:1â�¤------> [32mmy \term[33mâ��[31m:<∅> = set; say ∅[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤Â»
00:23 TimToady std: my \term:<∅> = set; say ∅
00:24 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0m�The 'set' listop may not be called without arguments (please use () or whitespace to clarify) at /tmp/crwVzpWW6Y line 1:�------> [32mmy \term:<∅> = set[33m�[31m; say ∅[0m�Check failed�FAILED 00:01 126m�»
00:24 TimToady std: my \term:<∅> = set(); say ∅
00:24 camelia std 0f2049c: OUTPUT«ok 00:01 126m␤»
00:24 TimToady m: my \term:<∅> = set(); say ∅
00:24 camelia rakudo-moar b20535: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/0ffzozuPIIâ�¤Term definition requires an initializerâ�¤at /tmp/0ffzozuPII:1â�¤------> [32mmy \term[33mâ��[31m:<∅> = set(); say ∅[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤Â»
00:24 TimToady std: constant term:<∅> = set(); say ∅
00:24 camelia std 0f2049c: OUTPUT«ok 00:01 126m␤»
00:25 TimToady m: sub term:<∅> { set() }; say ∅
00:25 camelia rakudo-moar b20535: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/1a5r9xNym5â�¤Two terms in a rowâ�¤at /tmp/1a5r9xNym5:1â�¤------> [32msub term:<∅> { set() }; say [33mâ��[31m∅[0mâ�¤    expecting any of:â�¤        argument listâ�¤        prefix or termâ�¤  â€¦Â»
00:26 TimToady when did that stop working?
00:27 TimToady or contrariwise, why is it complaining about feeding a term to say?!?
00:28 TimToady m: sub term:<∅> { set() }; say 42
00:28 camelia rakudo-moar b20535: OUTPUT«42␤»
00:28 TimToady m: sub term:<es> { set() }; say es
00:28 camelia rakudo-moar b20535: OUTPUT«set()␤»
00:28 TimToady seems like a unicode feyl
00:30 TimToady p6: sub term:<∅> { set() }; say ∅
00:30 camelia niecza v24-109-g48a8de3: OUTPUT«set()␤»
00:30 camelia ..rakudo-jvm b20535: OUTPUT«Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'gen/jvm/stage2/QRegex.nqp'␤  in  (src/Perl6/Pod.nqp)␤  in  (src/vm/jvm/ModuleLoader.nqp:78)␤  in load_module (src/vm/jvm/ModuleLoader.nqp:60)␤  in  (src/Perl6/A…»
00:30 camelia ..rakudo-{parrot,moar} b20535: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Two terms in a rowâ�¤at /tmp/tmpfile:1â�¤------> [32msub term:<∅> { set() }; say [33mâ��[31m∅[0mâ�¤    expecting any of:â�¤        argument listâ�¤        prefix or term…»
00:31 TimToady m: sub term:<§> { set() }; say §
00:31 camelia rakudo-moar b20535: OUTPUT«set()␤»
00:31 TimToady hmmmmm
00:32 TimToady m: say '∅'.chars
00:32 camelia rakudo-moar b20535: OUTPUT«1␤»
00:36 ventica_desktop ur thinking possibly encoding issue?
00:36 TimToady for some reason the definition of ∅ is commented out
00:36 TimToady in src/core/set_operators.pm
00:36 TimToady was, but doesn't seem so
00:37 TimToady m: say '§' ~~ /\w/
00:37 camelia rakudo-moar b20535: OUTPUT«Nil␤»
00:38 geekosaur there was a time when rakudo's parser went insane with non-ascii in the setting, wasn't there?
00:38 TimToady why would § work but not ∅?
00:38 geekosaur (20x slower or something like that)
00:38 ventica_desktop maybe camelia is a liberal arts major
00:38 TimToady which is why the setting uses \x2205 instead
00:38 geekosaur ah
00:39 rurban joined #perl6
00:39 geekosaur I was wondering since I recall ∅ being around for a while, and wondered if someone commented it while trying to track down the slowness issue and forgot to uncomment, or something
00:43 TimToady the comment seems to indicate some other issue with ACCEPTS
00:48 ventica joined #perl6
00:53 TimToady cxreg: re http://irclog.perlgeek.de/perl6/2014-07-14#i_9023077 I would point out that such a ruling would disallow the standard < or > comparison ops, and that regex also contain the unbalanced assertions <( and )>, nor do « and » need to come in matched pairs in either regex or hypers
00:53 TimToady (now only 9 days behind on the backlog...)
00:57 TimToady ((if you guys would just quit doing stuff and talking about it, this would be a lot easier... :))
00:58 wtw joined #perl6
00:59 raydiak I *wish* I was only 9 days behind on the backlog :)
01:00 dayangkun joined #perl6
01:00 jack_rabbit joined #perl6
01:02 thou joined #perl6
01:03 raiph joined #perl6
01:05 raydiak hrm...and I'm having a heck of a time getting htmlify to run on the docs
01:07 raiph .tell timotimo https://gist.github.com/raiph/c1202f874c2477b09d1f done thru 21st, ie monday. (i think you should just do thru monday :)
01:07 yoleaux raiph: I'll pass your message to timotimo.
01:10 raiph raydiak: have you seen http://irclog.perlgeek.de/perl6/2014-07-07#i_8981246 ?
01:11 nbrown joined #perl6
01:11 raydiak raiph: no...wonder if it's related...my errors are different
01:12 FROGGS_ joined #perl6
01:13 raiph raydiak: what are you seeing?
01:15 raydiak raiph: one gives me something quite mysterious: "Iteration past end of grapheme iterator"...the other just dies towards the end
01:15 raydiak 2 different 64-bit linux machines
01:15 woosley left #perl6
01:16 raydiak ah, I just figured the one out...apparently the process needs more than 4 gigs :P
01:16 raydiak (the one that dies towards the end)
01:16 raiph raydiak: did ya catch that jnthn did an overhaul of string handling on moar?
01:16 raydiak raiph: I've been gone for about...half a year
01:22 raydiak looks like I stopped in a couple times earlier this year, according to the log...but anyways, yeah, looks like I bettercatch up on news and such
01:25 raiph I'm really looking forward to 2014 advent calendar entries related to speed and imagining one comparing Pray speed and features as of Dec Nth 2013 with those as of Dec Nth 2014 would be perfect. :)
01:26 rindolf joined #perl6
01:26 raiph anyhow, gotta run, goodnight, great to see raydiak's bak
01:26 raydiak that is an idea...thanks raiph, g'night!
01:27 rindolf Hi all.
01:27 raydiak hi rindolf
01:27 rindolf TimToady: how are you feeling?
01:30 TimToady I'm feeling fine; just can't do too much with my eyes.
01:31 TimToady wasn't allowed to read at all the first week
01:31 TimToady they'd really prefer me not to knock my retina loose again
01:31 TimToady and I'm not allowed to change altitude
01:32 TimToady since I have a gas bubble in my eye, perfluoro propane, in fact
01:33 TimToady my last bubble was sulfur hexafloride, so I'm not sure whether that's progress...
01:34 TimToady *fluor
01:35 TimToady well, two more fluorines, anyway, but trading sulfur for 3 carbons seems kinda mundane
01:40 * TimToady wanders off to rest his eyes
01:42 colomon o/
01:45 raydiak \o
01:45 skids joined #perl6
01:47 klapperl joined #perl6
01:56 dalek doc: 1e3415f | raydiak++ | template/search_template.js:
01:56 dalek doc: Auto-highlight first result in HTML search
01:56 dalek doc: review: https://github.com/perl6/doc/commit/1e3415f1e5
01:57 figoe joined #perl6
01:57 perigrin joined #perl6
01:58 nbrown joined #perl6
01:59 perigrin left #perl6
01:59 nbrown_ joined #perl6
02:04 oJustDust joined #perl6
02:05 rindolf TimToady: bye.
02:05 rindolf raydiak: hi.
02:09 noganex joined #perl6
02:09 silug joined #perl6
02:10 cognome joined #perl6
02:15 hoverboard joined #perl6
02:20 chenryn joined #perl6
02:21 atroxaper joined #perl6
02:23 dayangkun_ joined #perl6
02:25 nbrown joined #perl6
02:30 kaare_ joined #perl6
02:31 lustlife joined #perl6
02:45 dayangkun joined #perl6
02:53 figoe joined #perl6
03:08 rurban1 joined #perl6
03:09 rurban2 joined #perl6
04:03 dalek roast/S26-WHY: 042b832 | (Rob Hoelz)++ | S26-documentation/multiline-leading.t:
04:03 dalek roast/S26-WHY: Fix up multi-line leading decl comment test
04:03 dalek roast/S26-WHY: review: https://github.com/perl6/roast/commit/042b8329cc
04:03 dalek roast/S26-WHY: 94c9408 | (Rob Hoelz)++ | S26-documentation/multiline-trailing.t:
04:03 dalek roast/S26-WHY: Start on multi-line trailing decl comment test
04:03 dalek roast/S26-WHY: review: https://github.com/perl6/roast/commit/94c9408794
04:03 dalek roast/S26-WHY: 2429965 | (Rob Hoelz)++ | S26-documentation/multiline-leading.t:
04:03 dalek roast/S26-WHY: Test nested definitions for multiline leading
04:03 dalek roast/S26-WHY: review: https://github.com/perl6/roast/commit/24299650f5
04:03 dalek roast/S26-WHY: 4fa875e | (Rob Hoelz)++ | S26-documentation/why-leading.t:
04:03 dalek roast/S26-WHY: Make sure we don't have docs when we don't expect them
04:03 dalek roast/S26-WHY: review: https://github.com/perl6/roast/commit/4fa875e075
04:03 dalek roast/S26-WHY: f6b14c5 | (Rob Hoelz)++ | S26-TODO:
04:03 dalek roast/S26-WHY: More plans
04:03 dalek roast/S26-WHY: review: https://github.com/perl6/roast/commit/f6b14c5d51
04:18 atroxaper joined #perl6
04:20 anaeem1_ joined #perl6
04:31 Alina-malina joined #perl6
04:32 chenryn joined #perl6
04:37 Alina-malina joined #perl6
05:10 bcode joined #perl6
05:12 rurban1 joined #perl6
05:14 lue joined #perl6
05:27 gfldex joined #perl6
05:36 Alina-malina joined #perl6
05:37 rurban1 joined #perl6
05:38 Alina-malina joined #perl6
05:39 dayangkun joined #perl6
05:58 atroxaper joined #perl6
06:03 kaleem joined #perl6
06:08 dalek perl6-bench: bc258b6 | (Geoffrey Broadwell)++ | / (3 files):
06:08 dalek perl6-bench: Add --skip-incomplete option for analyze
06:08 dalek perl6-bench:
06:08 dalek perl6-bench: Skips test results that have data for some compilers and not others
06:08 dalek perl6-bench: when computing summary scores; this allows comparison of compilers
06:08 dalek perl6-bench: that didn't all complete every test successfully.
06:08 dalek perl6-bench:
06:08 dalek perl6-bench: This option is defaulted on by `bench compare` and `bench history`.
06:08 dalek perl6-bench: review: https://github.com/japhb/perl6-bench/commit/bc258b6530
06:08 rurban1 joined #perl6
06:13 denis_boyun_ joined #perl6
06:18 timotimo ah, that'll also make nqp/rakudo comparisons interesting
06:18 yoleaux 01:07Z <raiph> timotimo: https://gist.github.com/raiph/c1202f874c2477b09d1f done thru 21st, ie monday. (i think you should just do thru monday :)
06:28 sergot carlin: I'm surprised then :)
06:28 sergot hi #perl6 o/
06:44 zakharyas joined #perl6
06:53 lizmat joined #perl6
06:57 [Sno] joined #perl6
07:00 darutoko joined #perl6
07:02 woolfy joined #perl6
07:06 japhb timotimo: Yup, that's part of the reasoning for that change.  When I ran a big all-of-2014 bench run, and then found NQP was -- for every entry in the historical comparison, I decided to fix that.  :-)
07:06 japhb timotimo: Are you still doing the perl6 summaries?
07:09 rurban1 joined #perl6
07:13 Ven joined #perl6
07:18 Akagi201 joined #perl6
07:26 Alina-malina joined #perl6
07:39 atroxaper joined #perl6
07:46 woolfy joined #perl6
07:46 SamuraiJack__ joined #perl6
07:47 airen joined #perl6
08:02 Ven m: sub f(*%f) { say %f.perl }; f('a' => 1)
08:02 camelia rakudo-moar 1b2502: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤  in sub f at /tmp/pK8uk2C46n:1␤  in block  at /tmp/pK8uk2C46n:1␤␤»
08:02 Ven m: sub f(%f) { say %f.perl }; f('a' => 1)
08:02 camelia rakudo-moar 1b2502: OUTPUT«"a" => 1␤»
08:06 Alina-malina joined #perl6
08:06 telex joined #perl6
08:10 rurban1 joined #perl6
08:12 rurban2 joined #perl6
08:15 dmol joined #perl6
08:24 xinming_ joined #perl6
08:24 bjz_ joined #perl6
08:41 chenryn joined #perl6
08:45 fhelmberger joined #perl6
08:48 dakkar joined #perl6
08:48 atroxaper joined #perl6
08:56 masak good antenoon, #perl6
08:58 Alina-malina joined #perl6
08:58 dayangkun joined #perl6
08:58 moritz good masaknoon, ante
08:59 masak and a good masaknoon it is!
09:00 lizmat joined #perl6
09:00 masak lizmat: is OSCON still going on? how is/was it?
09:01 nwc10 masak: internet says that today is the last day of OSCON. Last thing on schedule is at 1:15pm
09:01 nwc10 http://www.oscon.com/oscon2014/public/schedule/detail/35859
09:02 masak ah, ok.
09:02 masak nwc10++ # now I feel slightly bad for having someone else check for me :)
09:02 nwc10 and 24 hours later Google docs still doesn't support ODF. I thought that web businesses ran at internet speed :-)
09:02 nwc10 masak: I knew the answer already. I just dug up the link for the exact time
09:03 nwc10 it seems to be Sunday -> Thursday for the first time this year
09:03 masak I see.
09:04 masak TimToady: I don't think I had seen ((this solution :)) to the https://xkcd.com/541/ problem before -- logically, I don't like it, but esthetically I do. :)
09:07 psch joined #perl6
09:10 ventica or {maybe this :)}
09:10 masak "interesting" :)
09:12 rurban1 joined #perl6
09:22 FROGGS_ .tell lizmat in some cases you can quote or escape paths, it does not work for all build systems but we should try
09:22 yoleaux 22 Jul 2014 23:26Z <japhb> FROGGS_: Since you used a new perl6-bench test to show the advantage of your charrange changes, can you commit and push said new test please?  :-)
09:22 yoleaux FROGGS_: I'll pass your message to lizmat.
09:30 Ven masak: (I usually do this :).)
09:30 Ven (and it's funny because he actually did a ted talk)
09:31 masak oh, so he did!
09:31 masak but about the what-if posts, it seems.
09:31 Ven Yeah, about "what if" however.
09:34 FROGGS_ .tel japhb here is the test, I'd committed it if I could make a P5 version: http://paste.scsys.co.uk/409315
09:34 FROGGS_ .tell japhb here is the test, I'd committed it if I could make a P5 version: http://paste.scsys.co.uk/409315
09:34 yoleaux FROGGS_: I'll pass your message to japhb.
09:41 timotimo japhb: i'm considering skipping it this week and making a rakudo star release post instead
09:53 eternaleye joined #perl6
10:02 sergot .seen ajs
10:02 yoleaux I haven't seen ajs around.
10:08 treehug88 joined #perl6
10:10 Alina-malina joined #perl6
10:13 rurban1 joined #perl6
10:17 kivutar joined #perl6
10:17 atroxaper joined #perl6
10:19 lustlife joined #perl6
10:19 skids joined #perl6
10:20 bjz_ joined #perl6
10:23 Mouq joined #perl6
10:23 Mouq Pls break: https://gist.github.com/Mouq/13b4d684c58b4c6add9b
10:24 Mouq i.e. try to find cases where it has incorrect behaviour
10:26 Mouq Actually... I wonder why :delete doesn't delete the whole array, the way I have that coded...
10:26 Mouq Oh, nvm
10:28 Mouq Ahh, it looks like :kv, :p, :k, etc. are broken. I didn't think to test them
10:31 Mouq Though... I'm not sure exactly what exactly the behaviour of :kv etc sould be here...
10:31 Mouq s/exactly//
10:39 tadzik hmm, is there anyone regularly using Panda on windows?
10:40 tadzik I'm looking at https://github.com/tadzik/panda/pull/91, and it surprises me that it only came up recently
10:41 FROGGS_ that patch looks very valid
10:41 tadzik huh, I just merged a pandabrew PR, and until the last moment I thought it's for rakudobrew
10:41 FROGGS_ I think I had that also that it had problems with deps or build order
10:41 masak I tried to install Rakudo on Windows to duplicate this problem, but I gave up because I remembered half way that I hate installing things on Windows.
10:41 tadzik now I wonder: "people use pandabrew? It works? :o"
10:42 masak I also approve of carlin++'s fix, and I think it should be applied.
10:43 masak but I would prefer if there were a long-term solution for this in IO::Path itself.
10:43 tadzik agreed
10:43 tadzik on both parts
10:43 colomon +1
10:43 masak IO::Path should be dealing with platform-dependent path separators.
10:43 FROGGS_ well, at least some stuff is normalized to forward slashes
10:43 tadzik but, does it need to be <$slash>, not just $slash?
10:43 masak tadzik: <$slash> is only if it's a string.
10:43 masak this is a regex.
10:43 tadzik aha
10:44 tadzik indeed
10:44 dalek panda: ff45e43 | Carlin++ | lib/Panda/Builder.pm:
10:44 dalek panda: Module paths contain backslashes on Windows
10:44 dalek panda:
10:44 dalek panda: This should allow panda to build/install on Windows.
10:44 dalek panda: Currently the required replacements are not done on Windows paths.
10:44 dalek panda: This causes panda to not work out the dependencies properly and thus not compile
10:44 dalek panda: the modules in the right order.
10:44 dalek panda: review: https://github.com/tadzik/panda/commit/ff45e43212
10:44 dalek panda: 3f8d8b3 | tadzik++ | lib/Panda/Builder.pm:
10:44 dalek panda: Merge pull request #91 from carbin/master
10:44 dalek panda:
10:44 dalek panda: Module paths contain backslashes on Windows
10:44 dalek panda: review: https://github.com/tadzik/panda/commit/3f8d8b3f28
10:44 FROGGS_ <$slash> is like evaling a string to a regex
10:45 FROGGS_ m: my $reg = /\w+/; say "abc" ~~ /$reg/
10:45 camelia rakudo-moar 1b2502: OUTPUT«「abc」␤␤»
10:49 brrt joined #perl6
10:52 atroxaper joined #perl6
11:00 chenryn joined #perl6
11:14 rurban1 joined #perl6
11:17 carlin re: panda on Windows, I was trying to start using rakudo at $dayjob when I came across that problem and was also surprised that it didn't work on Windows
11:17 carlin not all modules will break from being compiled in the wrong order though, so it's possible that's why it wasn't caught earlier
11:17 nwc10 hackathon reminder: http://act.useperl.at/apw2014/talks
11:18 nwc10 sign up! sign up! Send no money now. http://act.useperl.at/apw2014/stats
11:21 carlin ( and the error messages caused by wrong-order compiliation made me think it was a moar problem )
11:23 atroxaper_ joined #perl6
11:27 Mouq Hmm... Moar dies with Stage parse      : moar(50920,0x7fff77cde310) malloc: *** error for object 0x7fd4cb72cbe0: pointer being freed was not allocated when I use this patch on Rakudo: https://gist.github.com/Mouq/4d320515a1a718a75b22
11:27 salv0 joined #perl6
11:27 Mouq It's late now for me, but if no one picks it up, I try to look at it tomorrow
11:28 Mouq \o
11:30 carlin if you have Foo.pm6 that `use Bar.pm6` and try to compile it, rakudo whinges that you have to compile its deps first
11:30 carlin bit if it's `use Bar::Baz` moar will happily compile it without Bar/Baz.pm6 being compile first
11:35 pochi joined #perl6
11:41 rurban1 joined #perl6
11:42 Ven joined #perl6
11:43 Ven masak: we can't return a string from macro atm, can we ?
11:43 Alina-malina joined #perl6
11:45 Ven ( I'm reallyy just trying to do something like https://github.com/manastech/crystal/commit/0a24914e5ecee288abce21e8d3462b6dfa15f7cb#diff-9fc1ac5e1582956c996fd04dde1f3049R73 )
11:51 prevost joined #perl6
11:54 masak Ven: can't return a string, and -- I keep repeating until, hopefully, I believe it myself -- not my department :)
11:54 masak I'm the guy who does AST macros, thank you very much.
11:55 Ven well, how can I build AST nodes ?
11:56 masak quasi {}
11:56 masak I know that's not a complete answer, though. I'd be happy to map out a nice API with someone for building AST nodes.
11:56 masak kind of a combinator library.
12:00 yakudza joined #perl6
12:07 Ven masak: well, how I can do a macro like `has-fields('a', 'b', 'c')` that does `has $.a; has $.b; has $.c;` ?
12:08 masak well, think about what that means.
12:08 masak m: has $.a
12:08 camelia rakudo-moar 1b2502: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/suOQAaG0Qtâ�¤You cannot declare attribute '$.a' here; maybe you'd like a class or a role?â�¤at /tmp/suOQAaG0Qt:1â�¤------> [32mhas $.a[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        scoped…»
12:08 betterworld can't you somehow make calls like QAST::Op.new() accessible from macros, in order to build AST nodes?
12:08 masak betterworld: I don't want to tie macros to QAST, necessarily.
12:09 masak betterworld: QAST is an implementation detail of the Rakudo line of compilers.
12:09 masak Ven: anyway, as I was beginning to say,
12:10 masak Ven: the quasi environment would need to suppress certain "environmental checks" such as the one you see in that eval.
12:10 masak Ven: that's all planned for Q4. it's a rather big job, but I think it's possible.
12:10 masak er, D4*
12:11 masak see http://news.perlfoundation.org/2011/09/hague-grant-application-implem.html
12:14 [Coke] are we using american english for the specs? (just saw some stuff get changed as "typos", but it could have just been british)(
12:14 masak we are definitely using American English for the spec.
12:15 moritz Britsh Typous
12:16 masak ==SOURRY==
12:18 carlin ==Very sorry, old chap==
12:18 carlin Jolly good show, but we have some potential difficulties on line 1
12:18 Ven masak: you got D1 done, right ?
12:19 jnap joined #perl6
12:20 moritz masak: did you mean, === EXCUSE ME === ?
12:21 masak Ven: D1 and D2.
12:21 Ven masak: oh, splicing is like {{{ }}} ?
12:21 masak aye.
12:22 masak the syntax everyone loves to hate :>
12:22 hoelzro morning #perl6
12:22 masak hoelzro! \o/
12:24 hoelzro ahoy masak
12:24 Ven masak: I don't love to hate it, I just can't understand what it does / is supposed to do
12:25 masak Ven: I'd happily explain, but I don't know what you already know.
12:26 hoelzro I remember hearing a while ago that Str would have a way of counting graphemes; is that NYI?
12:26 jnap joined #perl6
12:26 masak hoelzro: yes, it's NYI.
12:26 hoelzro =/
12:26 hoelzro ...would that be hard to do?
12:26 cognominal masak, for people reading the backlog, suppose he does not know anything :)
12:27 masak ok.
12:27 hoelzro a naive impl could walk the chars, counting which ones have the correct property
12:27 masak quasi splicing is the code equivalent of string interpolation.
12:27 hoelzro or is that overly naive =P
12:27 moritz hoelzro: well, it'd be very slow
12:28 masak that is "Look, interpolation: $string" is very similar to quasi { say "Look, splicing: ", {{{$macro_param}}} }
12:28 hoelzro true
12:28 masak cognominal: does that make sense?
12:28 hoelzro I figured that having something to start with would be better than nothing
12:28 cognominal good analogy I think. Not sure where it goes when you follow it through, though.
12:29 moritz hoelzro: if it makes all string operations noticably slower, it'd be a step back for all rakudo users
12:29 masak cognominal: well, it breaks down, but in interesting ways.
12:29 masak cognominal: a Str value is a single, unchanging value. so, in a sense, is an AST.
12:29 masak cognominal: but the difference is that the AST goes on to be *interpreted*, as part of running the program. and it can contain variables, loops, etc. so it ends up feeling very dynamic.
12:29 moritz but an AST implicitly carries context around
12:30 masak that, too.
12:30 masak in that sense, it's more like a function closure.
12:30 hoelzro it would make *all* operations slower? why's that?
12:30 moritz hoelzro: I wrote "*if* it makes..."
12:30 hoelzro I think I don't understand the implication of the implementation
12:30 hoelzro oh, I hadn't seen that
12:30 hoelzro Parse Error: ENOTENOUGHCOFEE
12:31 hoelzro ==SORRY==
12:31 moritz no problem
12:31 moritz hoelzro: the trouble is, things should be consistent
12:31 moritz hoelzro: so if regex matching works on the grapheme level, everything must work on the grapheme level
12:31 moritz like .chars, .substr etc.
12:31 Ven masak: sorry, pretending to be working, I'll re-check the blogpost about them ;)
12:32 hoelzro ooooo
12:32 masak Ven: sure thing.
12:32 hoelzro moritz: ...do regexes currently work on a grapheme level?
12:32 moritz hoelzro: nope
12:32 hoelzro ok, that's kinda what I thought
12:32 hoelzro I was thinking of just adding a .graphemes method to Str
12:32 Ven what I don't grasp is that variables passed/outside the quasi are available as `$foo` directly and not `{{{ $foo }}}`
12:33 moritz so, to make things consistent, they must be implemented on the level below the nqp ops
12:33 moritz (that is, moarvm/parrot/JVM interop land)
12:33 Ven actually, no : stuff outside the quasi is available as `$foo` and the params are available as `{{{ $foo }}}` ?
12:33 masak Ven: both are available in both forms.
12:33 Ven wat
12:34 masak Ven: {{{ }}} just means "it's an AST, insert it *as code* here"
12:34 moritz Ven: {{{ ... }}} just means "use it as an AST, intesert it here"
12:34 masak moritz: spooky :)
12:34 moritz just like + means "use it as a number, add it here"
12:34 moritz masak: ... even though we haven't seen each other for nearly a year now
12:34 Ven while no {{{ }}} means ?
12:34 moritz whatever a normal variable access means
12:34 masak moritz: quantum entanglement.
12:35 hoelzro moritz: so you think the right way to do it is to use .chars to count graphemes instead of having a .graphemes method?
12:35 Ven m: macro f($a) { quasi { say $a } }; sub a { "bar" }; f("a")
12:35 camelia rakudo-moar 1b2502: OUTPUT«AST.new()␤»
12:35 moritz hoelzro: the real question is, how do you interpret integers passed to .substr ?
12:35 hoelzro as the regex, or the replacement?
12:36 moritz hoelzro: substr doesn't take a regex :-)
12:36 kivutar joined #perl6
12:36 hoelzro oh, substR
12:36 hoelzro heh
12:36 hoelzro oh
12:36 hoelzro well, I would interpret it as codepoints
12:36 moritz kill -SIGCOFFEE, hoelzro
12:36 moritz erm, s/,//
12:37 * masak .oO( moritz, in the billiard room, with the coffee )
12:37 hoelzro wrong answer? =P
12:38 moritz hoelzro: not a wrong answer for a first-step implementation
12:38 masak moritz: by the way, I read a category theory joke the other day: "A comathematician is a device for turning cotheorems into ffee."
12:38 moritz hoelzro: but, in the long run, the default mode must be graph
12:38 hoelzro oh, really? I hadn't realized that
12:39 hoelzro I always thought codepoints were intended to be the default
12:39 moritz masak: lol
12:39 moritz hoelzro: that would be far too easy :-)
12:39 hoelzro haha
12:40 hoelzro so...do non-printable characters count as graphemes?
12:42 FROGGS_ everything that looks like one thing is a grapheme
12:44 masak but non-printable characters kind of look like zero things.
12:44 Ven m: macro f { my $s = "a"; quasi { say $s } } ; f; f;
12:44 camelia rakudo-moar 1b2502: OUTPUT«a␤a␤»
12:45 Ven That's really WAT-y. Either I have ASTs outside the quasi, either I don't. Having "both" feels weird.
12:45 masak Ven: right. if it's not an AST, you don't need to de-AST it with a {{{ .. }}}
12:45 Ven well, it's pretty useless to print an AST.
12:45 masak Ven: no, it's by design. I don't see anything weird about it.
12:45 Ven I'd really like being able to give a string to a macro and have it create functions based on that name, etc.
12:45 masak noted.
12:45 masak you're not the first.
12:45 Ven That's like, the most basic thing I expect from macros, I think. It's like that I've started liking them
12:46 masak I'm glad you like macros. :)
12:46 FROGGS_ ahh non-printable... somehow I was thinking of whitespace
12:46 hoelzro m: my @e = [1, 2], [3, 4]; say @e>>.[0]
12:46 camelia rakudo-moar 1b2502: OUTPUT«Cannot find method 'postcircumfix:<( )>'␤  in sub METAOP_HYPER_CALL at src/gen/m-CORE.setting:17543␤  in block  at /tmp/lXKX4Mzx2L:1␤␤»
12:46 hoelzro should that work? ^
12:46 masak FROGGS_: whitespace also looks like zero things, but in a different way :)
12:47 guru joined #perl6
12:47 masak m: my @e = [1, 2], [3, 4]; say @e>>[0]
12:47 camelia rakudo-moar 1b2502: OUTPUT«1 3␤»
12:47 masak hoelzro: I don't know. can you find support for it in the spec?
12:47 hoelzro well, this works:
12:47 hoelzro m: my @e = 1, 2, 3; say @e.[0]
12:47 camelia rakudo-moar 1b2502: OUTPUT«1␤»
12:48 hoelzro so I figured .[$idx] "just works"
12:48 hoelzro but *that* could be the bug
12:49 Ven masak: oh, I love macros. But I agree with that you said -- they're not currently very useful in Perl 6 :)
12:49 Ven But as a racket fan (and somewhat a clojurer), I absolutely love macros.
12:50 masak I'm eager to give Perl 6 really good macros. it's fine if we steal/borrow ideas from other languages.
12:50 masak but at the same time, they need to fit into the Perl 6 model of thinking.
12:50 masak TimToady's idea about slang macros yesterday made me a bit hopeful. it sounds like the right thing to try.
12:51 masak it *may* solve a lot of design hurdles we've hit with the current design.
12:52 timotimo http://pastebin.com/dWRXGcAF - someone's trying to install moarvm on gentoo and it seems to be looking for stuff in the temporary build directory it's being compiled in
12:52 sergot m: my @a =  1, 2, 3; for @a -> $a { @a.push: 100; last if $a == 100; }
12:52 camelia rakudo-moar 1b2502: ( no output )
12:52 sergot m: my @a =  1, 2, 3; for @a -> $a { @a.push: 100; last if $a == 100; say $a; }
12:52 camelia rakudo-moar 1b2502: OUTPUT«1␤2␤3␤»
12:53 sergot m: my @a =  1, 2, 3; for @a -> $a { @a.push: 100; say $a; }
12:53 camelia rakudo-moar 1b2502: OUTPUT«1␤2␤3␤»
12:53 sergot hm
12:53 FROGGS_ timotimo: that looks like a failed packaging attempt, looks at that path: moarvm-2014.07/image/usr/languages/perl6/lib
12:53 sergot m: my @a =  1, 2, 3; while my $a = @a.shift { @a.push: 100; say $a; }
12:53 masak sergot: modifying a thing you're iterating over is asking for trouble.
12:54 camelia rakudo-moar 1b2502: OUTPUT«(timeout)1␤2␤3␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤100␤1…»
12:54 masak sergot: if nothing else, you're introducing doubt in the *reader* as to whether you're iterating over the original thing or the modified thing.
12:54 masak sergot: so, in a word, don't ;)
12:54 Ven masak: I'm going to repeat myself, but -- crystal's macros are thousands of times more powerful than text-based macros
12:54 sergot masak: I know but I want to have some troubles! (in this case only) :)
12:55 masak sergot: then carry on. :)
12:55 FROGGS_ the behaviour is pretty correct though
12:55 lelf joined #perl6
12:55 masak aye.
12:56 masak Ven: I tried searching the irclogs for "Ven", "crystal", but failed utterly.
12:56 masak Ven: searching the web for "crystal macros" also failed.
12:56 masak Ven: do you have a link for me?
12:57 sergot I'm writing a crawler (to test HTTP::userAgent), which should have an endless loop
12:57 masak aha, a queue, eh?
12:57 masak then name your array @queue, and use .shift and .push explicitly. :)
12:57 sergot so i iterate over an array and push there next urls downloaded from current requesting site
12:58 Ven masak: well, maybe "vendethiel", but I just linked a commit showing how they were earlier
12:58 tadzik sergot: I'm pretty sure I wrote similar loops and they worked fine
12:58 Ven masak: https://github.com/manastech/crystal/blob/0a24914e5ecee288abce21e8d3462b6dfa15f7cb/src/colorize.cr#L70
12:58 tadzik maybe even File::Find does that
12:59 Ven they're like templates, they have access to const variables/globals, can do loops, etc
12:59 tadzik https://github.com/tadzik/File-Find/blob/master/lib/File/Find.pm#L36 indeed
12:59 masak Ven: thank you.
13:00 masak Ven: looks like a preprocessor thing.
13:01 Ven masak: "they have access to const variables/globals"
13:01 Ven (also, I don't think you can do loops with cpp)
13:01 masak ok, got it.
13:01 masak fwiw, Perl 6's Pod also has access to const variables ;)
13:02 masak I think that crystal thing is useful as a bar to measure our own macro system against.
13:02 Ven (also, the code allowed inside is fully crystal
13:02 Ven It's just not some kind of other language ...)
13:02 masak right.
13:03 raiph joined #perl6
13:03 Ven Soo, it'd be more than happy with that kind of "preprocessor " =)
13:03 sergot tadzik: I have just written this: https://github.com/sergot/http-useragent/blob/master/crawler.p6
13:03 Ven I don't want that much to have AST transformations (not yet :P)
13:03 sergot but I'll provide more debug info soon :)
13:04 masak Ven: I don't think I'd be happy with that kind of "preprocessor"... :)
13:04 masak Ven: but I have a hard time putting into words why.
13:12 skids joined #perl6
13:13 sergot m: my $s = Set.new(1,2,2,3,3,3);
13:13 camelia rakudo-moar 1b2502: ( no output )
13:13 sergot ym, how to ignore an exception in p6?
13:13 moritz sergot: any exception? or a specific exception?
13:13 tadzik CATCH { default { } }
13:13 moritz tadzik: easier written as  try { }
13:14 Ven masak: well, I'd be interested in discussing it if you can find some time for it =).
13:14 tadzik oh!
13:14 sergot moritz: a specific one
13:14 Ven In perl 6, we could have it access constants, begin time variable, modules stuff too, I think
13:14 moritz if you want to ignore one exception type, you can say   CATCH { when X::ThatException { } }
13:14 moritz and the others get transparently re-thrown
13:14 masak Ven: *nod*
13:14 masak Ven: would also happily discuss it at some point.
13:14 sergot moritz++ thanks
13:14 masak alas, I too am pretending to work right now.
13:15 Ven well, I'm actually *not* working because I've been asked just too fill some forms :P
13:18 * Ven goes back to read masak's grant
13:23 moritz did you notice that 'grant' contains 'rant'? :-)
13:23 colomon and ant
13:23 masak and gr
13:33 FROGGS[mobile] joined #perl6
13:34 FROGGS[mobile] I think I can push / a**{ $foo} / in a bit
13:35 sergot FROGGS++
13:36 FROGGS[mobile] only the case where we were asked to quantify 0..0 does strange things AFAIK
13:37 rurban1 joined #perl6
13:37 FROGGS[mobile] and I need to test Inf
13:38 * PerlJam idly wonders about  / a**{*} /
13:39 FROGGS[mobile] fail
13:39 FROGGS[mobile] this would imply *..*
13:40 masak why would it imply that?
13:40 masak I agree it's a weird thing to write, at least as a constant.
13:40 masak but to me a**{*} would read as a*
13:41 PerlJam I would disallow it personally.
13:41 masak me, too, I think.
13:43 moritz to me, a**{*} reads like a compiler error :-)
13:44 chenryn joined #perl6
13:46 sergot m: my $a ; say $a or 1;
13:46 camelia rakudo-moar 1b2502: OUTPUT«(Any)␤»
13:46 sergot m: my $a ; say $a // 1;
13:46 camelia rakudo-moar 1b2502: OUTPUT«1␤»
13:46 masak sergot: precedence.
13:46 sergot m: my $a ; say ($a or 1);
13:46 camelia rakudo-moar 1b2502: OUTPUT«1␤»
13:46 masak sergot: don't use the 'or' forms until you've studied what precedence level they're at ;)
13:46 sergot masak++ : thanks
13:47 masak sergot: personally, I use them only for failed *statements*, which is what they're for.
13:47 masak sergot: some people use them because they prefer words to symbols in their code. I don't do that.
13:47 sergot What do you mean by "faile statements"?
13:48 masak sergot: `open ... or die "couldn't open that thing"`
13:48 sergot I just didn't want to write "$a.defined ?? $a !! 1"
13:48 masak sergot: then infix:<//> is for you.
13:48 sergot yeah :)
13:49 masak infix:<or> and infix:<||> both check truthiness.
13:49 masak infix:<//> checks definedness.
13:50 sergot masak++
13:51 carlin m: say ({ (1..2).pick } ... 2).munch(100);
13:51 camelia rakudo-moar 1b2502: OUTPUT«1 1 2␤»
13:51 carlin m: say ({ (1..2).pick } ... 2).munch(100);
13:51 camelia rakudo-moar 1b2502: OUTPUT«2␤»
13:51 carlin on OpenBSD that is giving me 100 "1"s
13:51 moritz not enough entropy?
13:52 * masak .oO( put it down as "bad luck" )
13:52 masak :P
13:53 carlin hmm, yeah, that would explain it
13:53 moritz carlin: if you run   say join ',', (^100).roll(10)  a few times (starting a new process each time), do you always get the same output?
13:53 nbrown joined #perl6
13:54 btyler joined #perl6
13:54 carlin no, different output each time
13:54 moritz at least that works.
13:55 thou joined #perl6
13:55 masak but that was .roll, not .pick
13:55 moritz but they share the same PRNG
13:59 nbrown joined #perl6
14:01 carlin (1..2).pick is always giving 1, (1..3).pick works
14:01 moritz off-by-one-error somewhere?
14:01 chenryn joined #perl6
14:01 moritz m: say (1..2) xx 20
14:01 camelia rakudo-moar 1b2502: OUTPUT«1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2␤»
14:02 masak m: for ^50 { say (1..2).pick }
14:02 camelia rakudo-moar 1b2502: OUTPUT«2␤1␤2␤1␤1␤1␤1␤1␤2␤1␤2␤1␤1␤2␤2␤2␤1␤2␤2␤2␤1␤2␤1␤2␤2␤1␤2␤1␤1␤1␤2␤1␤1␤2␤2␤1␤2␤2␤1␤2␤1␤1␤1␤1␤1␤1␤2␤1␤1␤1␤»
14:03 carlin > say (1..2) xx 20
14:03 carlin 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2
14:03 carlin > for ^50 { print (1..2).pick }
14:03 carlin 11111111111111111111111111111111111111111111111111
14:03 moritz m: say (1..2).pick xx 20
14:03 camelia rakudo-moar 1b2502: OUTPUT«1 1 2 1 2 2 2 1 1 1 1 1 2 1 2 2 2 2 2 1␤»
14:03 moritz that's what I actually wanted to do
14:03 carlin > say (1..2).pick xx 20
14:04 carlin 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
14:04 carlin > say (1..3).pick xx 20
14:04 carlin 1 2 3 3 3 1 2 1 1 1 2 3 2 2 2 1 2 2 1 1
14:04 masak that looks submittable.
14:04 masak but it's only on your end...?
14:05 rindolf joined #perl6
14:05 carlin it seems to be any .pick(n..n+1) only returns the former
14:06 carlin > say (4..5).pick xx 20
14:06 carlin 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
14:06 PerlJam carlin: what version of rakudo are you using?
14:06 carlin This is perl6 version 2014.07-28-g1b25025 built on MoarVM version 2014.07-15-gb6a4250
14:07 [Coke] m: say ((4..5).pick xx 10000).grep({$_ eq 5});
14:07 camelia rakudo-moar 1b2502: OUTPUT«5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 …»
14:08 masak carlin: it would be interesting if you could extract the code from src/core/Range.pm and find out what part goes wrong.
14:08 hoelzro could someone sanity check my PR against Rakudo, please? https://github.com/rakudo/rakudo/pull/296
14:09 carlin masak: sure, I'll have a look. this is intriguing
14:09 masak agreed.
14:09 [particle] joined #perl6
14:09 carlin .oO (hopefully I don't just have chronic bad luck)
14:10 masak hoelzro: um, "so you don't have to constantly add -v to prove" -- aren't you then just removing the distinction -v provides?
14:11 hoverboard joined #perl6
14:11 masak hoelzro: assuming I get what you're doing right, I kinda like having the short output to prove by default, and switching on verbose with -v
14:11 hoelzro masak: what I mean by that is that currently, if a test fails, you only see that *something* failed
14:11 masak ...and without -v, that's what I would expect, no?
14:11 masak how does CPAN's test modules behave in this regard?
14:11 hoelzro I guess we differ in expectations, then =)
14:11 masak do*
14:11 hoelzro Test::More prints more verbosely than Test.pm does
14:12 hoelzro I based the output off of Test::More
14:12 masak oh, ok.
14:12 masak then I have no complaint.
14:14 hoelzro masak: would you care to merge it? =)
14:14 masak done.
14:15 dalek rakudo/nom: d812b71 | (Rob Hoelz)++ | lib/Test.pm:
14:15 dalek rakudo/nom: Test: make sure diag prints to standard error
14:15 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d812b71ac9
14:15 dalek rakudo/nom: b71788d | (Rob Hoelz)++ | lib/Test.pm:
14:15 dalek rakudo/nom: Test: When diag'ing, don't precede blank lines with #
14:15 PerlJam carlin: fyi, I don't see that behavior with: This is perl6 version 2014.07-24-g1aa3b20 built on MoarVM version 2014.07-15-gb6a4250
14:15 masak dalek: sorry :/
14:15 hoelzro thanks masak
14:15 dalek joined #perl6
14:19 nbrown joined #perl6
14:22 ggoebel111116 joined #perl6
14:24 chenryn joined #perl6
14:32 figoe joined #perl6
14:43 molaf joined #perl6
14:46 jnap1 joined #perl6
14:48 guru joined #perl6
14:53 treehug88 joined #perl6
14:55 mr-foobar joined #perl6
14:56 carlin m: my $elems = 2; say nqp::rand_I(nqp::decont($elems), Int) xx 30
14:56 camelia rakudo-moar 1b2502: OUTPUT«1 1 0 0 1 1 0 1 1 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 0 0 1 1 0 0␤»
14:56 carlin > my $elems = 2; say nqp::rand_I(nqp::decont($elems), Int) xx 30
14:56 carlin 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
14:56 carlin now lets look at what nqp::rand_I does :)
15:01 masak carlin++
15:03 masak "Returns a psuedo-random bigint up to the value of the given number." -- docs/ops.markdown
15:03 masak up to but not including, I'd venture.
15:04 masak carlin: how about just `say nqp::rand_I(2, Int) xx 30` ?
15:04 carlin > say nqp::rand_I(2, Int) xx 30
15:04 carlin 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15:04 masak carlin: also perhaps test nqp::rand_n
15:05 masak anyone know where in NQP this op is defined?
15:05 masak I only see mappings for the various VMs.
15:17 brrt joined #perl6
15:19 btyler__ joined #perl6
15:21 rindolf joined #perl6
15:28 japhb botsnack
15:28 yoleaux 09:34Z <FROGGS_> japhb: here is the test, I'd committed it if I could make a P5 version: http://paste.scsys.co.uk/409315
15:29 ajr joined #perl6
15:29 japhb FROGGS[mobile]: Ah, I understand.
15:32 japhb FROGGS[mobile]: Thankfully (!) for this particular case, p5rx are unsanitary, so I'm betting with a little fiddling it can be made to work.  Like generate the entire character class definition as a string and interpolate it wholesale, rather than trying to just interpolate one character into the char range.
15:34 japhb FROGGS[mobile]: Gripping hand though is that it's OK to commit a version that lacks a language variant; someone can come back later and fill it in.  And now that I default-on skipping tests that have incomplete timing data when computing summary scores, it's a no-harm choice.
15:35 japhb As a side note, I'm considering converting a few tests that use for loops just because they are easy (but are actually testing something else, like string processing) to use while loops instead, so that we can get better comparisons with NQP.
15:37 hoverboard joined #perl6
15:41 rindolf Hi all.
15:43 nbrown joined #perl6
16:02 Rotwang joined #perl6
16:03 cognome joined #perl6
16:03 cxreg TimToady: i wasn't serious about asymmetric operators, but it made me a little nauseous when I implemented one spelled "))<>(("
16:04 masak Perl has never been about limiting the crazy you decide to inflict, on yourself or on others.
16:05 cxreg tru dat
16:05 masak one reason for that (as spelled out in some SoTO or other) is that it's not possible to tell crazy-bad from crazy-useful.
16:05 cxreg i heard some hate spewed at scala recently over things it lets you do to yourself and others
16:06 ren1us plus sometimes crazy-bad *is* crazy-useful
16:06 cxreg many of the things sounded a lot like perl 6 features, though
16:06 cxreg i think those people were just too java centric
16:06 masak ren1us: yes, that's what "it's not possible to tell" means ;)
16:06 matija joined #perl6
16:07 masak or, stated in another way, if you remove the abilities to do crazy-bad stuff, you also remove some crazy-useful abilities.
16:07 cxreg does rakudo on moar have time-based supplies now?
16:07 cxreg that's a pretty nice idiom
16:07 timotimo yes
16:07 cxreg woot
16:08 timotimo someone apparently has to make perl6.org/compilers/features be updated
16:08 cxreg it's not that far out of date
16:08 timotimo i removed the "missing time-based" note weeks ago
16:08 timotimo i mean be updated from the source
16:08 cxreg oh right
16:09 masak it usually updates automatically.
16:09 timotimo not this time
16:09 masak if it doesn't, then the JSON might be busted.
16:09 timotimo that must be my fault, then
16:10 cxreg I feel a binge of library writing coming on
16:10 colomon go go go go!
16:10 cxreg is there any coordination around that?
16:10 timotimo there's the "most wanted" list on github where you can announce what you're doing or what you're missing
16:10 cxreg not that duplication is *bad* but I wouldn't mind doing things that are as-yet untouched
16:11 cxreg cool
16:12 cxreg hey looking at profiling, and coming from some recent node.js, it would be *super awesome* if there was a brain-dead-simple way to get the compiler to tell you when you've pessimised some code
16:12 cxreg v8's is awful
16:13 cxreg at least last i tried anyway
16:13 btyler__ timotimo: the most wanted list could use some attention from people who are familiar with the state of different modules. for example, JSON::Tiny is pretty complete, right? the "most wanted" list still marks it as a maybe
16:19 carlin masak: I think it's declared in the VM itself: https://github.com/MoarVM/MoarVM/blob/master/src/core/interp.c#L1895
16:19 carlin I've looked at MVM_bigint_rand but have just gotten lost
16:22 nbrown joined #perl6
16:24 cognominal joined #perl6
16:24 cognome joined #perl6
16:26 denis_boyun_ joined #perl6
16:27 carlin cancel that, started making progress agan :D
16:32 timotimo btyler__: the json tiny module is very simple. one could build a performance-tuned version that doesn't use grammars
16:32 Woodi joined #perl6
16:33 timotimo cxreg: we have logs for things that MoarVM does, but it's far from brain-dead-simple
16:35 btyler__ timotimo: ok, fair enough
16:36 isBEKaml_mobile joined #perl6
16:39 * carlin wishes he knew C
16:41 timotimo what? you use C every time you write your name!
16:42 carlin if only it were that simple :p
16:45 klapperl_ joined #perl6
16:48 guru joined #perl6
16:50 klapperl joined #perl6
16:53 ajr joined #perl6
16:55 dalek rakudo-star-daily: 1d003d7 | coke++ | log/ (14 files):
16:55 dalek rakudo-star-daily: today (automated commit)
16:55 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/1d003d7af1
16:55 dalek perl6-roast-data: 735687c | coke++ | / (3 files):
16:55 dalek perl6-roast-data: today (automated commit)
16:55 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/735687c735
16:55 klapperl_ joined #perl6
16:56 [Coke] parrot still the only clean implementation.
16:56 kaleem joined #perl6
17:02 zakharyas joined #perl6
17:06 kaleem joined #perl6
17:15 masak carlin++ # go go go!
17:17 [Coke] http://imgur.com/gallery/2C2OWwI might be of interest to this crowd.
17:19 gtodd hmm what would be step 0 of "Migrating legacy Scala/Play Framework code to Perl6"
17:20 gtodd .... something like "start using perl6 in 2014"
17:21 gtodd anyway, there may still be 18-24 months before that document is needed ...
17:27 masak [Coke]: ;)
17:40 mcbrian76 joined #perl6
17:40 Alula_ joined #perl6
17:46 Akagi201 joined #perl6
17:48 lizmat joined #perl6
17:55 [Sno] joined #perl6
17:55 synthkeys2 joined #perl6
17:57 lelf joined #perl6
17:58 Brian joined #perl6
18:00 lizmat joined #perl6
18:04 btyler joined #perl6
18:04 gfldex joined #perl6
18:09 dwarring joined #perl6
18:16 lelf joined #perl6
18:17 woolfy joined #perl6
18:18 jnap joined #perl6
18:18 hoelzro when's the next Rakudo Star release supposed to be? it's been a while since the last...
18:19 nwc10 I fear that the answer may be "well volunteered"
18:20 lelf` joined #perl6
18:20 lelf joined #perl6
18:20 PerlJam hoelzro: The last was april. The original plan was quarterly releases anyway, so I'd say we're back on schedule ;)
18:21 PerlJam (I seem to recall that someone was looking into doing a star release, but that's just a vague memory)
18:21 ventica I think we need some kind of curated perl6 release... as far as I can tell, perl6 is plenty functional enough for real-world application... but devs aren't going to start adopting it until there's a subset of it that is very well-tested and stable
18:22 vendethiel joined #perl6
18:23 Brian_ joined #perl6
18:23 PerlJam "curated release" sounds like R* to me.
18:23 Ven joined #perl6
18:27 ren1us m: sub recurse($pos is rw) { $pos -= 5; if $pos >= 0 { recurse($pos); }; }; recurse(5);
18:27 camelia rakudo-moar 4fd1fd: OUTPUT«Cannot modify an immutable Int␤  in block  at src/gen/m-CORE.setting:17323␤  in sub recurse at /tmp/I6dOVjIUGo:1␤  in block  at /tmp/I6dOVjIUGo:1␤␤»
18:27 ren1us i may be wrong, but shouldn't "is rw" be allowing that to work?
18:27 masak ren1us: yes.
18:27 PerlJam ventica: Having debian/rpm/whatever packages for Rakudo go a long way towards making it available for devs to start playing with it too
18:28 masak ren1us: but you're passing in a 5
18:28 masak ren1us: which is a constant.
18:28 Ven How is the syntax `f(|foo)` called ? (the `|`)?
18:28 masak Ven: "flattening"?
18:28 Ven arguments flattening ?
18:32 Ven That doesn't seem right
18:32 Ven well, s06 seems to use "flattening" too.
18:32 PerlJam S03:671
18:32 synopsebot Link: http://perlcabal.org/syn/S03.html#line_671
18:35 hoelzro ah, ok
18:35 Ven PerlJam, thanks.
18:35 Ven | has quite a lot of meanings in perl 6 ... even just as a prefix
18:35 hoelzro bummer that S26 stuff won't make it in =/
18:36 eternaleye joined #perl6
18:37 Ven list of stuff ?
18:37 * Ven * doesn't even remember what are semicolons useful for
18:37 Ven or maybe long arguments names, not to be considered in multi dispatch ? I don't remember correctly.
18:37 PerlJam Ven: you mean in a parameter list?
18:37 Ven PerlJam: yes
18:38 PerlJam yeah, I don't remember exactly either.  But that sounds about right.
18:38 * PerlJam looks at the synopses for guidance
18:39 dalek perl6-bench: f06e6d7 | (Tobias Leich)++ | microbenchmarks.pl:
18:39 dalek perl6-bench: add tests for character ranges in regexes
18:39 dalek perl6-bench: review: https://github.com/japhb/perl6-bench/commit/f06e6d7a09
18:39 FROGGS_ japhb: I was unable to retest it, so use with caution (my SSD is full so I can't build that Perl 5 version right now)
18:40 Ven PerlJam: well, it's not very specific. Like, I know the declaration of listop uses semicolons
18:41 PerlJam ah ... it was double semicolon that separates those parameters that participate in multi dispatch
18:41 Ven oh yeah, double semicolon. But then, no clue of what "long paramater names" is
18:44 guru joined #perl6
18:47 PerlJam um ... I think you've split the important word in two.   It's "longname", not "long parameter names".  Most routines have a name.  For multi-dispatch, there will be routines with the same "shortname" but different "longname".  The shortname would be like "foo" and the long name would be like "foo(Int)" or "foo(Str)"  (assuming those two multis exist)
18:47 PerlJam So, with ;; you can choose which parameters are included as part of the "longname"
18:48 Akagi201 joined #perl6
18:56 timotimo Unicode Character 'SURROGATE PEAR;SORRY FOR LAME PUN, IT WAS...LOW HANGING FRUIT' (U+1F350)
18:58 timotimo hoelzro: avuserow is working on a Star release
19:00 PerlJam avuserow++
19:00 PerlJam timotimo++
19:01 Ven PerlJam: ooh, okay.
19:01 woolfy left #perl6
19:09 hoelzro wondeful
19:09 hoelzro avuserow++
19:09 FROGGS_ m: say 'abc' ~~ / <-['/']> /
19:09 camelia rakudo-moar 4fd1fd: OUTPUT«Potential difficulties:â�¤    Repeated character (') unexpectedly found in character classâ�¤    at /tmp/wvuiyVfTGW:1â�¤    ------> [32msay 'abc' ~~ / <-[33mâ��[31m['/']> /[0mâ�¤ï½¢aï½£â�¤â�¤Â»
19:09 FROGGS_ m: say "a'bc" ~~ / <-['/']>+ /
19:09 camelia rakudo-moar 4fd1fd: OUTPUT«Potential difficulties:â�¤    Repeated character (') unexpectedly found in character classâ�¤    at /tmp/twM5QiBftk:1â�¤    ------> [32msay "a'bc" ~~ / <-[33mâ��[31m['/']>+ /[0mâ�¤ï½¢aï½£â�¤â�¤Â»
19:10 FROGGS_ m: say "a'bc" ~~ / <-[/]>+ /
19:10 camelia rakudo-moar 4fd1fd: OUTPUT«「a'bc」␤␤»
19:14 hoelzro talking about longnames again...when would you actually use that?
19:14 hoelzro I'm struggling to think of an example
19:17 dalek nqp/dynquant: 608ff67 | (Tobias Leich)++ | src/ (5 files):
19:17 dalek nqp/dynquant: allow code block in ** quantifiers, / foo ** { $a := 42 } /
19:17 dalek nqp/dynquant:
19:17 dalek nqp/dynquant: In NQP the block can either provide a single item, which would be
19:17 dalek nqp/dynquant: handled as foo**42, means that it must match exactly $item times.
19:17 dalek nqp/dynquant: If the block provides a list [$min, $max], then the first two elems
19:17 dalek nqp/dynquant: are used, like in foo**0..3.
19:17 dalek nqp/dynquant: Note that the behaviour in rakudo is different, since we have Range
19:17 dalek nqp/dynquant: objects there.
19:17 dalek nqp/dynquant: review: https://github.com/perl6/nqp/commit/608ff67edd
19:18 FROGGS_ ohh, I should've mentioned that this is moar only yet... that was the reason it is in a branch in the first place
19:20 ren1us okay, i've got a weird line of thought on this whole thing of not being allowed to modify params when they get passed in as a constant
19:20 Ven joined #perl6
19:20 ren1us m: sub b($b is rw) { $b--; }; b(5); # i see why this breaks
19:20 camelia rakudo-moar 4fd1fd: OUTPUT«Cannot assign to an immutable value␤  in sub postfix:<--> at src/gen/m-CORE.setting:4546␤  in sub b at /tmp/hSzG5oVNeZ:1␤  in block  at /tmp/hSzG5oVNeZ:1␤␤»
19:20 ren1us m: sub b($b is rw) { $b--; }; my $var = 5; b($var); # i see why this works
19:20 camelia rakudo-moar 4fd1fd: ( no output )
19:20 ren1us m: sub a($a) { my $var = $a; }; sub b($b is rw) { $b--; }; b(a(5)); # why doesn't this work?
19:20 camelia rakudo-moar 4fd1fd: OUTPUT«Cannot assign to an immutable value␤  in sub postfix:<--> at src/gen/m-CORE.setting:4546␤  in sub b at /tmp/Ib4J_596BI:1␤  in block  at /tmp/Ib4J_596BI:1␤␤»
19:21 ren1us m: sub a(@a) { my @var = @a; }; sub b(@b is rw) { @b[0] = 0; }; b(a((1,2,3))); # but this does?
19:21 camelia rakudo-moar 4fd1fd: ( no output )
19:21 FROGGS_ m: sub a($a) is rw { my $var = $a; }; sub b($b is rw) { $b--; }; b(a(5));
19:21 camelia rakudo-moar 4fd1fd: ( no output )
19:21 FROGGS_ see?
19:21 FROGGS_ a() needs to be an lvalue sub, to speak in P5 terms
19:22 ren1us so why does it work with a list?
19:22 ren1us well parcel
19:22 ren1us still fuzzy on the difference between all ten things that i consider to be practically lists
19:22 FROGGS_ even when lists are not marked as rw you can fiddle with its elements... dunno if this is a bug or feature though
19:23 ventica_desktop FROGGS added "is rw" after the sub declaratino so that b(a(5)) can modify a(5) itself
19:23 ab5tract joined #perl6
19:23 FROGGS_ m: my @a; a(@things) { @things[0] = 42 }; a(@a); say @a
19:24 camelia rakudo-moar 4fd1fd: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/QNNKVm2GnAâ�¤Variable '@things' is not declaredâ�¤at /tmp/QNNKVm2GnA:1â�¤------> [32mmy @a; a(@things[33mâ��[31m) { @things[0] = 42 }; a(@a); say @a[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
19:24 FROGGS_ m: my @a; sub a(@things) { @things[0] = 42 }; a(@a); say @a
19:24 camelia rakudo-moar 4fd1fd: OUTPUT«42␤»
19:24 ren1us FROGGS_: m: sub b(@b is rw) { @b[0] = 0; }; b((1,2,3)); # then i assume this just pitches a fit because it's passed in as a constant?
19:24 ren1us woops
19:24 FROGGS_ this is a short example of not needing 'is rw' on an array
19:24 ren1us m: sub b(@b is rw) { @b[0] = 0; }; b((1,2,3)); # then i assume this just pitches a fit because it's passed in as a constant?
19:24 camelia rakudo-moar 4fd1fd: OUTPUT«Cannot modify an immutable Int␤  in method assign_pos at src/gen/m-CORE.setting:1764␤  in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:2457␤  in sub b at /tmp/jQ6Hxti0sh:1␤  in block  at /tmp/jQ6Hxti0sh:1␤␤»
19:24 brrt joined #perl6
19:24 rjbs When I say "1 == 1" at the repl, in Rakudo, I get "True".  I do not get a true after a "say" presumably because something "knows" that I wanted the output, not the result of outputting it.
19:24 rjbs What governs that?
19:25 FROGGS_ that's a constant list, aye
19:25 FROGGS_ rjbs: good question
19:25 ventica_desktop rjbs: i don't see that behavior
19:25 ventica_desktop rakudo$ ./perl6
19:25 ventica_desktop > 1 == 1
19:25 ventica_desktop True
19:25 ventica_desktop > say 1 == 1
19:25 ventica_desktop True
19:26 FROGGS_ do: say 42
19:26 FROGGS_ you don't get a 42 *and* True
19:26 FROGGS_ but 'say 42' returns True
19:26 rjbs Just so.
19:26 rjbs I have to detach and move (I'm at a conference) but am interested if there is a good answer!  BRB
19:26 TimToady fwiw, I think of | as an insertion operator for parcels
19:27 ventica_desktop I mean, that's just the choice of the REPL re. what it wants to show... does it matter that much?
19:27 TimToady it's the picture of the slit into which you insert things :)
19:27 FROGGS_ rjbs: I think the result is not evaluated if something prints to stdout
19:28 FROGGS_ rjbs:
19:28 FROGGS_ > sub a { $*OUT.print: "42\n" }; a() # 42
19:28 FROGGS_ > sub a { $*ERR.print: "42\n" }; a() # 42 *and* True
19:28 FROGGS_ so stdout triggers it
19:28 * ventica_desktop has a philosophical problem with REPLs printing stuff out when not asked... whatever is shown seems arbitrary to me anyway
19:28 FROGGS_ ventica_desktop: that's a reason I do not use the repl
19:29 FROGGS_ -e wtf!
19:29 FROGGS_ :o)
19:29 FROGGS_ err, ftw actually :/
19:29 FROGGS_ std: / foo ** { 0..Inf } /
19:29 camelia std 0f2049c: OUTPUT«ok 00:01 125m␤»
19:29 FROGGS_ std: / foo ** { 0..-Inf } /
19:29 camelia std 0f2049c: OUTPUT«ok 00:01 125m␤»
19:29 FROGGS_ std: / foo ** { Inf..-Inf } /
19:29 camelia std 0f2049c: OUTPUT«ok 00:01 125m␤»
19:29 ventica_desktop FROGGS_: Yep... I prefer a RE(P|)L to a REPL
19:29 AndChat-188244 joined #perl6
19:32 [Coke] timotimo++ #SURROGATE PEAR
19:33 Ven joined #perl6
19:33 [Coke] rjbs: it's a hack I suggested that checks the position of STDOUT before and after; if anything moved, output was generated, do nothing extra. otherwise, print out the return value of the expr.
19:34 [Coke] pretty sure pmichaud++ implemented it.
19:34 nbrown joined #perl6
19:34 hoelzro that's nuts.
19:34 hoelzro in a good way =)
19:35 rjbs Thanks, friends!
19:35 dalek rakudo/dynquant: b9be98c | (Tobias Leich)++ | src/ (2 files):
19:35 dalek rakudo/dynquant: allow code block in ** quantifiers, / foo ** { $three..$seven } /
19:35 dalek rakudo/dynquant:
19:35 dalek rakudo/dynquant: The code block in a quantifier can either provide a range object that
19:35 dalek rakudo/dynquant: is used for min and maximum quantity, or it provides a single numeric
19:35 dalek rakudo/dynquant: item that is used to match exactly that many times.
19:35 dalek rakudo/dynquant: review: https://github.com/rakudo/rakudo/commit/b9be98c41d
19:35 colomon \o/
19:36 colomon that's been a blocker for ABC for *years*.
19:36 rjbs Is there a sane/useful "make install" from git these days?  OR:  I'd like to have a perl6 in my PATH.  What shall I do?
19:37 FROGGS_ *g*
19:37 TimToady I presume the code is run every time the 'foo' node is reentered from the left?
19:37 hoelzro rjbs: do you want just perl6, or the star modules too?
19:38 rjbs I don't even know /what/ I want. ;)
19:38 hoelzro heh
19:38 rjbs TimToady: Everyone at OSCON (a) misses you and (b) is glad you're (presumably) taking it easy!
19:38 FROGGS_ rjbs: git clone https://github.com/rakudo/rakudo.git && perl6-m Configure.pl --gen-moar --make-install; then put the cwd/install/bin in PATH
19:38 hoelzro well, by the former I mean "just the interpreter, no real libraries"
19:38 hoelzro the latter includes some handy modules
19:39 FROGGS_ what I pasted is the compiler only
19:39 ventica_desktop FROGGS_++
19:40 FROGGS_ TimToady: I do not understand that question :/
19:41 TimToady (.*?) foo ** { 1..$0.chars } bar /
19:41 TimToady is $0.chars recalculated each time the ** is re-entered?
19:41 TimToady from the left, not for each iteration, of course
19:42 colomon it has to be, doesn't it?
19:43 FROGGS_ perl6-m -e 'say "aafoobar" ~~ / (.*?) foo ** { 1..$0.chars } bar /'
19:43 FROGGS_ 「aafoobar」
19:43 FROGGS_ 0 => 「aa」
19:43 TimToady that is, can the range depend on a value that depends on the current backtrack status of $0
19:43 Brian joined #perl6
19:43 TimToady well, that doesn't actually test it
19:44 FROGGS_ perl6-m -e 'say "afoofoobar" ~~ / (.*?) foo ** { say $0.chars; 1..$0.chars } bar /'
19:44 FROGGS_ 1
19:44 FROGGS_ 4
19:44 FROGGS_ 「afoofoobar」
19:44 FROGGS_ that?
19:45 FROGGS_ 0 => 「afoo」
19:45 TimToady seems good
19:45 FROGGS_ perl6-m -e 'say "afoofoobar" ~~ / (.*?) foo ** { say $0.chars; $0.chars } bar /'
19:45 FROGGS_ 1␤4␤0␤3␤2␤1␤「ofoobar」␤ 0 => 「o」
19:46 FROGGS_ pheew
19:48 TimToady oh, it's not anchored, hence the 321
19:48 * TimToady was thinking of it with ^ on the front, and was puzzled by that last one, but it seems right too
19:49 FROGGS_ when I anchor it it fails
19:49 TimToady as it should
19:49 FROGGS_ I see: 1 4 Nil
19:49 FROGGS_ k
19:50 FROGGS_ std: my $a = 2; "foo" ~~ / o ** $a /
19:50 camelia std 0f2049c: OUTPUT«Potential difficulties:â�¤  Unsupported use of atom ** $a  as separator; nowadays please use atom +% $a  at /tmp/Qw9iGEn9Qe line 1:â�¤------> [32mmy $a = 2; "foo" ~~ / o ** $a [33mâ��[31m/[0mâ�¤ok 00:01 127mâ�¤Â»
19:51 FROGGS_ k, I'll remove a test like this from roast
19:51 TimToady yes, it was always the intent to use {$a} for anything dynamic
19:51 FROGGS_ ohh, it is just a warning...
19:51 FROGGS_ okay
19:53 TimToady otherwise you get insanity like / o ** $foo.bar.baz(43)..$abc(rand) /
19:54 TimToady much better to encapsulate that into a curly pill
19:55 FROGGS_ absolutely
19:55 FROGGS_ even that works:
19:55 FROGGS_ perl6-m -e 'say "baaabbb" ~~ /a**:!{2..4}/' # 「aaa」
19:55 FROGGS_ perl6-m -e 'say "baaabbb" ~~ /a**:?{2..4}/' # 「aa」
19:55 TimToady \o/
19:56 TimToady presumably /a**:?{2..4} % ','/ and such also works?
19:56 TimToady assuming a,a,a input
19:57 FROGGS_ erl6-m -e 'say "ba,a,abbb" ~~ /a**:?{2..4} % ","/'
19:57 FROGGS_ ===SORRY!=== Error while compiling -e
19:57 FROGGS_ '' many only be used immediately following a quantifier
19:57 FROGGS_ at -e:1
19:57 FROGGS_ ------> say "ba,a,abbb" ~~ /a**:?{2..4} % ","⏏/
19:58 TimToady er...
19:58 FROGGS_ std: "ba,a,abbb" ~~ /a**:?{2..4} % ","/
19:58 camelia std 0f2049c: OUTPUT«ok 00:01 125m␤»
19:58 FROGGS_ m: "ba,a,abbb" ~~ /a ** 2..4 % ","/
19:58 camelia rakudo-moar 4fd1fd: ( no output )
19:59 FROGGS_ that should be an easy fix though, because the code afterwards can handle separators
20:01 FROGGS_ huh, right now I found two test files we don't even run...
20:02 FROGGS_ ahh, because of %foo= and @foo= captures
20:08 avuserow re star, yes, gradually working on it. I still need to send PRs to remove deprecated code from modules, and re-test. Moar is golden, Parrot had a few failures, and JVM is expected to have a few failures and does. All spectests seem happy on my 64-bit Linux box (3GB memory fwiw)
20:09 avuserow hoping to do some small fixes today/tomorrow and then be online Saturday when Europe is online to largely wrap things up :)
20:10 [Coke] avuserow: all spec test? I'm seeing consistent failures for moar & jvm.
20:10 FROGGS_ avuserow++
20:10 FROGGS_ [Coke]: he's using the 2014.07 release
20:10 avuserow MVM has one failure, IIRC JVM was okay
20:10 FROGGS_ jvm was okay? wow
20:10 Brian joined #perl6
20:11 FROGGS_ I do not test jvm anymore, because it either fails all tests after a while or it takes the best time of a day
20:12 avuserow I just ran it overnight on my old laptop which is my IRC box :)
20:12 hoelzro avuserow: do you need help testing?  I have a beefy box at home I can help with
20:12 hoelzro alas, it'll only be accessible tonight (going away for the weekend)
20:13 avuserow no that's okay. main problem I'm facing is that I'm in Pacific Time, and a lot of people here are asleep when I get off of work
20:13 FROGGS_ ohh, I love it btw when I can remove all rakudo fudges from a test file :o)
20:13 ventica Since rakudo runs on JVM, Is there a Rakudo Perl6 web toy?
20:13 avuserow if I need speed, I can always install Linux on my gaming machine which is much happier :D
20:13 hoelzro avuserow: I have a similar problem =)
20:13 hoelzro ventica: we've discussed something like that
20:14 FROGGS_ ventica: not yet
20:14 ventica :\
20:14 ventica is it due to the perf issue? i.e. not wanting to create bad first impressions of Perl6?
20:14 avuserow hoelzro: well, then hopefully I can be around when it's a bit more useful for you and vice versa :D
20:14 ventica or just nobody got around to it yet?
20:14 FROGGS_ ventica: the latter I guess
20:15 ventica k
20:15 hoelzro avuserow: I'm usually on IRC early (4:30 AM your time) and during work, but I'm starting to see others here later in the evening =)
20:17 avuserow ohhh, apparently my testing of the JVM is flawed :( make rakudo-spectest apparently doesn't return non-zero on failure in star?
20:18 FROGGS_ TimToady: I found the issue about quant+sep
20:18 avuserow so no it is not as nice as I thought -_-
20:18 FROGGS_ avuserow: it continues, aye
20:18 ab5tract joined #perl6
20:19 FROGGS_ it also continues when it failed to build a module btw
20:19 avuserow more to the point, my large commandlines of 'make foo && make bar' won't help tons here
20:19 FROGGS_ so you have to grep for FAIL
20:19 avuserow okay, I'll boot up a faster machine and do it interactively for the final tests
20:19 avuserow and rely on scrollback for the time being :)
20:19 FROGGS_ :o)
20:21 lelf` joined #perl6
20:25 FROGGS_ nqp-m -e 'say( "a,a,aabbb" ~~ / a ** { [0, 5] } % "," / )'
20:25 FROGGS_ a,a,a
20:26 itz_ joined #perl6
20:26 dalek nqp/dynquant: a8da350 | (Tobias Leich)++ | src/QRegex/P6Regex/Actions.nqp:
20:26 dalek nqp/dynquant: fix separator use with code block in quantifier
20:26 dalek nqp/dynquant: review: https://github.com/perl6/nqp/commit/a8da350c04
20:30 FROGGS_ okay, porting this to Parrot should be fairly easy, but it makes me shudder when thinking of jvm
20:31 Ven FROGGS_++
20:32 itz joined #perl6
20:33 FROGGS_ jvm means: like 5 times more instructions where you have to takes notes what is on the stack...
20:33 FROGGS_ 5 times more instructions == 5 times more pain ** stack size
20:36 * Ven redefined trait_mod:<is>:rw, and it hurt
20:37 dalek roast: 659ac13 | (David Warring david.warring@gmail.com)++ | integration/99problems-11-to-20.t:
20:37 dalek roast: fixed/unfudged a logic error
20:37 dalek roast: review: https://github.com/perl6/roast/commit/659ac13254
20:40 Ven m: macro infix:<times>(Int $n, $watisit) { quasi { for ^{{{ $n }}} { {{{ $watisit }}} } } }; 3 times say hello
20:40 camelia rakudo-moar 4fd1fd: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/anczjZc1Kw�Unknown QAST node type QAST::Unquote�at /tmp/anczjZc1Kw:1�------> �»
20:40 Ven :P
20:43 Ven uh, oh,two parses errors and it heap corrupts
20:43 Ven but that must've been fixed in the recent commits.
20:45 FROGGS_ Ven: yes, at least the things that failed two days ago do work now as expected
20:46 Ven nice :-)
20:46 jnthn Yeah, 'fraid there was a nasty OSR-related SEGV.
20:46 Ven hehe, it's fine now, I can just git pull :-)
20:46 FROGGS_ jnthn: I am happy that you found it :o)
20:47 FROGGS_ (I can sleep better when moar is stable)
20:49 Akagi201 joined #perl6
20:52 ggoebel111116 joined #perl6
20:54 yoleaux joined #perl6
21:00 japhb_ FROGGS: Thanks for pushing the charrange benchmarks; I'll test them myself as well
21:00 grondilu joined #perl6
21:00 grondilu std: grammar { rule TOP { .**2 } }
21:00 camelia std 0f2049c: OUTPUT«ok 00:01 124m␤»
21:00 grondilu std: grammar { rule TOP :bytes { .**2 } }
21:00 camelia std 0f2049c: OUTPUT«ok 00:01 124m␤»
21:01 grondilu m: grammar { rule TOP :bytes { .**2 } }
21:01 camelia rakudo-moar 4fd1fd: OUTPUT«===SORRY!===␤Cannot invoke this object (REPR: P6opaque, cs = 0)␤»
21:01 grondilu n: grammar { rule TOP :bytes { .**2 } }
21:01 camelia niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Colonpair traits NYI at /tmp/t27WFZ2gfG line 1:â�¤------> [32mgrammar { rule TOP :bytes [33mâ��[31m{ .**2 } }[0mâ�¤â�¤Use of uninitialized value in string contextâ�¤  at /home/p6eval/niecza/boot/lib/CORE.setting…»
21:01 japhb_ FROGGS: That's a weird work estimate ... how do you figure 'work  => sub { $_[0] += int($_[0] / 2) || 1 }'?
21:06 Ven >900 lines \o/. Which means next commit is the PR to learnxiny.
21:13 Mouq joined #perl6
21:13 Mouq joined #perl6
21:29 rurban1 joined #perl6
21:36 nbrown joined #perl6
21:39 jnthn [Coke]: Please can you check the status of #122297 now; I suspect it may be fixed on latest
21:39 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=122297
21:39 denis_boyun joined #perl6
21:41 Mouq jnthn: I'm running spectest on OSX right now
21:41 brrt joined #perl6
21:41 Mouq So I'll check if it segfaults for me
21:47 Mouq jnthn: Seems to have worked fine for me
21:49 dalek rakudo/nom: 6cc8078 | Mouq++ | src/core/ (2 files):
21:49 dalek rakudo/nom: Add LoL postcircumfix candidates
21:49 dalek rakudo/nom:
21:49 dalek rakudo/nom: Though semilists don't work, so @a[0;1;0,1] is still NYI, the
21:49 dalek rakudo/nom: functionality can at least be accessed via e.g. @a[LoL.new(0, 1, $(0, 1))]
21:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6cc8078f3c
21:49 dalek roast: 52054d8 | (David Warring david.warring@gmail.com)++ | integration/99problems-51-to-60.t:
21:49 dalek roast: changed a few is() to is_deeply()
21:49 dalek roast: review: https://github.com/perl6/roast/commit/52054d89ea
21:50 Akagi201 joined #perl6
21:54 cognominal I wish print would return the value printed or fail. Most calls ignore what print returns so that could be optimized out in this cases. But there are case that would make life easier like just adding a print at the end of a function to print its return value and indeed still returning it.
21:55 cognominal is there any compelling reason to keep the current behavior?
21:56 cognominal not sure a fail value is false though :(
21:58 cognominal r-m: sub a { fail }; say ?a, ?a.WHAT
21:58 camelia rakudo-moar 4fd1fd: OUTPUT«FalseFalse␤»
21:59 cognominal oops
21:59 cognominal r-m: sub a { fail }; say ?a, a.WHAT
21:59 camelia rakudo-moar 4fd1fd: OUTPUT«False(Failure)␤»
22:02 * Mouq only notices https://github.com/rakudo/rakudo/pull/171 now.
22:03 Mouq luckily, there isn't much duplicated work
22:03 avuserow joined #perl6
22:04 timotimo was about to say :)
22:04 timotimo it's probably not worth terribly much
22:04 timotimo my pull request, that is
22:04 Mouq I think I can make @a[0,1;1] = <foo bar> DWIM. Currently (locally) it sets both to <foo>
22:04 dalek roast: b6edc5e | (David Warring david.warring@gmail.com)++ | integration/99problems-61-to-70.t:
22:04 dalek roast: changed some more is() to is_deeply()
22:04 dalek roast: review: https://github.com/perl6/roast/commit/b6edc5e62b
22:06 masak carlin: how'd it go? did you track down the rand_I weirdness?
22:08 Mouq timotimo: Why does your PR change the code in method postcirucmfix:sym<[ ]> instead of in method semilist?
22:08 Mouq And timotimo++ :)
22:09 timotimo method semilist?
22:09 lue Huh, so you can do m:g now? I thought that was handled by m:ov and m:ex
22:10 Mouq so that <semilist>.ast always produces an AST, instead of it being a super special case
22:10 Mouq Uhm
22:10 Mouq s/AST/LoL/
22:10 Mouq lol
22:10 hoelzro perl6-language would be a good place to propose additions/changes, yes?
22:13 Mouq afk for a bit
22:14 masak hoelzro: sometimes, yes.
22:14 hoelzro masak: sometimes? where else would be appropriate? (I'm guessing here)
22:15 hoelzro I don't know why, but e-mail seems like a better idea for that sort of thing
22:15 masak *nod*
22:15 hoelzro I guess since it kind of escapes time zones
22:15 timotimo Mouq: that was june last year. i was not good at perl6 back then :)
22:15 masak perl6-language does occasionally dig up useful responses.
22:16 * zengargoyle wonders if R* == R + panda + Task::Star
22:16 masak occasionally it awakens some ancient bikeshedders, with ensuing hilarity as a result.
22:16 masak zengargoyle: that's a good description, I think.
22:16 hoelzro ah, ok
22:16 zengargoyle modulo the R* having all modules working...
22:16 masak zengargoyle: Linux kernel : Rakudo :: Linux distribution : Rakudo Star
22:16 hoelzro masak: do you have an alternative?
22:16 hoelzro I mean, I could post the ideas here
22:17 hoelzro I know most of the regulars backlog quite a bit
22:17 jnthn Well, one approach is a gist and post it here.
22:17 masak hoelzro: here and p6l are the two good places I know.
22:17 jnthn And if it's not enough responses, fall back to p6l :)
22:17 lue .oO(we need a P6-powered forums.perl6.org :P)
22:17 masak what jnthn said.
22:17 hoelzro noted =)
22:17 zengargoyle and if Task::Star actually kept up to date
22:17 hoelzro thanks masak  and jnthn
22:17 itz fora! </pedant>
22:17 timotimo lue: yeah, because web forums are the best thing ever!
22:17 timotimo (if you have never seen mailing lists before)
22:18 lue Perhaps it's just me, but I don't prefer email for long threads of discussion :)
22:19 zengargoyle so what's the intersection between rakudobrew and pandabrew?
22:20 itz the p6 mailing lists seem fairly quiet compared with IRC and blogs
22:20 timotimo that's true
22:20 itz I think most mailing list traffic peaked several years back
22:21 masak oh, most definitely.
22:21 masak doesn't mean p6l is completely useless, of course.
22:21 avuserow joined #perl6
22:22 timotimo answers are usually very swift
22:22 masak for one thing, it's one reliable way to contact TheDamian ;)
22:22 timotimo as well as well thought out and written out (all in all)
22:22 * lue thinks thunderbird's lack of smartness around mailing lists may have something to do with his dislike of them.
22:22 * masak decides to write a p6l email about macros
22:22 masak thank you, #perl6. you inspired me :)
22:23 hoelzro decommute &
22:24 itz yeah I'm using a dumber mail client (gmail) than I used to (mutt) just due to convience
22:24 itz mutt and the old nntp clients threaded pretty well
22:24 PerlJam mutt++
22:25 itz I've sunk to my all time low in bothering with Facebook's Perl Developers :)
22:25 lue It'd be nice if I saw my responses properly intertwined, and if the various reply buttons made any (intuitive?) sense :)
22:26 itz Facebook Group that is
22:27 itz the web based forums don't seem to have lost that early 2000s PHP look
22:27 ventica joined #perl6
22:27 skids joined #perl6
22:28 lue Hah, I just saw S99's (erroneous) definitions of TIMTOWTDI and TMTOWTDI, I'm just tempted to fix it :P
22:28 ventica_desktop joined #perl6
22:36 Mouq timotimo: Ohh, ok :) I thought maybe there was a good reason that I just didn't know about
22:51 Akagi201 joined #perl6
22:53 robinsmidsrod joined #perl6
22:58 masak 'night, #perl6
22:59 Mouq 'night masak!
22:59 Tene 'night masak
23:00 * Mouq wonders if circumfix:<[ ]> and circumfix:<( )> actually want to be parsed as semilists or statementlists in STD.pm6/Grammer.pm
23:09 lue Mouq: I want to say "statement", if only because you can describe the structure yourself with another level of parens. I'm not an expert on S09 though.
23:11 Mouq I think it should be statement too. I don't think (my $as; $as ~= 'a' for ^3) should produce LoL.new(Any, ('a', 'aa', 'aaa')), which is what the implication seems to be.
23:14 TimToady we should only use semilist where we intend a lol-ish result
23:14 lue Mouq: Yeah, that'd be bad :) I feel like semilists are meant to make multidim array access be not a pain; since you're unlikely to need multiple statements in @a[here], ; is a good choice for dimension separator.
23:14 TimToady circumfixes are supposed to be statements inside
23:14 cognome joined #perl6
23:14 TimToady unlike postcircumfixes
23:14 cognominal joined #perl6
23:14 cognome joined #perl6
23:15 Mouq Ok :)
23:16 TimToady and if a construct wants to give semicolons yet another meaning (monads anyone? :) it would probably be yet another rule, unless we just highjack semilist for anything that treats semicolon contextually
23:17 TimToady if you squint, statementlist is kind of the IO monad, imposing sequence on side effects
23:23 jack_rabbit joined #perl6
23:24 ggoebel111116 joined #perl6
23:25 rurban1 joined #perl6
23:30 TimToady I suppose I could see a [;] as a LoL constructor, in which case we'd have to force people to use [(;)] to have statements inside
23:31 TimToady but [] is awfully useful for  "array comprehensions" in its current form
23:33 TimToady ASCII just doesn't have enough brackets...
23:34 lue Or perhaps we need an END OF STATEMENT character that looks an awful lot like a semicolon :P
23:38 TimToady ⊙⨀
23:38 TimToady ⧁°⧀
23:38 timotimo is that what your eyes look like at the moment? :O
23:38 TimToady lue earns a Bill-the-Cat award
23:38 TimToady that too
23:40 timotimo ±_±
23:40 * jnthn wonders how much the cat was billed...
23:40 itz_ joined #perl6
23:40 TimToady well, in terms of looks, my right eye is redder, and the pupil is still mostly dilated after two weeks-ish
23:41 TimToady but I still just keep it shut much of the time
23:41 TimToady since everything I see through it is very...sloshy...
23:41 timotimo well, you should look at other things than the perl6 specs
23:41 lue timotimo: I was thinking the same thing! :D
23:42 TimToady I only looked at 'em once, I swear, yer honour!
23:42 TimToady and I said sloshy, not slushy...
23:43 TimToady my bubble is still quite a bit bigger than my puddle
23:44 TimToady but I did get a glimpse this morning of some light beams that were mostly in focus, if I looked down at exactly the right angle, so I'm hoping as the bubble shrinks and the puddle grows, I'll get more of that
23:44 TimToady up till now though, the optics have been...slushy...
23:44 TimToady in addition to sloshy
23:44 timotimo does the eye actually rebuild the fluid by itself? or is the amount of fluid just staying constant and the eye just got inflated a bit?
23:45 TimToady oh, that would be bad; you don't want pressure excursions
23:45 timotimo OK
23:45 TimToady no, it just replaces it gradually
23:45 timotimo could have been a bit of pressure would be good to push the retina back in its place
23:45 timotimo but i'm only speculating wildly
23:46 TimToady in fact, they mix air and gas (perfluoro propane in this case) such that it absorbs at the correct rate to maintain pressure
23:46 timotimo oh, that's smart
23:46 TimToady trouble with pressure is that it kills your optic nerve, as in gluacoma
23:46 TimToady *glau
23:47 TimToady which I already killed a bit of my nerve, I think, though it's anyone's guess whether it was pressure related
23:47 timotimo mhh :\
23:47 TimToady anyway, I'm still largely missing the bottom half of my macula
23:48 TimToady but they hadn't done the emergency surgery, that point would be moot by now...
23:48 [Coke] jnthn: yup, fixed!
23:49 timotimo well, i'm glad you seem to be getting better
23:49 TimToady feistier, anyway :)
23:49 timotimo easy to confuse :3
23:50 TimToady looks like I'll have to miss my mom's 90th birthday though, since I'd violate altitude constraints to get there, even by the coast road
23:50 xragnar_ joined #perl6
23:50 timotimo sometimes hearing about medical procedures that are actually possible today make me pretty excited for what's to come when i get old and brittle
23:50 jnthn [Coke]: yays; I trust you're closing the ticket?
23:51 timotimo (not implying you're old or brittle, i'm thinking more like in 60 years)
23:51 jnthn This also means that the ASAN explosion nwc10++ was seeing is gone, I hope.
23:52 Akagi201 joined #perl6
23:52 TimToady the rosettacode entry for http://rosettacode.org/wiki/Find_palindromic_numbers_in_both_binary_and_ternary_bases#Perl_6 passes now too, so jnthn++
23:53 rurban1 joined #perl6
23:53 TimToady and it runs twice as fast as when I turned off inlining :)
23:54 * TimToady wonders whether the JIT would make it fasterer
23:54 TimToady I assume the JIT is still not default?
23:54 timotimo that's right, you still need to build moarvm from a branch
23:54 dalek roast: 5579f8c | coke++ | integration/99problems-51-to-60.t:
23:54 dalek roast: unfudge 122297, passing now.
23:54 dalek roast:
23:54 dalek roast: jnthn++
23:54 dalek roast: review: https://github.com/perl6/roast/commit/5579f8ce32
23:55 [Coke] jnthn: all done.
23:55 [Coke] jnthn: happy to do ticket mongering if you're doing real coding stuff. :)
23:56 jnthn timotimo: Hm, did I read that right? It runs twice as fast with inlining?
23:56 jnthn oops
23:56 jnthn TimToady: ^^
23:56 jnthn [Coke]: Well, I've not been doing a lot of that this week, that fix aside...
23:57 TimToady well, I seem to remember it took 9 minutes before, but I might be remembering the JVM run
23:58 rurban1 joined #perl6
23:58 TimToady now it's 4 minutes something
23:58 jnthn Grr, still ages...
23:58 TimToady well, it's a tough algo
23:58 TimToady even in fast languages
23:58 jnthn ah, ok
23:58 TimToady I just realized I have a stupid for loop there with only one list item...
23:59 * jnthn notes the comment above the Java one: "This takes a while to get to the 6th one (I didn't time it precisely, but it was less than 2 hours on an i7)"
23:59 TimToady was X~ before, and I changed them to ~ because only the '1' in the middle can produce a ternary palindrom that will also produce a binary palindrom, for some mathematical reason

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

Perl 6 | Reference Documentation | Rakudo