Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-08-11

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:02 psch m: my @cache = 2; my @primes := gather for 2..* { @cache.push(.take) if so [+] $_ Z% @cache[^($_.sqrt)] }; say @primes[^10]; # cono
00:02 camelia rakudo-moar 40748b: OUTPUT«3 5 7 9 11 13 15 17 19 21␤»
00:02 psch oh
00:02 psch noo
00:02 psch im too tired
00:02 psch :(
00:02 psch all of my sads
00:03 psch timotimo: that ran in 5 minutes, BUT it's clearly wrong
00:03 psch silly me
00:08 psch @cache doesn't get updated inside the gather scope if it's declared outside it seems
00:09 psch or is it that the zip is thunked..?
00:10 ldris joined #perl6
00:14 timotimo does $_.take actually return $_?
00:14 timotimo m: gather { say 10.take }
00:14 camelia rakudo-moar 40748b: OUTPUT«10␤»
00:14 timotimo hmm.
00:14 timotimo you know the ... operator lets you get all previous values passed into the generator closure, too, right?
00:15 timotimo i think that'd make it tons easier
00:15 timotimo and i think you want X% instead of Z%
00:16 psch X% breaks somehow
00:17 psch m: my @cache = 2; my @primes := gather for 2..* { @cache.push(.take) if so [+] $_ X% @cache[^($_.sqrt)] }; say @primes[^10];
00:17 camelia rakudo-moar 40748b: OUTPUT«use of uninitialized value of type Any in numeric context  in block  at /tmp/UuPMIzNZmG:1␤␤===SORRY!===␤Type check failed for return value; expected 'Int' but got 'Failure'␤»
00:17 psch which should maybe point towards what's wrong, but i'm not seeing it
00:17 psch m: my @cache = 2; my @primes := gather for 2..* { @cache.push(.take) if so [+] ($_ X% @cache[^($_.sqrt)]) }; say @primes[^10];
00:17 camelia rakudo-moar 40748b: OUTPUT«use of uninitialized value of type Any in numeric context  in block  at /tmp/I1hjFVhZj_:1␤␤===SORRY!===␤Type check failed for return value; expected 'Int' but got 'Failure'␤»
00:17 psch i don't know how ... gives me the previous values
00:18 timotimo i'll show you
00:19 timotimo m: .say for ^20, -> *@v { @v.pick + 1 } ... 30
00:19 camelia rakudo-moar 40748b: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤​14␤15␤16␤17␤18␤19␤7␤16␤18␤7␤19␤11␤4␤13␤​12␤19␤13␤20␤19␤5␤6␤16␤8␤12␤19␤14␤13␤14␤​8␤11␤14␤9␤17␤11␤20␤19␤6␤19␤1␤20␤13␤1…»
00:19 timotimo oh, that's not going to converge like that
00:19 timotimo m: .say for 20, -> *@v { @v.pick + 2 } ... 30
00:19 camelia rakudo-moar 40748b: OUTPUT«20␤22␤22␤22␤22␤22␤24␤​26␤26␤24␤24␤26␤28␤28␤28␤30␤»
00:20 timotimo and that's boring %)
00:20 timotimo m: .say for ^5, -> *@v { @v.pick + 2 } ... 30
00:20 camelia rakudo-moar 40748b: OUTPUT«0␤1␤2␤3␤4␤3␤5␤2␤6␤6␤4␤4␤3␤5␤6␤5␤7␤6␤2␤6␤​8␤5␤8␤9␤5␤4␤6␤2␤8␤10␤4␤8␤7␤8␤6␤9␤3␤4␤7␤5␤9␤6␤7␤​7␤8␤6␤8␤6␤8␤7␤7␤10␤8␤10␤9␤6␤10␤5␤5␤3␤8␤12␤10…»
00:20 timotimo m: .say for ^5, -> *@v { ([max] @v.pick: 3) + 2 } ... 30
00:20 camelia rakudo-moar 40748b: OUTPUT«0␤1␤2␤3␤4␤5␤7␤6␤8␤7␤9␤9␤10␤12␤14␤​7␤12␤14␤14␤14␤16␤9␤14␤9␤16␤16␤10␤16␤16␤1​1␤12␤16␤18␤18␤16␤20␤16␤20␤18␤18␤16␤16␤22​␤18␤18␤18␤18␤22␤24␤26␤20␤18␤24␤20␤2…»
00:22 zakharyas joined #perl6
00:23 timotimo so yeah. that's how :)
00:23 SevenWolf joined #perl6
00:24 psch that's too dense for me at the moment :D
00:24 psch curiously that happens when i'm trying to write dense code ;)
00:24 iarna joined #perl6
00:25 nbrown____ joined #perl6
00:25 timotimo oh?
00:25 timotimo well, the core of what i wanted to show is that you can just define a slurpy positional argument to the closure left of the ... operator
00:25 timotimo and it'll give you all values that have been in the series so far
00:25 timotimo so that'd be your cache in that case
00:26 psch ah, okay
00:32 timotimo and i think you don't want "so [+] ...", you probably want any(...) instead, as you'd have to prove the numbers are all positive or zero in order for rakudo to even be able to figure out it could short-circuit that
00:34 timotimo or maybe just [||] ...
00:35 timotimo that can probably short-circuit?
00:35 timotimo m: [||] gather for ^20 { take $_ > 10; say $_ }
00:35 camelia rakudo-moar 40748b: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10​␤11␤12␤13␤14␤15␤16␤17␤18␤19␤»
00:35 timotimo m: any(gather for ^20 { take $_ > 10; say $_ })
00:35 camelia rakudo-moar 40748b: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10​␤11␤12␤13␤14␤15␤16␤17␤18␤19␤»
00:35 timotimo :o
00:36 timotimo m: say so any(gather for ^20 { take $_ > 10; say $_ })
00:36 camelia rakudo-moar 40748b: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11​␤12␤13␤14␤15␤16␤17␤18␤19␤True␤»
00:36 timotimo m: say so (gather for ^20 { take $_ > 10; say $_ }).any
00:36 camelia rakudo-moar 40748b: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11​␤12␤13␤14␤15␤16␤17␤18␤19␤True␤»
00:36 timotimo that's unfortunate
00:40 psch m: my @cache; my @primes := gather for 2...* { @cache.push(.take) if all(@cache.map({ $_ % $^a })) }; say @primes[^10];
00:40 camelia rakudo-moar 40748b: OUTPUT«2 3 5 7 11 13 17 19 23 29␤»
00:40 psch there it is :)
00:42 colomon m: my @primes := (2..*).grep(*.is-prime); say @primes[^10]
00:42 camelia rakudo-moar 40748b: OUTPUT«2 3 5 7 11 13 17 19 23 29␤»
00:42 * colomon is lazy
00:43 psch interestingly cono's original code takes 8.3 real for the first 250, while my latest bit takes 3.8
00:43 psch i'm not going to test how long colomon's takes :P
00:44 colomon m: my @primes := (2..*).grep(*.is-prime); say @primes[300]
00:44 camelia rakudo-moar 40748b: OUTPUT«1993␤»
00:44 colomon we actually did try to make is-prime somewhat efficient...
00:44 timotimo well, the is-prime test is the probabilistic one
00:51 psch the wikipedia article about probabilistic primality tests definitely is beyond my current waking level
00:52 timotimo well ...
00:52 timotimo the probability of getting a false-positive is smaller than getting hit on the head by a little meteorite or something like that
00:52 timotimo (well, the value that's responsible for the false-positive rate is tunable, of course)
00:52 * timotimo heads off to bed
00:53 timotimo o/
00:53 psch i'll do the same
00:53 psch g'nite \o
00:55 jnap joined #perl6
01:00 japhb perl6-m -e '' is much slower than perl6-m -v ... why?   2 < timotimo> (well, the value that's responsible for the false-positive rate is tunable, of course)
01:00 japhb 17:52  * timotimo heads off to bed
01:00 japhb 17:53 < timotimo> o/
01:00 japhb 17:53 < psch> i'll do the same
01:00 japhb Dangit
01:01 japhb perl6-m -e '' is much slower than perl6-m -v ... why?   https://gist.github.com/japhb/c4af98bab6f918aa857d
01:01 * japhb has to figure out what is going goofy with his paste buffer this week ....
01:07 slavik joined #perl6
01:25 nbrown____ joined #perl6
01:28 FROGGS_ joined #perl6
01:29 klapperl joined #perl6
01:40 PZt joined #perl6
01:45 dayangkun joined #perl6
01:47 virtualsue joined #perl6
02:08 slavik joined #perl6
02:19 chenryn joined #perl6
02:48 lustlife joined #perl6
02:57 noganex joined #perl6
02:58 rurban joined #perl6
03:13 xragnar_ joined #perl6
03:19 mr-foobar joined #perl6
03:32 kaare_ joined #perl6
04:02 slavik joined #perl6
04:12 lue joined #perl6
04:22 iarna joined #perl6
04:35 kurahaupo joined #perl6
04:36 ventica joined #perl6
04:37 kurahaupo m
04:37 kurahaupo m
04:37 kurahaupo m
04:37 kurahaupo m
04:37 kurahaupo mm
04:38 kurahaupo m
04:38 diakopter m
04:38 yoleaux 25 Feb 2014 19:56Z <[Coke]> diakopter: I need a password reset on host06, as my keys stopped working today (and I promptly forgot the password once I had the keys setup)
04:38 kurahaupo p
04:38 kurahaupo pm
04:38 diakopter wow, 25 Feb
04:38 chenryn joined #perl6
04:38 kurahaupo nm
04:40 kurahaupo pkm
04:40 kurahaupo ml
04:40 kurahaupo mlm
04:40 kurahaupo mmmmlmm
04:40 kurahaupo mkm
04:40 kurahaupo mmp
04:40 kurahaupo mkmmkp
04:40 kurahaupo mkmmkpmp
04:40 kurahaupo mkmmkpmpmmm
04:40 kurahaupo mkmmkpmpmmmm
04:40 kurahaupo mkmmkpmpmmkmmm
04:40 kurahaupo mkmmkpmpmmm;m
04:40 kurahaupo mkmmkpmpmmmml
04:40 kurahaupo mkmmkpmpmmmmlmm
04:41 kurahaupo mkmmkpmpmmkmmmmm
04:41 kurahaupo l
04:41 brrt joined #perl6
04:41 kurahaupo klmmm
04:41 lee_ you ok there?
04:41 kurahaupo m
04:41 kurahaupo k
04:41 kurahaupo kmlnm
04:41 kurahaupo m
04:41 kurahaupo kmlnmmml
04:41 kurahaupo mmm
04:41 kurahaupo mmmnnl
04:42 kurahaupo damn phone unlocked in pocket, sorry guys
04:48 diakopter :)
04:50 zakharyas joined #perl6
04:52 kaare_ joined #perl6
05:11 anaeem1 joined #perl6
05:31 nwc10 kurahaupo: could you get it to put in a colon and then a space? That way,you could start to fuzz test camelia :-)
05:31 nwc10 m: kmmkpmpmmkmmmmm
05:31 camelia rakudo-moar 40748b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/PWqjhDNV8uâ�¤Undeclared routine:â�¤    kmmkpmpmmkmmmmm used at line 1â�¤â�¤Â»
05:39 chenryn joined #perl6
05:51 gfldex joined #perl6
05:56 kaleem joined #perl6
05:59 denis_boyun_ joined #perl6
06:06 ingy where are the p6 numeric types best described?
06:07 ingy s02?
06:08 dayangkun joined #perl6
06:11 Woodi joined #perl6
06:12 brrt joined #perl6
06:16 [Sno] joined #perl6
06:36 erkan joined #perl6
06:48 dayangkun joined #perl6
06:51 slavik joined #perl6
06:58 darutoko joined #perl6
07:04 lisyara joined #perl6
07:11 ventica joined #perl6
07:14 chenryn joined #perl6
07:24 dmol joined #perl6
07:33 Mouq joined #perl6
07:34 Mouq FROGGS++
07:34 yoleaux 10 Aug 2014 07:10Z <FROGGS> Mouq: What do you mean by 'how'? <Mouq> FROGGS: How do you use the nqp_to_perl6 branch of v5?
07:34 yoleaux 10 Aug 2014 08:11Z <FROGGS> Mouq: In case you meant build instructions I updated the README.md
07:34 virtualsue joined #perl6
07:50 brrt joined #perl6
07:51 nwc10 brrt: PASS (apar from sinful flapping spectests)
07:51 brrt :-D
07:51 kuroseki joined #perl6
07:52 brrt much wow
07:52 brrt also
07:52 brrt still not helping core-setting
07:52 masak good morning, #perl6
08:04 dayangkun joined #perl6
08:06 brrt \o masak
08:06 brrt (as in, core.setting compiles all right, but it's not any faster)
08:13 FROGGS morning
08:15 brrt morning FROGGS
08:17 clkao joined #perl6
08:41 pingvin joined #perl6
08:45 sergot carlin: I do :)
08:45 sergot hey! o/
08:52 masak \o
08:56 moritz o/
08:56 moritz timotimo: tiny typo in http://p6weekly.wordpress.com/2014​/08/05/2014-31-for-real-this-time/ : 'usag' (should be 'usage')
08:57 masak timotimo: [||] doesn't short-circuit, see S03:1382.
08:57 synopsebot Link: http://perlcabal.org/syn/S03.html#line_1382
09:10 SamuraiJack joined #perl6
09:10 FROGGS jnthn: I added this to NFA.nqp: nqp::say("$name iscont") if nqp::iscont(@substates);
09:10 FROGGS and the only thing that shows up is "b iscont", so the thing from my example code
09:11 FROGGS nothing shows up when building nqp or rakudo
09:12 FROGGS now I'll rebuild perl6-p to know if that thing also gets that bloody container
09:12 ren1us joined #perl6
09:12 jnthn Oh...that being containerized would probably be rather bad
09:14 FROGGS yeah, and I have no idea where that comes from...
09:14 chenryn joined #perl6
09:14 FROGGS I mean, it must have something todo with b being a multi
09:16 ren1us weird question.  the cs department at my college is looking into setting up a "Human Side of CS" talk series, and we're trying to come up with a list of potential speakers.  i feel like the evolution of the p6 community over the last decade is a perfect fit.  given that it's 5 am on the east coast i think my timing is a bit off, but are there any p6 people in the new england (US) area who would
09:16 ren1us be a good speaker?
09:17 ren1us (we liberal arts schools do weird stuff in our cs programs)
09:18 FROGGS somebody would just have to perform TimToady++'s talks :o)
09:29 Mouq I wouldn't be a good speaker, but I'm curious where?
09:29 chenryn joined #perl6
09:29 ren1us south-east CT (Connecticut College)
09:29 ren1us we get no attention because we're more or less a boring little liberal arts school with a crazy good science program
09:30 ren1us most of the interesting talks go on an hour in any direction (yale, harvard, mit)
09:30 ren1us and i've actually never seen any of timtoady's p6 talks
09:32 silug joined #perl6
09:34 Mouq Ahh, well I have family in Conneticut, maybe I'll try to stop by for a talk sometime :) I'm going to a tiny college too, but it's a branch of Penn State so that's a little different I guess
09:36 kaleem joined #perl6
09:38 Mouq Much smaller than Conn tho
09:38 timotimo .tell japhb -v and echo "" | perl6-m will not pull in the setting, but an empty program will
09:38 yoleaux timotimo: I'll pass your message to japhb.
09:39 silug joined #perl6
09:41 Mouq Hmm
09:42 Mouq FROGGS: Strange error with v5 (nqp_to_perl6 branch): use v5; 2,3; say "test";
09:42 Mouq ===SORRY!=== Cannot iterate object with P6opaque representation
09:43 Mouq Came up because I wrote my @a = 1,2,3 instead of my @a = (1,2,3)
09:44 dalek Perlito: c3003cf | (Flavio S. Glock)++ | misc/alias.pl:
09:44 dalek Perlito: misc - add a parameter aliasing example
09:44 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/c3003cf9ff
09:44 spider-mario joined #perl6
09:45 Mouq Hm, comes from deep in the optimizer
09:46 moritz it doesn't surprise me that the optimizer makes v6-specific assumptions :-)
09:47 timotimo if the optimizer wasn't doing some things in-place, i'd suggest giving it a big try/catch that just returns the original AST back if an unexpected error occurs
09:49 moritz and hide all the errors, and wonder why stuff runs so slow?
09:49 moritz bad idea, IMHO
09:51 timotimo ah, yes.
09:52 Mouq It may just be that v5 isn't marking void context correctly
09:52 Mouq star: use v5; 2,3; 1
09:52 camelia star-{m,p} 2014.04: OUTPUT«WARNINGS:␤Useless use of "," in expression "2,3" in sink context (line 1)␤»
09:53 Mouq Or just the branch anyway :)
09:53 lizmat good *, #perl6!
09:54 lizmat r: $_=1; .say for grep $_ == 1, 1,2,3   # WTF ?
09:54 camelia rakudo-{parrot,jvm,moar} 40748b: OUTPUT«1␤2␤3␤»
09:54 Mouq m: .say for grep True, 1,2,3 # :P
09:54 camelia rakudo-moar 40748b: OUTPUT«1␤2␤3␤»
09:55 Mouq also \o lizmat
09:55 jnthn lizmat: Block!
09:55 lizmat S29:126 appears to imply this should be a compile error
09:55 synopsebot Link: http://perlcabal.org/syn/S29.html#line_126
09:56 lizmat o/ Mouq jnthn
09:56 lizmat or at least a runtime error
09:58 silug joined #perl6
09:58 jnthn It can't be a runtime error.
09:58 jnthn Since we've know idea it was something silly by then; we just see True
09:59 Mouq .oO( multi grep (Bool $, ...) { die "you probably need a block, silly" } )
10:03 lizmat Mouq: going to spectest with that change
10:03 brrt joined #perl6
10:05 timotimo if you want a matcher that'll always fail or succeed, you can still supply -> { True/False }
10:07 jnthn Ah... "Booleans are forbidden because they almost always indicate a programming error where the argument has been evaluated too soon against the wrong $_"
10:07 jnthn So handholding...
10:07 jnthn But yeah, a multi candidate is probably the cleanest way.
10:08 timotimo how about a warning + nextsame?
10:08 jnthn Well, forbidden sounds like error, not warning
10:09 timotimo mhh
10:09 timotimo fair enough
10:10 timotimo .tell sergot: you haven't posted to your blog about the gsoc for quite a while; isn't there some kind of requirement (possibly not strict) to have a public progress report on a biweekly basis?
10:10 yoleaux timotimo: What kind of a name is "sergot:"?!
10:10 jnthn Yay, my JIT patches didn't blow up the builds, spectest, etc.
10:10 timotimo .tell sergot you haven't posted to your blog about the gsoc for quite a while; isn't there some kind of requirement (possibly not strict) to have a public progress report on a biweekly basis?
10:10 yoleaux timotimo: I'll pass your message to sergot.
10:12 * jnthn gently encourages brrt to take a moment to write a short post noting the merge, and whatever else he fancies noting :)
10:13 jnthn brrt++ # adding function-calling stuff in to the JIT isn't hard
10:13 lizmat spectest seems clean
10:13 jnthn lizmat: You did --enable-jit too? :)
10:13 jnthn lizmat: Also: clean? init.t thing ain't fixed yet, no?
10:14 lizmat I mean clean as in no additional problems
10:14 lizmat :-)
10:14 brrt :-) yes
10:14 jnthn Right :)
10:14 chenryn joined #perl6
10:14 lizmat where does the --enable-jit go ?
10:14 jnthn To MoarVM's Configure
10:15 jnthn I guess if you --gen-moar there's a --moar-options you can use?
10:15 lizmat --moar-options=--enable-jit ?
10:15 jnthn Also you'll need to --gen-moar=master as we didn't bump revisions yet
10:15 jnthn lizmat: Someth9ing like that
10:16 lizmat will do so in a mo, first making this a proper exception  :-)
10:16 silug joined #perl6
10:17 pecastro joined #perl6
10:18 lizmat and do the same with first, first-index, last-index, grep-index
10:25 lizmat How about "Cannot use Bool as Matcher with 'grep'" as text for the exception ?
10:26 jnthn Well, it may want to give a hint about why we're telling them this
10:26 jnthn "(Did you forget to use $_ inside a block?)"
10:29 lizmat ok
10:32 silug joined #perl6
10:32 chenryn joined #perl6
10:33 FROGGS Mouq: these things can happen, I'm not yet done with the transition :o)
10:52 silug joined #perl6
11:00 FROGGS jnthn: using perl6-j the "b iscont" also shows up, but it still works out for some reason...
11:00 FROGGS maybe it is not that strict about containers
11:02 jnthn Well, or more likely it does a decont somewhere that Moar's code-gen doesn't put one
11:04 FROGGS hmmm
11:04 FROGGS but do we want that?
11:05 FROGGS jnthn: building perl6-p is busted
11:05 jnthn Not sure, without knowing where it is
11:05 FROGGS Stage pir        : Killed
11:05 FROGGS make: *** [CORE.setting.pbc] Fehler 137
11:05 FROGGS it feels like a deep recursion
11:05 jnthn What on earth does 137 mean?
11:05 FROGGS killed by OS or so
11:05 nwc10 SIGBUS and cordump, I thnk
11:05 nwc10 oh, no
11:05 nwc10 SIGKILL and coredump, probably
11:05 nwc10 m: 137 - 128
11:05 camelia rakudo-moar 40748b: ( no output )
11:05 nwc10 m: say 137 - 128
11:05 camelia rakudo-moar 40748b: OUTPUT«9␤»
11:05 FROGGS I was unable to type here and only hardly could move the mouse
11:07 SamuraiJack joined #perl6
11:11 silug joined #perl6
11:14 nbrown____ joined #perl6
11:17 lizmat jnthn: how about "Did you mean to use $_ inside a block?)
11:17 lizmat so, s/forget/mean/
11:21 jnthn lizmat: Yes, that's fine
11:24 chenryn joined #perl6
11:26 cognome joined #perl6
11:28 silug joined #perl6
11:28 dalek rakudo/nom: 16ce7df | (Elizabeth Mattijsen)++ | src/core/ (2 files):
11:28 dalek rakudo/nom: Prevent using Bool as a Matcher in grep c.s.
11:28 dalek rakudo/nom:
11:28 dalek rakudo/nom: As per S29:126
11:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/16ce7dfbf1
11:28 synopsebot Link: http://perlcabal.org/syn/S29.html#line_126
11:34 chenryn joined #perl6
11:35 cono timotimo: This is perl6 version 2014.07-147-g40748bc built on MoarVM version 2014.07-116-g9a4fda8
11:36 timotimo oh, that's quite up-to-date
11:37 cono yeah, but I'm newbie in perl6, so looks like it could be rewritten better )
11:37 timotimo so you'll probably not benefit from recent performance improvements
11:38 cono looked to what psch provided. Stuck here if so [+] :)
11:38 timotimo the "so" is superfluous in this case; it's the opposite of "not"
11:39 timotimo gotta run now :\
11:39 cono cu
11:39 cono thanks for explanation
11:39 timotimo no problem :)
11:46 silug joined #perl6
11:49 dalek rakudo/nom: 50d042b | Carlin++ | tools/lib/NQP/Configure.pm:
11:49 dalek rakudo/nom: pass --moar-options(s) to NQP's Configure
11:49 dalek rakudo/nom:
11:49 dalek rakudo/nom: This makes setting --moar-option(s) in rakudo's Configure actually have
11:49 dalek rakudo/nom: those options passed to MoarVM's Configure
11:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/50d042b403
11:49 dalek rakudo/nom: 11afe19 | lizmat++ | tools/lib/NQP/Configure.pm:
11:49 dalek rakudo/nom: Merge pull request #300 from carbin/some-of-us-have-to-set-the-os-option
11:49 dalek rakudo/nom:
11:49 dalek rakudo/nom: pass --moar-options(s) to NQP's Configure
11:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/11afe1957f
11:55 lizmat seems we have two mentions of DESTROY in the spec, both seem like fossils to me
11:56 lizmat S12:856
11:56 synopsebot Link: http://perlcabal.org/syn/S12.html#line_856
11:56 lizmat S29-249
11:56 lizmat S29:249
11:56 synopsebot Link: http://perlcabal.org/syn/S29.html#line_249
11:57 lizmat hmmm.... rebuilt with patched configure, but jit_log still empty
12:00 dalek specs: 56c5710 | (Elizabeth Mattijsen)++ | S (2 files):
12:00 dalek specs: Get rid of DESTROY fossils
12:00 dalek specs: review: https://github.com/perl6/specs/commit/56c5710c52
12:04 silug joined #perl6
12:05 carlin ls
12:05 carlin oops
12:07 carlin the jit_log isn't empty for me, but I manually bumped nqp/tools/build/MOAR_REVISION to 7671558
12:08 jnthn Yes, for now it'll need --gen-master
12:08 jnthn uh
12:08 jnthn Yes, for now it'll need --gen-moar=master
12:11 rurban joined #perl6
12:13 carlin doh, didn't realise you could do =master to get the HEAD
12:13 FROGGS jnthn: it seems like istrue decont's on jvm but not on moar
12:14 jnthn nqp::istrue ?
12:15 jnthn QAST::MASTOperations.add_co​re_moarop_mapping('istrue', 'istrue', :decont(0));
12:15 FROGGS ahh, dang
12:15 jnthn It's marked as deconting...
12:15 dalek roast: a0a80b7 | (Pepe Schwarz)++ | S32-exceptions/misc.t:
12:15 dalek roast: Unfudge and correct test for RT #122502.
12:15 dalek roast: review: https://github.com/perl6/roast/commit/a0a80b7684
12:15 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=122502
12:21 silug joined #perl6
12:21 kivutar joined #perl6
12:23 lizmat jnthn: fwiw, I *did* --gen-moar=master, but it still doesn't give me jit
12:29 FROGGS lizmat: you have to pass --enable-jit to moar-options
12:29 silug joined #perl6
12:30 lizmat this was the command I used: perl Configure.pl --gen-moar=master --moar-option=--enable-jit  --gen-nqp --backends=moar
12:31 jnap joined #perl6
12:31 jnthn lizmat: If it's still in the terminal, how does your MoarVM Configure output look?
12:34 lizmat Already on 'master'
12:34 lizmat Already up-to-date.
12:34 lizmat Configuring and building MoarVM ...
12:34 lizmat perl Configure.pl --enable-jit --optimize --prefix=/Users/liz/Github/rakudo.moar/install --make-install
12:34 silug joined #perl6
12:34 lizmat Configuring native build environment ................... JIT isn't supported on darwin-thread-multi-2level yet.
12:34 lizmat aha!
12:34 telex joined #perl6
12:34 lizmat :-(
12:35 dalek Heuristic branch merge: pushed 79 commits to rakudo/S26-WHY by hoelzro
12:35 araujo joined #perl6
12:35 araujo joined #perl6
12:35 carlin if ($Config{archname} =~ m/^x86_64|^darwin-2level/)
12:35 jnthn Ah...so it's not detecting it as an x64 arch
12:36 dalek roast: 750b9da | (Pepe Schwarz)++ | S32-exceptions/misc.t:
12:36 dalek roast: Add test for RT #115726.
12:36 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=115726
12:36 dalek roast: review: https://github.com/perl6/roast/commit/750b9da46f
12:37 cognome is this possible to use an emum name as a subrule in a rule, so as to match any of the enum strings?
12:38 cognome r: enum Bool < False True >;  'True' ~~ m/ <Bool> /
12:38 jnthn No.
12:38 camelia rakudo-jvm 11afe1: OUTPUT«(timeout)»
12:38 camelia ..rakudo-moar 11afe1: OUTPUT«P6opaque: no such attribute '$!pos'␤  in method match at src/gen/m-CORE.setting:6297␤  in block  at /tmp/tmpfile:1␤␤»
12:38 camelia ..rakudo-parrot 11afe1: OUTPUT«Can not get attribute '$!pos' declared in class 'Cursor' with this object␤  in regex  at /tmp/tmpfile:1␤  in method match at gen/parrot/CORE.setting:6301␤  in block  at /tmp/tmpfile:1␤␤»
12:39 cognome too bad.
12:39 jnthn m: say Bool.enums.keys
12:39 camelia rakudo-moar 11afe1: OUTPUT«False True␤»
12:39 jnthn So you could @(Bool.enums.keys) inside a regex I guess
12:41 cognome How does it knows that the array is constant to make that a NFA. Good luck for jnthn to optimize that :)
12:41 jnthn It doesn't.
12:42 dalek roast: 4b608e7 | (Elizabeth Mattijsen)++ | S32-list/ (5 files):
12:42 dalek roast: Add tests for Bool Matchers
12:42 dalek roast: review: https://github.com/perl6/roast/commit/4b608e727b
12:42 jnthn Not sure off hand there's an especially great way to do this yet. Not without regex interpolation of some kind.
12:43 lizmat BEGIN @(Bool.enums.keys)   ?
12:46 guru joined #perl6
12:46 cognome r: constant @bkeys = Bool.enums.keys; 'True' ~~ / @bkeys /
12:46 camelia rakudo-{parrot,jvm,moar} 11afe1: ( no output )
12:46 cognome r: constant @bkeys = Bool.enums.keys; say 'True' ~~ / @bkeys /
12:46 camelia rakudo-{parrot,jvm,moar} 11afe1: OUTPUT«「True」␤␤»
12:47 cognome don't know if that is optimized.
12:49 ivanshmakov joined #perl6
12:49 molaf joined #perl6
12:50 virtualsue joined #perl6
12:53 klapperl_ joined #perl6
12:59 silug joined #perl6
13:00 ivanshmakov| joined #perl6
13:01 dalek rakudo-star-daily: c5c656f | coke++ | log/ (15 files):
13:01 dalek rakudo-star-daily: today (automated commit)
13:01 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/c5c656f94e
13:01 dalek rakudo-star-daily: 443471a | coke++ | log/ (14 files):
13:01 dalek rakudo-star-daily: today (automated commit)
13:01 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/443471ac75
13:01 dalek perl6-roast-data: b3f9fc2 | coke++ | / (5 files):
13:01 dalek perl6-roast-data: today (automated commit)
13:01 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/b3f9fc28e7
13:02 ajr joined #perl6
13:02 raiph joined #perl6
13:04 cognome joined #perl6
13:04 rurban joined #perl6
13:12 dalek tablets: da79fa3 | (Herbert Breunung)++ | docs/appendix-g-glossary.txt:
13:12 dalek tablets: streamline glossary head text
13:12 dalek tablets: review: https://github.com/perl6/tablets/commit/da79fa322b
13:25 FROGGS wow, we decont a lot
13:25 nwc10 and you can see a away to reduce the number of times?
13:25 FROGGS ummm, no
13:25 FROGGS I am hunting a decont we do on the jvm but not on moar...
13:26 dayangkun joined #perl6
13:26 FROGGS we decont 561191 times for -e 1 using perl6-j
13:26 jnthn spesh does remove some amount of decont, and turns many of those it can't into a single pointer operation
13:26 FROGGS yeah, that'd better be cheap :o)
13:26 jnthn Though it was cheap anyways
13:27 jnthn Well, it's just a dereference really. Pulling a value out of a container.
13:30 dalek tablets: 47e0136 | (Herbert Breunung)++ | docs/appendix-g-glossary.txt:
13:30 dalek tablets: rewrote glossary text for yadda ops
13:30 dalek tablets: review: https://github.com/perl6/tablets/commit/47e01361b5
13:31 kaare_ joined #perl6
13:34 lizmat cycling&
13:45 cognominal joined #perl6
13:48 iarna joined #perl6
13:51 dalek tablets: 6718e2f | (Herbert Breunung)++ | docs/ (3 files):
13:51 dalek tablets: organizing first link anchor to explain parsing with grammars
13:51 dalek tablets: review: https://github.com/perl6/tablets/commit/6718e2ff7b
13:56 thou joined #perl6
14:01 psch m: say "{.key}" given a => 1 # RT #100746
14:01 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=100746
14:01 camelia rakudo-moar 11afe1: OUTPUT«␤»
14:03 moritz m: say .perl given a => 1;
14:03 camelia rakudo-moar 11afe1: OUTPUT«"a" => 1␤»
14:03 moritz m: say .key given a => 1;
14:03 camelia rakudo-moar 11afe1: OUTPUT«a␤»
14:04 psch m: $_ = a => 1; say "{.key}"
14:04 camelia rakudo-moar 11afe1: OUTPUT«a␤»
14:04 FROGGS m: "{say .key}" given a => 1
14:04 camelia rakudo-moar 11afe1: OUTPUT«Nil␤»
14:04 FROGGS m: "{say $_}" given a => 1
14:04 camelia rakudo-moar 11afe1: OUTPUT«Nil␤»
14:05 FROGGS n: "{say $_}" given a => 1
14:05 camelia niecza v24-109-g48a8de3: OUTPUT«"a" => 1␤»
14:05 FROGGS niecza++
14:05 moritz and I think it's even correct
14:05 moritz because {say $_} is a block
14:05 moritz and it's called without an argument
14:05 FROGGS n: "{ { say $_ } }" given a => 1
14:05 camelia niecza v24-109-g48a8de3: OUTPUT«"a" => 1␤»
14:06 moritz m: $_ = 42; { say $_}()
14:06 camelia rakudo-moar 11afe1: OUTPUT«42␤»
14:06 FROGGS I'm not so sure that {} in a string already is a block
14:06 FROGGS it is more like: hey! here comes code
14:06 moritz yes, it's a block
14:06 psch m: say "{say $^a}"("foo")
14:06 camelia rakudo-moar 11afe1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/rrZFFXSQgcâ�¤Placeholder variable $^a may not be used here because the surrounding block takes no signatureâ�¤at /tmp/rrZFFXSQgc:1â�¤------> [32msay "{say $^a}[33mâ��[31m"("foo")[0mâ�¤    expect…»
14:06 dalek tablets: f591196 | (Herbert Breunung)++ | docs/appendix- (2 files):
14:06 dalek tablets: explaining better parse, subparse and action method - and lot of spacings for better readability
14:06 dalek tablets: review: https://github.com/perl6/tablets/commit/f591196096
14:07 psch EDOUBLESAY
14:07 moritz it's one of the reasons we allow $^a to be accessed as $a too
14:07 moritz so that inner scopes, including {} blocks in strings, can access them
14:08 psch m: (-> $a { say "{$a}" })("foo")
14:08 camelia rakudo-moar 11afe1: OUTPUT«foo␤»
14:08 psch m: (-> $a { say "{$a}" }) given "foo"
14:08 camelia rakudo-moar 11afe1: ( no output )
14:09 FROGGS you do not invoke it
14:09 psch right
14:09 psch i had a feeling it does something different :)
14:09 psch m: ((-> $a { say "{$a}" }) given "foo")()
14:09 camelia rakudo-moar 11afe1: OUTPUT«Not enough positional parameters passed; got 0 but expected 1␤  in block  at /tmp/CUpmVuKSCS:1␤␤»
14:09 psch i think i need a break
14:11 FROGGS hehe, clearly :P
14:17 daxim_ r: -> $f, $s { return $f + $s };  # how do I immediately call this block? arguments are for instance 23, 42
14:17 camelia rakudo-{parrot,jvm,moar} 11afe1: ( no output )
14:17 brrt joined #perl6
14:18 moritz m: -> $f, $s { return $f + $s }(23, 42) # dunno if that works, or needs parens
14:18 camelia rakudo-moar 11afe1: ( no output )
14:18 FROGGS m: -> $f, $s { say $f + $s }(23, 42); # this way
14:18 camelia rakudo-moar 11afe1: OUTPUT«65␤»
14:18 moritz m: say -> $f, $s { return $f + $s }(23, 42) # dunno if that works, or needs parens
14:18 camelia rakudo-moar 11afe1: ( no output )
14:18 moritz m: say (-> $f, $s { return $f + $s })(23, 42)
14:18 camelia rakudo-moar 11afe1: ( no output )
14:19 moritz ffs?
14:19 moritz m: say 23 + 42
14:19 camelia rakudo-moar 11afe1: OUTPUT«65␤»
14:19 FROGGS m: say( -> $f, $s { return $f + $s }(23, 42) )
14:19 camelia rakudo-moar 11afe1: ( no output )
14:19 FROGGS err
14:19 moritz oh
14:19 FROGGS a return in a pointy >.<
14:19 moritz return inside a lambda is a BAD IDEA
14:19 moritz return is only for routines
14:19 FROGGS daxim_: a return falls through a pointy/lambda
14:19 moritz m: say -> $f, $s { $f + $s }(23, 42)
14:19 camelia rakudo-moar 11afe1: OUTPUT«65␤»
14:20 daxim_ this is confusing me
14:20 FROGGS m: sub foo { if 42 { return 1 } } # for what should the return be?
14:20 camelia rakudo-moar 11afe1: ( no output )
14:20 FROGGS m: sub foo { if 42 -> $x { return 1 } } # more clearly
14:20 camelia rakudo-moar 11afe1: ( no output )
14:21 FROGGS that is also a pointy, and the return is meant to return from the sub
14:21 daxim_ please add this to perl6trap document
14:21 FROGGS O.o
14:21 PerlJam I get a core dump locally for -> $f, $s { return $f + $s }(23, 42).   That seems LTA to me.  Seems like this is something that could be detected and warn the user about anyway
14:22 moritz it should say "return without a routine"
14:22 FROGGS if it does not do that it should state that the return-exception missed its handler
14:22 FROGGS j: -> $f, $s { return $f + $s }(23, 42)
14:22 camelia rakudo-jvm 11afe1: ( no output )
14:22 masak m: return; say "alive"
14:22 camelia rakudo-moar 11afe1: ( no output )
14:23 FROGGS j: return
14:23 camelia rakudo-jvm 11afe1: ( no output )
14:23 FROGGS :/
14:23 masak I'd go so far as to consider that a bug.
14:23 FROGGS yeah
14:23 masak it can be caught *statically*.
14:23 PerlJam agreed
14:23 * masak submits rakuobug
14:23 psch joined #perl6
14:23 moritz since control exceptions are lexotic, and all taht
14:24 masak `return` in the mainline is always wrong.
14:24 PerlJam masak: sub MAIN { return 42; }   #   ;-)
14:25 FROGGS m: class foo { method bar { say &?ROUTINE } }; foo.bar
14:25 camelia rakudo-moar 11afe1: OUTPUT«bar␤»
14:25 FROGGS okay, should be an easy fix
14:25 masak PerlJam: that's un-wrong but meaningless :)
14:25 FROGGS *g*
14:26 PerlJam masak: it's a gentle nudge toward improving the precision of our words :)
14:26 masak PerlJam: I stand by what I said. MAIN is a sub, so `return` is fine there.
14:26 masak PerlJam: it's only not fine outside of any routine.
14:26 FROGGS "Can only return from within a method or sub"
14:26 masak FROGGS: "routine"
14:27 iarna joined #perl6
14:27 FROGGS std: -> $a { return 42 }
14:27 masak that's the Perl 6 word for it.
14:27 camelia std 0f2049c: OUTPUT«Potential difficulties:â�¤  $a is declared but not used at /tmp/IHMoUFGPst line 1:â�¤------> [32m-> [33mâ��[31m$a { return 42 }[0mâ�¤ok 00:01 126mâ�¤Â»
14:27 FROGGS std: return
14:27 camelia std 0f2049c: OUTPUT«ok 00:01 120m␤»
14:27 masak FROGGS: you can return from a macro, too. for example.
14:27 FROGGS ahh
14:27 FROGGS okay
14:27 daxim_ who's up for discussion/code sprints for standardising/documenting library installation paths across implementations at austrian perl workshop?
14:27 masak (moritz++ says that's because a macro is a sub is a routine. I say it's because a macro is a routine) :)
14:28 * moritz thinks it's nice that masak++ speaks for him, so he can be a bit more lazy himself
14:28 masak :)
14:29 masak moritz: hope I didn't misrepresent you in any way.
14:29 moritz masak: if you did, I'd protest. Not to lazy for that... :-)
14:30 masak excellent.
14:32 * PerlJam notes that the discussion on pointy blocks doesn't mention the word "lambda"
14:32 PerlJam perhaps it should.
14:42 ggoebel1111114 joined #perl6
14:42 mathw joined #perl6
14:43 treehug88 joined #perl6
14:44 FROGGS Attempt to return outside of any Routine
14:44 FROGGS make: *** [RESTRICTED.setting.moarvm] Fehler 1
14:44 FROGGS lol
14:44 masak epic fehler.
14:44 FROGGS my bad, there is not even a return..
14:45 moritz oh, and remember that return is just a routine, and overridable :-)
14:45 moritz m: sub return($x) { $x * 2}; sub f { return 21 }; f()
14:45 camelia rakudo-moar 11afe1: ( no output )
14:45 moritz m: sub return($x) { $x * 2}; sub f { return 21 }; say f()
14:45 camelia rakudo-moar 11afe1: OUTPUT«42␤»
14:46 moritz m: sub return($x) { $x * 2}; say -> { return 21 }(21)
14:46 camelia rakudo-moar 11afe1: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤  in block  at /tmp/Cct6vyFoFP:1␤␤»
14:46 moritz m: sub return($x) { $x * 2}; say -> { return 21 }()
14:46 camelia rakudo-moar 11afe1: OUTPUT«42␤»
14:47 guru joined #perl6
14:47 moritz imagine the fun you could have, if for example JSON::Tiny exported a rigged &return... :-)
14:48 jnthn .oO( :!auth<moritz> )
14:48 moritz oh, new github profiles are easy to create :-)
14:50 * masak .oO( :!auth<mysterious_stranger​_who_is_not_at_all_moritz> )
14:51 FROGGS I could talk to ANDK so that at least CPAN would be safe :o)
14:52 timotimo aren't we supposed to be able to filter versions with a code block? :P
14:52 raiph joined #perl6
14:52 timotimo and do verification of whatever kind?
14:53 FROGGS okay, my patch seems to work now...
14:56 pmichaud joined #perl6
14:56 pmichaud good morning, #perl6
14:56 PerlJam pmichaud!  o/
14:56 anaeem1 joined #perl6
14:57 anaeem1 joined #perl6
14:57 carlin would be nice to be able to do, use Foo:sha<67c738...>
14:57 pmichaud I just saw RT #122504.... I think that by definition "lexotic" means that something might not be able to be caught statically
14:57 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=122504
14:57 pmichaud PerlJam!  o/
14:58 PerlJam pmichaud: btw, Happy (early) Birthday.  Just in case I don't remember on your actual birthday  :)
14:58 pmichaud PerlJam: thanks!
14:58 timotimo hola pmichaud!
14:58 moritz maybe "lexotic" isn't the right terminology
14:58 pmichaud In particular,    foo( -> { return 123 } )     means that the return cannot be caught statically
14:59 * moritz is a bit out of tune
14:59 pmichaud since it's being specified outside of a lexical routine, it's dynamic scoped
14:59 masak pmichaud! \o/
14:59 FROGGS pmichaud: \o/
14:59 timotimo pmichaud: have you been following the amazing performance improvements moar has been getting? :)
15:00 pmichaud timotimo: I have not.  I had a summer contract/employment position that just finished last Friday... so my following of Perl 6 has been sporadic at best :)
15:00 FROGGS carlin: we could pass additional adverbs to the EXPORT sub of the module you use...
15:00 FROGGS (or all)
15:00 timotimo pmichaud: you'll be all the more positively surprised, then ;)
15:00 PerlJam pmichaud: oh, then you need to build rakudo/nqp with the moar backend.  It's gotten loads faster.
15:00 FROGGS this way we could even have EXPORT multis
15:01 ajr joined #perl6
15:01 TimToady pmichaud: but we've been saving contextual refactor for you :)
15:02 TimToady well, except when I couldn't stand it, and made push take advantage of eagerness last week... :)
15:02 pmichaud the only place one could potentially catch 'return' statically is if it's in the mainline, not inside of a lambda
15:02 pmichaud and I'm not sure it's worth the trouble.
15:02 timotimo right; how iterating things are supposed to tell iterators/lists how eager to be
15:02 bjz joined #perl6
15:03 pmichaud Yes, I was wondering what the status of lists is, and whether I'm still "point" for that or if someone else has taken it on :)
15:03 brrt good ... morning for you, pmichaud :-)
15:03 ajr joined #perl6
15:03 TimToady yeah, if you actually use it as a lambda, you'd have to do escape analysis before inlining its usages
15:03 TimToady a bare block, though, can be inlined, and then returned
15:04 TimToady as can lambdas fed to known constructs like loops
15:04 masak oh, good point.
15:04 pmichaud and yes, I've missed you all.  My summer contract was super-fun, though.  :)
15:04 FROGGS that is my patch, but it looks like it introduces spectest fails:
15:04 FROGGS my &return := -> | {
15:04 FROGGS +    X::ControlFlow::Return.new().throw
15:04 FROGGS +        unless nqp::getlexrel(nqp::ctxcaller(nqp::ctx()), '&?ROUTINE');
15:04 FROGGS my $parcel :=
15:04 masak pmichaud: missed you toooo!
15:04 * masak hugs pmichaud
15:04 timotimo \o/
15:05 pmichaud Do I update the ticket, or ... ?
15:05 timotimo pmichaud: yes, you're still on point :)
15:05 masak FROGGS: what TimToady++ just said.
15:05 masak FROGGS: like, `my &block = -> { return }` is fine.
15:05 FROGGS uhh
15:05 masak ...yeah.
15:05 FROGGS that explains why wrap.t fails
15:05 FROGGS :o)
15:06 pmichaud can I reject the ticket?
15:06 moritz if so, we need a ticket for better runtime error
15:06 masak pmichaud: IMO, a core of it still is valid.
15:06 chenryn joined #perl6
15:06 pmichaud okay, I'll update it
15:07 masak pmichaud: like, `return` outside of any routine or lambda is always wrong and should be caught statically.
15:07 masak even if it is not caught statically, right now it *has the wrong runtime behavior*.
15:07 pmichaud I can go with "wrong runtime behavior"
15:08 FROGGS would be funny if the quotes would be included :P
15:08 * TimToady frequently has wrong runtime behavior...
15:09 ajr_ joined #perl6
15:09 jnthn ooh, a pmichaud! :)
15:09 TimToady well, except lately, he hasn't been allowed to run at all, just walk gently
15:09 jnthn o/ pmichaud
15:09 jnthn Glad your summer contract was fun. :)
15:09 pmichaud jnthn: /o
15:09 pmichaud er, o/
15:09 pmichaud (I've even forgotten how to wave, it seems.)
15:10 TimToady it was just a freudian headache on one side of your head
15:10 masak ...but not how to salute!
15:10 jnthn pmichaud: Guess you won't be making YAPC::EU this year?
15:11 pmichaud when is yapc::eu ?
15:11 brrt sofia, bulgaria
15:11 masak *when*
15:11 jnthn That's where :P
15:11 pmichaud well, "where" is important also :)
15:11 jnthn 22nd :)
15:11 masak 22st - 24th
15:11 pmichaud oooooh
15:12 masak er, 22nd
15:12 jnthn st? :P
15:12 masak 22st - 24rd :)
15:12 pmichaud I'm pretty sure Perl 6 allows any of   st|nd|rd|th
15:12 masak hehe
15:12 pmichaud at least it used to :)
15:12 masak m: say :42umpteenth
15:12 camelia rakudo-moar 11afe1: OUTPUT«␤»
15:12 masak m: say (:42umpteenth)
15:12 camelia rakudo-moar 11afe1: OUTPUT«"umpteenth" => 42␤»
15:12 masak yep.
15:12 masak m: say (:42rd)
15:12 camelia rakudo-moar 11afe1: OUTPUT«"rd" => 42␤»
15:13 * TimToady isn't sure how to pronounce that one, or even if he wants to...
15:13 pmichaud holy cow!  roundtrip to sofia is only $1800
15:13 masak "forty-twoord"
15:14 masak pmichaud: ship it!
15:14 jnthn pmichaud: ooh :)
15:14 FROGGS pmichaud: and in October would be the APW - http://act.useperl.at/apw2014/talk/5565 and http://act.useperl.at/apw2014/talk/5566
15:14 dalek specs: 43ff895 | duff++ | S99-glossary.pod:
15:14 dalek specs: [S99] Add emptyish lambda and pointy block
15:14 dalek specs: review: https://github.com/perl6/specs/commit/43ff895139
15:14 jnthn pmichaud: Would be great to see you, if you can make it :)
15:14 ajr_ joined #perl6
15:14 masak +1
15:14 hoelzro morning #perl6
15:14 pmichaud I've been thinking I need a trip... I had been planning western US, but .... hrm
15:15 FROGGS hi hoelzro
15:15 hoelzro o/ FROGGS
15:15 jnthn pmichaud: I'll be there form 20th afternoon but leaving on the evening of the 24th, fwiw
15:15 PerlJam This seems useful to folks here: http://www.cs.cmu.edu/~aldr​ich/papers/ecoop14-tsls.pdf
15:15 pmichaud yes, that information helps
15:15 * jnthn has to commute to his autumn contract. :)
15:15 kaleem joined #perl6
15:16 pmichaud is there a hackathon-ish thingy?
15:16 jnthn (Thus the leaving on the evening)
15:16 jnthn No hackathon this time... The Austrian Perl Workshop in October has two days of glorious hackathon, though. :)
15:16 pmichaud yes, I've also got APW on my calendar
15:16 jnthn \o/
15:16 FROGGS yay
15:16 pmichaud not sure I'll be able to make that one, but it's been on my radar
15:17 TimToady we're planning to come to the APW, especially since we can't go to Sophia
15:17 pmichaud that makes me even more inclined to do APW, fwiw.  :)
15:17 pmichaud it's entirely possible for me to consider both
15:17 masak PerlJam: I'm on page two, and yes, it looks useful/interesting.
15:18 pmichaud if I had to choose between them, which is better?  ;-)
15:18 * TimToady had to cancel on 4 different events this summer :(
15:18 masak PerlJam: "A notation is important for what it leaves out." -- I like that.
15:18 PerlJam masak: aye, skimming it made little Perl6 dings go off in my head :)
15:18 FROGGS pmichaud: depends... it is like choosing between hackathons and talks...
15:18 * masak hugs TimToady
15:18 pmichaud TimToady: ick!
15:19 pmichaud I know how disappointing cancelling can be
15:19 pmichaud actually, "disappointing" is the wrong word.  "agonizing"
15:19 TimToady and one of those is my mom's 90th birthday party
15:19 PerlJam I'm sure some of the event attendees were disappointed
15:19 pmichaud 90th birthday      +1
15:19 pmichaud actually, +1 isn't enough.
15:20 pmichaud who is going to YAPC::EU ?
15:20 TimToady turns out you can't drive from here to Seattle without going up to 2000ft altitude, which is vorbotten
15:21 pmichaud TimToady: boat?
15:21 masak pmichaud: I'm going to YAPC::EU.
15:21 TimToady we investigated boats
15:21 FROGGS I'm not :o(
15:21 TimToady but my mom told me I wasn't allowed to come, because she would feel awful if I lost an eye just because of her birthday
15:22 FROGGS yeah...
15:23 TimToady and no scheduled or charterable boats around the bit of California that is too high
15:23 TimToady I could rent a canoe, and paddle 120 miles each way...
15:23 FROGGS hehe
15:24 TimToady but I don't want to be that far from doctors right now
15:24 FROGGS in theory...
15:24 pmichaud does US 101 go up too high?
15:24 TimToady that goes up to 2000 near Leggitt
15:24 masak solution is immediate: put a doctor in the canoe!
15:24 FROGGS and let him paddle!
15:24 TimToady also, it's not clear all the jostling would be good for my eye in any case
15:25 TimToady besides, a clumsy surgeon might whack me in the eye with the paddle
15:25 FROGGS *g*
15:25 ajr_ joined #perl6
15:25 TimToady then we'd have to bring along an anasthesiologist as well
15:26 TimToady *ane or *anae
15:26 * TimToady keeps forgetting his greek
15:26 pmichaud somewhere in here is a good "If the mountain won't come to Muhammad" quote.... :)
15:26 PerlJam pmichaud: funny, I was just thinking that
15:27 PerlJam TimToady: how does your mom feel about flying (or boats) ? :)
15:27 * TimToady pictures a guru sitting on top of a valley
15:27 FROGGS I might not want to travel much when I am 90
15:27 pmichaud "If the mountain won't come to Muhammad.... you'll put your eye out!"
15:28 TimToady she doesn't travel as well as she used to, but the main prolblem there is most of her relations are up in WA
15:28 pmichaud anyway, I'll seriously consider Sofia today.  I need to double-check my calendar and make sure I'm not forgetting something important
15:28 jnthn \o/
15:29 pmichaud otoh, it might actually be more productive for me to stay in TX and just dedicate the travel days to catching up on P6  :)
15:29 pmichaud but... Sofia
15:30 jnthn .oO( Make the wise choice... )
15:31 * TimToady chuckles at the phrase "catching up on P6"
15:31 TimToady at the moment #perl6 is generating frontlog faster than I can backlog...
15:34 masak TimToady: we miss you here in the frontlog! :D
15:35 * pmichaud looks at the YAPC::EU talks
15:35 * masak .oO( the frontlog is already here, it's just unevenly backlogged )
15:36 * pmichaud chuckles at "GOTO statement considered awesome"
15:36 masak mission accomplished :)
15:36 masak pmichaud: actually I'm sitting here and mapping out the talk right now.
15:37 carlin masak: do you get half-way through the talk and then jump to the end?
15:37 masak carlin: I see what you did there.
15:37 pmichaud carlin: one GOTO in the talk  wouldn't be awesome enough
15:40 * jnthn considers arriving with a huge "Structured programming FTW" banner :D
15:40 pmichaud You procedural guys crack me up.  :)
15:41 masak jnthn: spoiler alert: not gonna diss structured programming *per se*.
15:41 jnthn masak: Since when did protests have to be based on well-founded reasoning? :P
15:41 masak point.
15:44 pmichaud A less-than-awesome GOTO:  http://goput.it/gpx.jpg
15:44 masak :)
15:45 guru joined #perl6
15:52 FROGGS jnthn: it looks like the decont is there for 'if @a {...' but not for 'if !@a {...'
15:53 FROGGS jnthn: I guess I should take a look at the code-gen of if?
15:53 jnthn FROGGS: Or !
15:53 jnthn Is this NQP code?
15:53 FROGGS yes
15:54 jnthn Yeah. Now you've got it down to that, I can see the fail
15:54 FROGGS 'if @a {...' results in: decont; unless_o; goto
15:54 jnthn src/vm/moar/NQP/Ops.nqp:111..114
15:54 FROGGS 'if !@a {...' in: isfalse; goto or so
15:54 FROGGS k
15:57 FROGGS QAST::MASTOperations.add_cor​e_moarop_mapping('isfalse', 'isfalse', :decont(0));
15:57 FROGGS does that mean that the :decont(0) is not taken into account when we push the op directly?
15:57 jnthn Correct
15:57 FROGGS only by using nqp::isfalse
15:57 jnthn That only applies to the nqp => moarop mapper
15:57 ajr joined #perl6
15:57 FROGGS nice
16:02 * FROGGS tries his patch
16:04 ajr_ joined #perl6
16:04 japhb botsnack
16:04 yoleaux 09:38Z <timotimo> japhb: -v and echo "" | perl6-m will not pull in the setting, but an empty program will
16:06 japhb Gah, that's a pretty painful difference from loading the setting.  I thought jnthn++ mitigated most of that?  Or wait ... is there still the "iterating over every lexical after loading the setting kills much of the potential laziness" problem?
16:06 FROGGS dang, why doesn't it work?
16:06 jnthn japhb: Yes, there's still that problem.
16:06 japhb awww, dang.
16:08 jnthn In other news, async process spawning is making progress. :)
16:08 timotimo not most.
16:09 brrt joined #perl6
16:11 FROGGS ahh...
16:12 ajr_ joined #perl6
16:13 [Sno] joined #perl6
16:13 lizmat FWIW, on a cold machine: Files=912, Tests=32101, 170 wallclock secs ( 8.53 usr  3.80 sys + 1051.33 cusr 128.47 csys = 1192.13 CPU)
16:13 lizmat first time at 170 wallclock and < 1200 CPU
16:14 lizmat (cold as in not running the fan)
16:14 jnthn Cool!
16:15 lizmat including 20 grep Bool and grep Bool:D related tests
16:15 lizmat I just added
16:15 FROGGS it works \o/
16:15 jnthn FROGGS++
16:15 * lizmat hopes for a quick MOAR / NQP REVISION push
16:16 jnthn Well, I'll have reason to push in a bit, I think
16:16 jnthn But others are free to beet met do it :)
16:16 jnthn uh, beat
16:16 TimToady beets, yum
16:23 revdiablo joined #perl6
16:23 FROGGS wow: Stage parse      :  34.542
16:23 FROGGS I should shut down my browser more often :o)
16:27 dalek nqp: 5015755 | (Tobias Leich)++ | src/vm/moar/NQP/Ops.nqp:
16:27 dalek nqp: emit a decont before isfalse in code like: !@a
16:27 dalek nqp:
16:27 dalek nqp: This led to a nasty (and annoying) bug where the NFA did not get all
16:27 dalek nqp: fates and took the wrong route through a grammar...
16:27 dalek nqp: review: https://github.com/perl6/nqp/commit/5015755ac3
16:27 timotimo FROGGS: wow.
16:27 FROGGS timotimo: yeah, much wow
16:27 jnthn That one ended up a layer or two down the stack further than I expected...
16:28 chenryn joined #perl6
16:29 dalek nqp: f29fffc | (Tobias Leich)++ | src/QRegex/NFA.nqp:
16:29 dalek nqp: reorder NFA.mergesubrule to save an existskey and isnull call
16:29 dalek nqp: review: https://github.com/perl6/nqp/commit/f29fffc869
16:32 bjz_ joined #perl6
16:41 masak .u ‐
16:41 yoleaux U+2010 HYPHEN [Pd] (‐)
16:46 lizmat first jitted spectest: Files=912, Tests=32101, 179 wallclock secs ( 8.69 usr  3.90 sys + 1108.18 cusr 137.71 csys = 1258.48 CPU)
16:46 lizmat slightly slower / more CPU than without
16:47 moritz oh, fun. Decommute took about an hour longer than usual
16:47 FROGGS perl6-m -Ilib t/spec/base/cond.v5
16:47 FROGGS ===SORRY!===
16:47 FROGGS Unknown operator precedence specification "%terminator" at line 7, near "\n\n$x = '0'"
16:47 FROGGS hmpf, that's new...
16:48 jnthn moritz: ugh...that's so...un-German!
16:48 moritz because some idiot football fan thought it was necessary to throw a fire extinguisher through the front window of a subway
16:48 moritz and that resulted in a full stop to subway traffic along that line, which happened to be mine
16:48 jnthn Fail
16:49 moritz and the alternative bus meandered slowly through all the small villages in the vincinity
16:49 jeffreykegler joined #perl6
16:50 jeffreykegler TimToady: answering a question Larry Wall asked at Andrew Rodland's Orlando YAPC Marpa talk --
16:50 jeffreykegler "What does 'acceptable' mean in a Marpa "Longest *Acceptable* Token Match"?
16:51 jeffreykegler "Acceptable" has a very precise definition.
16:51 jeffreykegler If, with a token added, the input so far is a prefix of some sentence in the language, a token is acceptable.
16:51 TimToady the non-declarative part of an alternative can reject the alternative, and the LTM engine must backtrack to the next best LTM alternative
16:52 jeffreykegler No backtracking -- it's predictive
16:52 sivoais joined #perl6
16:52 jeffreykegler In other words, a token is acceptable if there is still some possibility of a successful parse.
16:52 TimToady well, I'm talking about P6 here :)
16:52 jeffreykegler OK,
16:52 jeffreykegler The equivalent in other cases would typically use backtracking.
16:52 anaeem1_ joined #perl6
16:53 jeffreykegler Marpa uses full knowledge of the BNF to do this -- AFAIK, it's the first parser to allow a determination like this on the fly.
16:53 jeffreykegler Andrew basically got this right, but I thought I'd pass on the more precise answer.
16:53 jeffreykegler The key is that this (to a extent) erases the lexer/parser boundary.
16:54 * pmichaud clones latest rakudo repo, builds
16:54 jeffreykegler The lexer is able to use the context that the parser knows.
16:55 jeffreykegler And the parser is fully aware of its BNF context -- rules, how far recognized, which symbols expected.
16:55 lizmat yup: spectest with MVM_SPESH_DISABLE=1: Files=912, Tests=32101, 168 wallclock secs ( 8.39 usr  3.75 sys + 1044.75 cusr 111.48 csys = 1168.37 CPU)
16:55 FROGGS jnthn: the problem I see in v5 might happen due to lazy deserialization...
16:55 FROGGS jnthn: this block might cause problems: https://github.com/rakudo-p5/v5/blob/n​qp_to_perl6/src/Perl5/Grammar.pm#L886
16:56 jnthn FROGGS: There was an init.t regression, so that's plausible.
16:56 FROGGS ahh
16:56 FROGGS :o)
16:56 jeffreykegler If you'd lke I can give more details of the mechanism in the lexer -- it's all done non-deterministically, so it's not the usual thing.
16:57 jnthn lizmat: Programs that exercise a load of different code paths a small number of times - which is the point of the spectests - tend to be hard for any kind of optimizer to overcome.
16:57 lizmat yup, I understand why  :-)
16:57 lizmat just wanted to see this in numbers
16:57 jnthn The best we can hope for there is tweaking thresholds :)
16:58 TimToady jeffreykegler: sorry, a bit distracted by real life at the moment...
16:58 chenryn joined #perl6
16:59 jeffreykegler LExing will wait. :-)  I hope all is well
16:59 TimToady but it would be an interesting experiment at some point to see how well Marpa parses Perl 6
17:00 jeffreykegler I've often wondered about that, but frankly was waiting for an expression of interest.
17:00 * TimToady is always interested in too many things :)
17:00 jeffreykegler I'm reading Bertrand Russell and he says the key to a happy old age is widening your interests. :-)
17:01 TimToady it might be something that one of our up-and-coming whipersnappers could be delegated
17:01 * TimToady is supposed to be writing a book, among other things...
17:01 jeffreykegler Exactly my thought.
17:02 TimToady at the moment I'm a bit sidelined by a bum eye that I had emergency surgery on last month
17:02 jeffreykegler Perhaps a volunteer on your side and I try to find one on my side.  I'd be available to help the Marpa guy.
17:02 jeffreykegler Ouch!  I didn't know.  Haven't been following the Perl6 IRC as much as in the past.
17:03 TimToady yeah, had to cancel all travel this summer, basically
17:03 jeffreykegler Can you see at all from the burned eye.
17:03 jeffreykegler I noticed that in my backlogging just before I came on.
17:03 TimToady some, and getting better as the bubble inside gets reabsorbed (triple retinal detachment)
17:04 TimToady and I think your font doesn't distinguish m and rn very well :)
17:04 jeffreykegler Best of luck.  Your eyesight is a major resource for the programming community.
17:04 Rotwang joined #perl6
17:05 TimToady well, still have one good eye to keep the bus number in check :)
17:05 moritz not only for the programming community... I guess it helps a lot in real life too :-)
17:05 huf if it didnt, we wouldnt have lights in the loo...
17:06 TimToady or on the busses
17:08 jeffreykegler I'll ask on my own IRC channel if anyone wants to take on a Perl6 parser.  I guess we in effect have already asked here.
17:08 cognome joined #perl6
17:10 TimToady errands &
17:10 cognome_ joined #perl6
17:11 jeffreykegler TimToady: Wish you a speedy recovery with the eye.
17:16 cognominal joined #perl6
17:22 * psch thinks 2010 masak confused positional and named arguments in RT #77744
17:22 * synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=77744
17:22 psch the &arity thing reported below is because slurpies don't get counted and assuming puts slurpies into the derived sub
17:23 psch i think we could get a more informational Signature from the lhs' signature, but i don't have a clear way to get that working in mind
17:24 treehug88 joined #perl6
17:29 dalek nqp: 4cf7f13 | jnthn++ | / (2 files):
17:29 dalek nqp: Bump MOAR_REVISION; map async proc bits.
17:29 dalek nqp: review: https://github.com/perl6/nqp/commit/4cf7f13638
17:29 masak psch: back in 2010 there was more confusion in Perl 6 between nameds and positionals.
17:30 moritz m: say (sub (*@a) { }).count
17:30 camelia rakudo-moar 11afe1: OUTPUT«Inf␤»
17:30 psch m: say (sub (*@a) { }).arity
17:30 camelia rakudo-moar 11afe1: OUTPUT«0␤»
17:30 moritz arity only counts required positionals; .count includes optionals too
17:31 moritz and counts slurpies as Inf, as you can see
17:31 psch masak: i'm glad it's not so confusing anymore, i'd probably have troubles following it :)
17:32 psch moritz: but that still breaks &assuming, doesn't it?
17:32 psch m: sub f($x, $y) { }; my &g = &f.assuming(1); &g.arity.say
17:32 camelia rakudo-moar 11afe1: OUTPUT«0␤»
17:32 moritz psch: &assuming doesn't contruct a proper signature
17:33 moritz psch: it's just a dumb proxy that adds the assumed argument(s)
17:33 dalek rakudo/nom: 7cc0d7d | jnthn++ | / (3 files):
17:33 dalek rakudo/nom: Add Proc::Async for Moar. Bumps NQP_REVISION.
17:33 dalek rakudo/nom:
17:33 dalek rakudo/nom: Enables asynchronous spawning of a process, tapping of stdout or
17:33 dalek rakudo/nom: stderr (or both) by bytes or chars, and provides a promise for
17:33 dalek rakudo/nom: process completion that, if kept, gives a Proc::Status. Todo is
17:33 dalek rakudo/nom: killing the process and async writes to stdin of that process.
17:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7cc0d7dd6a
17:36 pmurias joined #perl6
17:36 pmurias hi
17:36 Rotwang joined #perl6
17:36 jnthn o/ pmurias
17:37 psch moritz: does that mean that current assuming is only superficially to spec? i'm not sure if what it does counts as "partial binding of a set of arguments", as per S06:3070
17:37 synopsebot Link: http://perlcabal.org/syn/S06.html#line_3070
17:38 psch ...but then, the synopses are transitional until roast checks for everything i think?
17:38 dalek rakudo/nom: e822cca | (Elizabeth Mattijsen)++ | README.md:
17:38 dalek rakudo/nom: Mention the use of --moar-option=--enable-jit
17:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e822ccab88
17:39 gfldex joined #perl6
17:40 pyrimidine joined #perl6
17:40 pmurias jnthn: what does immediate_static mean?
17:42 pyrimidine timotimo: thanks for pointers on the bioinformatics grammar question on perl6-users
17:43 jeffreykegler left #perl6
17:44 * lizmat is confused by S29:332
17:44 * synopsebot Link: http://perlcabal.org/syn/S29.html#line_332
17:45 pyrimidine still trying to work out a best solution, not sure how feasible it is to expect grammars to act on streaming data or large files
17:45 lizmat "used to take a first argument"  but only * form is deprecated ?
17:45 lizmat so, can we get rid of *@protos in the signature ?
17:45 lizmat or does it still serve a purpose?
17:46 lizmat afk for bit&
17:47 japhb lizmat: re: e822cca , the text and the example command don't match (=-- versus =)
17:48 pmurias jnthn: when used as a QAST::Block.blocktype?
17:52 pyrimidine left #perl6
17:52 pyrimidine joined #perl6
17:53 FROGGS pyrimidine: by large files you mean like really really large, right?
17:53 pyrimidine FROGGS: yep
17:54 pyrimidine possibly 100’s of GB
17:54 FROGGS eww
17:54 pyrimidine yep
17:55 FROGGS I would probably use a grammar on chunks, rather than fetching lines and match with regexes...
17:56 FROGGS because loping over lines is slower than matching lines within a grammar
17:56 pyrimidine FROGGS: that’s in line with what I’m thinking; just have to decide on the size of the chunks
17:57 FROGGS I'd try low with 100M, if that does not explode then increase it to 250M or 500M
17:58 virtualsue joined #perl6
17:59 pyrimidine FROGGS: yep; that could be altered based on memory available (not unusual for us to have access to machines with 100’s of G available)
17:59 chenryn joined #perl6
18:01 japhb Ah, the joys of bioinformatics hardware ...
18:01 pyrimidine japhb: :)
18:02 pyrimidine japhb: I’m not sure the word ‘joy’ applies in many cases
18:03 kaleem joined #perl6
18:03 pyrimidine cool research but a LOT of data munging to get things into a form that’s useful
18:11 ventica joined #perl6
18:14 FROGGS jnthn: do you think the init.t regression is solvable by me? because I cannot go back to a good revision easily :o(
18:18 pmichaud jnthn/masak : where are you staying (hotel) at YAPC::EU ?
18:19 nwc10 hi pmichaud
18:19 * nwc10 doesn't know the answer to that question
18:20 pmichaud nwc10:  hi!   o/
18:32 molaf_ joined #perl6
18:34 * japhb notes that the next YAPC::NA is in yet another hot city and wonders if that's a conspiracy of the YAPC folk.
18:36 itz cheap, hot city a few hours flight within Europe works for me :)
18:37 itz hopefully they won't be at war in 9 months unlike UA
18:37 timotimo pyrimidine: you're welcome :)
18:37 nwc10 iceland has volcanoes - will they do?
18:43 * japhb hasn't been near an active volcano since childhood
18:43 japhb Need to go do that again, methinks.
18:44 * japhb still vividly remembers getting hit with the Mt. St. Helens ash cloud
18:44 jnthn pmurias: The _static means that it doesn't need a closure of it taking in order to have correctness.
18:44 japhb Memories of Hawaiian volcanoes are a little fuzzier, though.
18:45 jnthn lizmat: No, *@protos is still needed
18:49 Sqirrel joined #perl6
18:57 mj41 joined #perl6
19:00 chenryn joined #perl6
19:02 jdurand_ joined #perl6
19:07 ventica2 joined #perl6
19:13 SevenWolf joined #perl6
19:15 guru joined #perl6
19:16 kurahaupo joined #perl6
19:16 FROGGS[mobile] joined #perl6
19:18 FROGGS[mobile] jnthn: do you think the init.t fails are easy to solve?
19:19 jdurand_ I would like to have, if possible, a BNF view of perl6 grammar. Would you mind to tell what are the best starting blocks ? I am thinking to https://github.com/perl6/std/blob/master/STD.pm6 or to synopses... Thx
19:20 jnthn FROGGS[mobile]: My first attempt to figure out what's going on didn't nail them...
19:20 jnthn FROGGS[mobile]: In your particular case, what happens if you comment out the INIT bit and just have those things run in the grammar body?
19:21 FROGGS[mobile] I can test that in a bit...
19:21 jeffreykegler joined #perl6
19:23 jeffreykegler TimToady: jdurand (Jean-Damien) is one of Marpa's power users.  He's very generously agreed to look into a Marpa-powered Perl 6 parser.
19:24 * jeffreykegler referring to http://irclog.perlgeek.de/​perl6/2014-08-11#i_9168175
19:24 jeffreykegler We think the first step is to get a Perl 6 BNF, the parsing of which would suffice as proof of concept.
19:25 dalek rakudo/nom: 0c42c11 | (Elizabeth Mattijsen)++ | README.md:
19:25 dalek rakudo/nom: Proper --moar-option, spotted by japhb++
19:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0c42c11033
19:26 PerlJam jeffreykegler,jdurand_: depends on what you mean by "BNF view" of the grammar.  To my mind, STD.pm6 is BNF-ish (and more)
19:26 jeffreykegler This is on the assumption that such a thing as a reasonable Perl 6 BNF can exist -- Marpa is BNF-driven, so that's our natural starting point.
19:28 jdurand_ PerlJam, jeffreykegler: fine with me is STD.pm6 is the correct starting point - the goal is to have Marpa's BNF of perl6 grammar
19:28 jdurand_ "if STD.pm6"
19:29 PerlJam It's the "(and more)"  part I'm not sure if you'll have trouble with :)
19:29 jeffreykegler Perljam: we'd need to pull out, as our starting point, just the BNF.  Std.pm contains lexical considerations.  And the traditional Perl 6 parser is *not* a general BNF parser, so that Std.pm contains extra logic to make BNF work with Perl 6's traditional parser, logic Marpa will not need.
19:31 jeffreykegler Perljam: Marpa can do custom hacks, but it's about leveraging the power of general BNF parsing.  Left parsers need the hacks to figure out things that Marpa can figure out from the BNF.
19:32 jeffreykegler Jean-Demian and I have used Marpa for real life parsers (C language, Javascript), which contain non-BNF gotcha's.  These turn out to be surprisingly few.
19:32 raiph joined #perl6
19:33 lizmat jnthn, TimToady: if *@protos is still needed in .bless, maybe the paragraph at S29:332 needs some clarification?
19:33 synopsebot Link: http://perlcabal.org/syn/S29.html#line_332
19:33 pmichaud masak: you aren't the only one doing st|nd|rd|th differently:  http://trendspotter.toptentalk.c​om/youre-doing-it-wrong-trolls-7
19:33 jnthn lizmat: I didn't spot your confusion with it, tbh... :)
19:33 PerlJam jdurand_, jeffreykegler: well, if you can read or figure out the Perl 6 bits in STD.pm6, then that is indeed where I would start if I were you.
19:34 rurban joined #perl6
19:34 rurban Whow! moar-jit is fast
19:35 dalek specs: 2338ed1 | (Elizabeth Mattijsen)++ | S29-functions.pod:
19:35 dalek specs: Attempt at clarification 1st parameter to .bless
19:35 dalek specs: review: https://github.com/perl6/specs/commit/2338ed17f5
19:35 lizmat rurban: how can you tell?
19:35 rurban Now -O3 would be nice to be usable
19:36 rurban perl Configure.pl --gen-moar --moar-option=--enable-jit --gen-nqp --backends=moar && m -s -j4 && m spectest
19:37 FROGGS[mobile] the JIT does not help there yet
19:37 treehug88 joined #perl6
19:37 chenryn joined #perl6
19:37 FROGGS[mobile] the for loop minibench shows it better :o)
19:38 rurban it's not running the jit yet, it it's not fast enough yet?
19:38 jdurand_ PerlJam, jeffreykegler: Ok, so I propose to try to figure out from STD6.pm - I you don't mind I'll come back if I have troubles with it
19:38 rurban Stage mast       :  11.855 looks pretty fast to me
19:38 FROGGS[mobile] rurban: the JIT makes many things slower atm
19:39 FROGGS[mobile] rurban: run with JIT disabled an see
19:39 rurban ok
19:39 PerlJam jdurand_: #perl6 is always happy to answer Perl 6 questions :)
19:39 rurban I had 30sec for Stage mast usually
19:39 jnthn rurban: That's partly just more general improvements.
19:39 FROGGS[mobile] MVM_JIT_DISABLE=1 or so
19:40 rurban oh bad
19:40 jnthn Yeah, sucks when things get better :P
19:41 rurban I expected it at least 2x faster with the jit, comparable to parrot
19:41 jnthn I think generally, we need to tweak the thresholds for when to spend time JITting and when to just interpret.
19:41 jeffreykegler left #perl6
19:41 jdurand_ PerlJam: ok - many thx - will keep you informed - have a nice day & AFK -;
19:42 PerlJam jdurand_: good luck!
19:44 dalek tablets: 19430b6 | (Herbert Breunung)++ | docs/appendix-g-glossary.txt:
19:44 dalek tablets: explaining better strings and action methods
19:44 dalek tablets: review: https://github.com/perl6/tablets/commit/19430b6945
19:45 rurban I see, only 1 sec faster (~10%) with the jit, not 200%
19:45 FROGGS rurban: the JIT is still at the "make it work" stage
19:47 FROGGS jnthn: it working outside of the INIT :o) yay :o)
19:47 FROGGS that means I can continue hacking
19:47 jnthn yay :)
20:04 rurban1 joined #perl6
20:14 masak lizmat: pretty sure S29:332 is a fossil.
20:14 synopsebot Link: http://perlcabal.org/syn/S29.html#line_332
20:15 masak pmichaud: we're staying at the http://hotelexposofia.com/
20:15 lizmat masak: jnthn indicated earlier that the *@protos are still needed
20:15 masak lizmat: yes, but that's unrelated to the repr, which is, um, depr.
20:16 masak pmichaud: better book soon -- they made it seem like they were running out of rooms.
20:16 lizmat so what's the use of the *@protos then?
20:16 masak pmichaud: we just emailed them at reservations@hotelexposofia.com
20:16 masak lizmat: that's the thing where you give superclasses attribute values.
20:17 brrt joined #perl6
20:17 masak lizmat: like Derviving.new( Base { :foo(42) } )
20:17 masak I *think* that's the syntax.
20:18 masak with or sans the space after 'Base'.
20:18 Mouq joined #perl6
20:18 masak I've never used it in actual code.
20:22 jnap1 joined #perl6
20:23 kurahaupo joined #perl6
20:24 masak m: class Animal { has $.blood; has $.legs }; class Dog is Animal { has $.name }; say .name, " ", .blood, " ", .legs given my $pet = Dog.new( :name<Fido>, Animal{ :blood<warm>, :legs(4) } ) # example from S12:871
20:24 synopsebot Link: http://perlcabal.org/syn/S12.html#line_871
20:24 camelia rakudo-moar e822cc: OUTPUT«Default constructor for 'Dog' only takes named arguments␤  in method new at src/gen/m-CORE.setting:818␤  in block  at /tmp/MrXZ5CxSrj:1␤␤»
20:24 masak oh, that's a pity.
20:25 masak Rakudo is not to spec on this one.
20:27 masak m: class Animal { has $.blood; has $.legs }; class Dog is Animal { has $.name }; say .name, " ", .blood, " ", .legs given my $pet = Dog.new( :name<Fido>, :blood<warm>, :legs(4) ) # most of the time, you can to this, though
20:27 camelia rakudo-moar e822cc: OUTPUT«Fido warm 4␤»
20:27 masak class inheritance is overrated ;)
20:28 virtualsue joined #perl6
20:28 ventica2 joined #perl6
20:30 jnthn masak: Ain't it just... :)
20:35 lizmat S15:93 and S29:372 seem to contradict each other
20:35 synopsebot Link: http://perlcabal.org/syn/S15.html#line_93
20:36 lizmat graphemes consisting of multiple code points without a composed codepoint are < 0 in the first, and larger than 0x10ffff in S29:372
20:36 synopsebot Link: http://perlcabal.org/syn/S29.html#line_372
20:37 lizmat I guess the <0 interpretation is the correct one?
20:38 chenryn joined #perl6
20:39 lue lizmat: yeah, I recall TimToady telling me that negative numbers were better than hoping Unicode will never change their policy on the upper bound.
20:40 pecastro joined #perl6
20:41 cooper__ joined #perl6
20:41 * jnthn has it as negative too
20:41 * masak has it that way three
20:42 dalek specs: aa6f243 | (Elizabeth Mattijsen)++ | S29-functions.pod:
20:42 dalek specs: Unprecomposed graphemes are < 0, not > 0x10ffff
20:42 dalek specs: review: https://github.com/perl6/specs/commit/aa6f2438d0
20:44 lue Also, a negative sign acts as a nice visual cue for "is this Unicode?" :)
20:53 kurahaupo isn't 0x10ffff the limit of what can be represented in UTF16 (with surrogates)? While it's true that the unicode consortium *could* increase the limit, it'd require every Java installation to be fixed first
20:56 lue kurahaupo: yep, but I wouldn't totally discount the possibility that someday the consortium gets to its senses and invents a 16-bit version of UTF-8, like they should've in the first place :)
21:01 lizmat r: class A { method a() is export { say "a" } }; A.new.a   # is export on a method, what does it mean ?
21:01 camelia rakudo-{parrot,jvm,moar} 0c42c1: OUTPUT«a␤»
21:02 cognome joined #perl6
21:02 PerlJam lizmat: S12:1383
21:02 synopsebot Link: http://perlcabal.org/syn/S12.html#line_1383
21:10 kurahaupo lue: a bit hard to see where they'd put it. perhaps the upper surrogate block could be cut in half, then the upper of that cut again, etc
21:13 lue kurahaupo: yeah, it would be interesting to pull off. In any case, you can think of it as using all 32-bits numbers that are ≥ 0x8000_0000 if you like :P (at least I think the idea is to use 32-bit numbers...)
21:14 [Coke] Anyone here going to the dancer con?
21:14 [Coke] it's a 2-3 hour drive for me, would definitely show up to hack.
21:17 dalek specs: a801495 | (Elizabeth Mattijsen)++ | S11-modules.pod:
21:17 dalek specs: Hint a bit at "is export" for methods
21:17 dalek specs: review: https://github.com/perl6/specs/commit/a8014958d3
21:17 dalek specs: ce07358 | (Elizabeth Mattijsen)++ | S29-functions.pod:
21:17 dalek specs: Some cleanup/additions to S29
21:17 dalek specs: review: https://github.com/perl6/specs/commit/ce07358d1a
21:17 rurban1 joined #perl6
21:17 [Coke] lizmat: any feedback on the "is cached" test that's trying to verify that the caching is happening?
21:18 [Coke] I imagine the best thing is to fix rakudo-jvm so it really does cache and leave the test as a hopeful one.
21:21 lizmat hmmm... I wasn't aware it doesn't work on jvm
21:24 lizmat no, I have no feedback  :-(
21:25 dmol joined #perl6
21:25 lizmat on another note: S29:234  Shouldn't that be called EVALfile or EVALFILE rather than evalfile ?
21:25 synopsebot Link: http://perlcabal.org/syn/S29.html#line_234
21:26 lizmat also: this seems like LHF
21:30 PerlJam why would we even have evalfile instead of using something like EVAL(slurp($filename))  ?
21:31 lue EVALFILE is less awkward than EVALfile to me
21:31 jnthn EVALFILE feels a bit low-wattage...
21:32 jnthn Given EVAL slurp $file is so easy :)
21:32 PerlJam lue: they both seem awkward to me :)
21:33 lue jnthn: agreed. Even better, one could do  sub EVALFILE($fn) { EVAL slurp $fn }  if they need it :)
21:35 PerlJam The only advantage that I can currently imagine to having EVAL-file($filename) would be if it *didn't* slurp, but rather read the file piece-wise to limit the amount of RAM needed all at once.
21:37 japhb There's another benefit: Being able to report errors as being in the actual file, rather than inside a string.
21:37 PerlJam (oh, and EVAL-file felt quite natural for me to type just then.  If it's going to stick around, I prefer that name :-)
21:37 PerlJam japhb++ excellent point.
21:37 lue PerlJam: this'd be the one place where you can't really do that, unless you want to force people to rearrange their declarations.
21:37 dalek specs: 8b6d0bb | (Elizabeth Mattijsen)++ | S29-functions.pod:
21:37 dalek specs: Elaborate a bit on exit, END blocks and threads
21:37 dalek specs: review: https://github.com/perl6/specs/commit/8b6d0bb3fe
21:38 PerlJam lue: eh?  With our handy, future, streaming grammars, we can do anything :)
21:39 chenryn joined #perl6
21:43 lizmat also: how different is evalfile from require ?
21:44 lizmat evalfile feels a bit like a fossil
21:46 PerlJam does require let you twiddle which language is being parsed?
21:48 pyrimidine left #perl6
21:49 dalek specs: b3fceb8 | (Elizabeth Mattijsen)++ | S29-functions.pod:
21:49 dalek specs: lock() is now Lock.new and its methods
21:49 dalek specs: review: https://github.com/perl6/specs/commit/b3fceb8cf3
21:51 lizmat PerlJam: no, so that could be a use case for 'evalfile' ?
21:51 lizmat (or whatever we call it)
21:52 PerlJam could be.
22:05 masak 'night, #perl6
22:06 lue ♞ masak o/
22:06 masak ♘, lue
22:06 lue :)
22:07 lizmat night masak
22:12 ventica2 joined #perl6
22:18 * lizmat gets some sleep&
22:20 lue ♞ lizmat o/
22:21 brrt o/ all
22:21 brrt left #perl6
22:22 treehug88 joined #perl6
22:40 chenryn joined #perl6
22:42 raiph joined #perl6
22:52 mr-foobar joined #perl6
22:55 mr-foobar joined #perl6
23:19 BenGoldberg joined #perl6
23:40 chenryn joined #perl6
23:49 araujo joined #perl6
23:52 rurban1 joined #perl6
23:55 xenoterracide joined #perl6

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

Perl 6 | Reference Documentation | Rakudo