Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-12-17

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 * jnthn hopes TimToady++ agrees. ;)
00:01 jnthn Time for some sleep...'night
00:10 lizmat joined #perl6
00:14 woolfy joined #perl6
00:18 erkan joined #perl6
00:35 jack_rabbit joined #perl6
00:41 konsolebox joined #perl6
00:49 KCL_ joined #perl6
00:52 japhb bartolin, lizmat: thanks for the explanation of the NQPMu issue, though it sounds like r-j and r-p are the things that actually need the fix in the longer term.
00:57 grondilu joined #perl6
00:58 erkan joined #perl6
01:18 raiph joined #perl6
01:21 atroxaper joined #perl6
01:28 doublelel joined #perl6
01:39 erkan joined #perl6
01:41 raiph joined #perl6
01:44 dayangkun joined #perl6
01:49 KCL_ joined #perl6
02:10 KCL_ joined #perl6
02:20 rmgk joined #perl6
02:22 erkan joined #perl6
02:35 doublelel joined #perl6
02:58 ninjazach joined #perl6
03:00 atroxaper joined #perl6
03:03 erkan joined #perl6
03:03 noganex_ joined #perl6
03:04 konsolebox joined #perl6
03:10 Mso150_y_a joined #perl6
03:15 KCL_ joined #perl6
03:17 KCL joined #perl6
03:21 aborazmeh joined #perl6
03:25 xinming joined #perl6
03:28 nine joined #perl6
03:31 davido__ joined #perl6
03:38 telex joined #perl6
03:46 erkan joined #perl6
03:46 erkan joined #perl6
03:46 tinyblak joined #perl6
04:02 dalek rakudo/nom: 42e700b | moritz_++ | docs/ChangeLog:
04:02 dalek rakudo/nom: Changelog: mention a few changes
04:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/42e700b90b
04:07 grondilu left #perl6
04:19 erkan joined #perl6
04:24 atroxaper joined #perl6
04:35 kurahaupo1 joined #perl6
04:56 btyler joined #perl6
04:56 jnthn joined #perl6
04:57 Util joined #perl6
04:58 dalek rakudo/nom: 31e6460 | moritz++ | docs/ChangeLog:
04:58 dalek rakudo/nom: mention DIVIDE_NUMBERS optimizations in changelog
04:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/31e6460421
04:58 dalek rakudo/nom: c856b81 | moritz++ | CREDITS:
04:58 dalek rakudo/nom: update my CREDITS entry
04:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c856b81420
05:00 pmichaud joined #perl6
05:01 Grrrr joined #perl6
05:06 erkan joined #perl6
05:07 oetiker joined #perl6
05:11 oetiker joined #perl6
05:14 oetiker joined #perl6
05:20 retupmoca joined #perl6
05:21 erkan joined #perl6
05:39 kaare_ joined #perl6
05:43 paulg joined #perl6
05:46 paulg left #perl6
05:51 ninjazach joined #perl6
06:09 erkan joined #perl6
06:10 erkan joined #perl6
06:10 hekmek joined #perl6
06:29 jack_rabbit joined #perl6
06:51 Alina-malina joined #perl6
06:52 rindolf joined #perl6
06:56 nige joined #perl6
07:06 anaeem1 joined #perl6
07:07 anaeem1_ joined #perl6
07:13 konsolebox joined #perl6
07:19 rurban joined #perl6
07:30 erkan joined #perl6
07:44 Alina-malina joined #perl6
07:49 fhelmberger joined #perl6
07:53 atroxaper joined #perl6
08:01 denis_boyun joined #perl6
08:07 yakudza joined #perl6
08:08 anaeem1 joined #perl6
08:12 lue joined #perl6
08:17 kaleem joined #perl6
08:17 moritz good morning
08:17 rindolf moritz: guten tag.
08:18 rindolf moritz: sup?
08:18 moritz RT #123445: now we're at covariant vs. contravariant type checking
08:18 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=123445
08:23 bjz joined #perl6
08:23 darutoko joined #perl6
08:26 hekmek joined #perl6
08:27 mathw o/
08:30 mathw I don't follow
08:30 moritz mathw: you don't follow what?
08:30 mathw that RT
08:31 mathw oh wait
08:31 mathw maybe I do
08:31 mathw because I'm sourcing $value from the wrong place, it's a parameter
08:31 mathw so could in theory be inferred that it must be a Str because of its callsite
08:32 moritz no
08:32 mathw that doesn't seem entirely consistent with how Perl 6 behaves though
08:32 moritz the thing is, when you write   sub foo(Str $x) { }, &foo must get a Str, or a subtype thereof, as argument
08:32 moritz that's called covariant type checking
08:33 moritz but for a callback, what you need to know is 'can I call it with an argument of type Str'?
08:33 mathw oh right
08:33 mathw so I'm thinking backwards
08:33 mathw you can't look at that and say "yes that'll work with a Str"
08:33 moritz so the callback thingy must accept Str or something wider (not something more narrow)
08:33 zakharyas joined #perl6
08:33 mathw contravariant
08:33 moritz that's contravariant type checking
08:33 moritz right
08:35 mathw and looking at the outside of a random pointy block doesn't tell you what's going to happen if you give it a Str
08:35 mathw and thus you can't say it typechecks
08:35 mathw because you just don't know
08:37 mathw static type inference is not the same as what Perl 6 is doing with type annotations
08:38 rurban joined #perl6
08:39 mathw and a type inferer would be looking inside the block to figure out what the parameter really is anyway
08:39 mathw okay I get it now
08:39 mathw in a morning-brain sort of way
08:39 mathw now I want to write more Perl 6
08:40 moritz :-)
08:40 rurban lizmat: parrot-6.11.0 problems with rakudo confirmed. my assumption is nqp for now.
08:41 sqirrel joined #perl6
08:44 erkan joined #perl6
08:48 Mso150_y_a joined #perl6
08:49 gfldex joined #perl6
08:52 denis_boyun joined #perl6
08:54 kaleem joined #perl6
08:58 erkan joined #perl6
09:07 rurban joined #perl6
09:12 [Sno] joined #perl6
09:14 kaleem joined #perl6
09:17 mvuets joined #perl6
09:17 brrt joined #perl6
09:21 brrt uhm, just a question
09:21 brrt am i supposed to have finished the perl6advent blogspot for tomorrow, today?
09:21 brrt (i'm guessing yes :-))
09:22 moritz brrt: that would be preferable, yes
09:22 moritz brrt: and wordpress allows you to schedule a post, so when you're done, schedule the post for midnight
09:30 brrt okok
09:30 brrt i'll try
09:37 kaleem_ joined #perl6
09:48 dakkar joined #perl6
09:53 virtualsue joined #perl6
09:54 PZt joined #perl6
09:56 erkan joined #perl6
09:56 erkan joined #perl6
09:56 ptc_p6 joined #perl6
09:58 Mso150_y_a joined #perl6
10:01 FROGGS joined #perl6
10:08 tinyblak joined #perl6
10:12 tinyblak_ joined #perl6
10:15 xinming joined #perl6
10:17 anaeem1__ joined #perl6
10:23 abraxxa joined #perl6
10:52 anaeem1_ joined #perl6
10:58 atroxaper joined #perl6
11:01 erkan joined #perl6
11:06 lumimies joined #perl6
11:06 tinyblak joined #perl6
11:15 R0Z joined #perl6
11:21 erdic joined #perl6
11:22 rurban1 joined #perl6
11:23 anaeem1 joined #perl6
11:24 anaeem1__ joined #perl6
11:28 pecastro joined #perl6
11:29 tinyblak joined #perl6
11:36 erkan joined #perl6
11:40 anaeem1 joined #perl6
11:41 tinyblak_ joined #perl6
11:48 rurban working on an updated nqp-p, no qrpa anymore and various more updates
11:52 mvuets joined #perl6
11:56 FROGGS rurban: we can bump to latest parrot with out current nqp, right?
12:04 ptc_p6 joined #perl6
12:04 arnsholt I think there were some problems with the latest release
12:09 FROGGS :o/
12:15 masak afty, #perl6
12:17 pecastro joined #perl6
12:25 atroxaper joined #perl6
12:27 kaleem joined #perl6
12:28 lumimies masak: About your placeholders post, would parameterized blocks work better? Like Q.codeToNode(-> $x, $y { ($x, $y) = $y, $x }, $a, $b)
12:30 [particle]1 joined #perl6
12:31 Sir_Ragnarok joined #perl6
12:32 kaleem_ joined #perl6
12:38 BenGoldberg joined #perl6
12:42 atroxaper joined #perl6
12:45 BenGoldberg joined #perl6
12:48 ninjazach joined #perl6
12:49 masak lumimies: no, they'd also effectively declare local variables.
12:50 masak moritz: I'm afraid you're terribly confuzzled in your use of "covariant" and "contravariant".
12:50 moritz masak: am I?
12:50 masak first off, it's functors that are covariant/contravariant, not typing.
12:50 masak but fair enough, as long as we know that we can talk about the codomains of functors as being co/contravariant.
12:51 tinyblak joined #perl6
12:51 masak secondly and more importantly, parameter passing/lambda taking is *contra*variant because T <: S => f(S) <: f(T)
12:51 masak analogously, making a more *general* assumption in a theorem makes the theorem more *specific*.
12:52 vendethiel (which means the return type is covariant)
12:52 masak also, function application being contravariant is the reason *everyone* has trouble with left/right when they compose functions. :)
13:04 kaleem joined #perl6
13:12 telex joined #perl6
13:17 Rounin joined #perl6
13:20 kaleem joined #perl6
13:23 tinyblak joined #perl6
13:25 wryk joined #perl6
13:30 wryk joined #perl6
13:34 ninjazach joined #perl6
13:34 tinyblak_ joined #perl6
13:36 kaleem joined #perl6
13:37 virtualsue left #perl6
13:50 tinyblak joined #perl6
13:55 kaleem joined #perl6
13:56 kaleem joined #perl6
13:56 erkan joined #perl6
13:57 tinyblak_ joined #perl6
14:06 rjbs re: http://perl6advent.wordpress.com/201​4/12/17/day-17-three-strange-loops/
14:06 rjbs it would be cool to get a link from "Slangs" to the glossary (or whatever)
14:07 bcode_ joined #perl6
14:25 rjbs ...possibly to day 16, which I hadn't read yet!
14:25 rjbs Oh, I see.  It was day 16 *of 2013* that covers slangs.
14:25 PerlJam rjbs: I added a link to S99
14:25 rjbs You are a gem!
14:26 mvuets "jam" ~~ "gem" # hmmm
14:26 rjbs he must be a kiwi
14:29 [Coke] are there any other kinds of fruits you can call someone where it's not a negative?
14:30 [Coke] rjbs: listening to "temple of the lava bears" on loading ready run to get my D&D 5th fix.
14:30 rjbs [Coke]: Some people might suggest that being called a Kiwi is not negative. :)
14:30 rjbs [Coke]: A "peach" is a nice thing to be called.
14:30 rjbs The apple of my eye.
14:30 * PerlJam is not a fruit!   ;)
14:31 rjbs [Coke]: Excellent, good luck!
14:33 mvuets https://www.youtube.com/watch?v=3KMjOGg4fZ4
14:35 [Sno] joined #perl6
14:37 atroxaper joined #perl6
14:44 [Coke] rjbs: my phrasing was tortued, but was trying to paint kiwi as not negative, yes. (but not necessarily positive either). (peach, apple). ah, good job, ya tangerine.
14:45 rjbs I think some people use "plum" like "you're a peach."
14:53 [Coke] it's a plum assignment.
14:54 dalek specs: 0d84489 | PerlJam++ | S99-glossary.pod:
14:54 dalek specs: [S99] Links to NFA entry
14:54 dalek specs: review: https://github.com/perl6/specs/commit/0d8448909d
14:54 dalek specs: 4813e3d | PerlJam++ | S99-glossary.pod:
14:54 dalek specs: [S99] Add a definition for DSL
14:54 dalek specs: review: https://github.com/perl6/specs/commit/4813e3d3b8
14:55 PerlJam huh.  When did dalek start matching people's nicks to their commit info?
14:56 masak since always?
14:57 PerlJam Then what am I thinking of where I used to get duff++ or perlpilot++ (depending on the repo) rather than PerlJam++ from dalek?
14:57 moritz PerlJam: it used to use parrot's CREDIT file; it now uses rakudo's
14:57 moritz PerlJam: for a few days, or maybe a week
14:57 PerlJam ah
15:01 moritz (patches to CREDITS accepted :-)
15:04 masak m: macro foo { quasi { say "OH HAI" } }; foo; foo; foo
15:04 camelia rakudo-moar c856b8: OUTPUT«OH HAI␤OH HAI␤OH HAI␤»
15:06 PerlJam moritz: how does it decide when the person has multiple U entries?
15:06 tinyblak joined #perl6
15:07 moritz PerlJam: dunno; iirc in my case, it took the second one, but that might have been coincidence
15:08 PerlJam 04:02 <+dalek> rakudo/nom: 42e700b | moritz_++ | docs/ChangeLog:
15:08 PerlJam 04:58 <+dalek> rakudo/nom: 31e6460 | moritz++ | docs/ChangeLog:
15:08 PerlJam looks sorta random
15:09 FROGGS joined #perl6
15:10 [Coke] hash order over a restart
15:13 moritz it's in a pile of code in the dalek-plugins folder that I copied from feather3
15:13 moritz I have looked as little as possible into the code :-)
15:30 [Coke] jnthn++: os x hasn't had flappers in several days.
15:35 dalek nqp/parrot-rpa: 5ee7d90 | rurban++ | / (7 files):
15:35 dalek nqp/parrot-rpa: Replace unneeded QRPA with ResizablePMCArray
15:35 dalek nqp/parrot-rpa: review: https://github.com/perl6/nqp/commit/5ee7d90ecd
15:35 dalek nqp/parrot-rpa: dfafe5b | rurban++ | tools/build/Makefile-Parrot.in:
15:35 dalek nqp/parrot-rpa: Makefile-Parrot: simplify ops2c rule, no chdir needed
15:35 dalek nqp/parrot-rpa: review: https://github.com/perl6/nqp/commit/dfafe5ba8a
15:35 dalek nqp/parrot-rpa: 1fc4389 | rurban++ | src/vm/parrot/ (2 files):
15:36 dalek nqp/parrot-rpa: nfa: check for invalid act EDGEs
15:36 dalek nqp/parrot-rpa: review: https://github.com/perl6/nqp/commit/1fc4389256
15:36 dalek nqp/parrot-rpa: 54c7b73 | rurban++ | t/nqp/76-capture.t:
15:36 dalek nqp/parrot-rpa: t/nqp/76-capture.t: add parrot ticket for savecapture
15:36 dalek nqp/parrot-rpa: review: https://github.com/perl6/nqp/commit/54c7b730dd
15:39 grondilu joined #perl6
15:41 grondilu I vaguely recall there is a short form of &infix:<+>($a, $b), am I right?
15:41 colomon &[+]
15:41 colomon I think
15:41 grondilu oh
15:41 * grondilu tries that
15:42 grondilu seems to work.  Thanks.
15:44 * grondilu notices talks about contravariance in the back log.  Feels like advertising the French relevant article in Wikipedia that he so happens to have recently rewritten.  You can check it out if you speak French:  https://fr.wikipedia.org/wik​i/Covariant_et_contravariant
15:54 sven_123_ joined #perl6
16:10 hobbified joined #perl6
16:17 Brian joined #perl6
16:17 hekmek joined #perl6
16:19 atroxaper joined #perl6
16:19 anaeem1 joined #perl6
16:23 vendethiel ha, what should I do: read it because it's french, or not read it because I've learned it already :P? grondilu++
16:34 andreoss joined #perl6
16:35 andreoss how do i specify that a function returns a Bag of N?
16:35 yoleaux 16 Dec 2014 19:06Z <jnthn> andreoss: well, the immediate reason is that Z appears not to be one of the operators that whatever-curries.
16:36 PerlJam andreoss: what do you mean by "Bag of N"?  is that "Bag that contains only so many items"  or "Bag that keys off of type N" ?
16:37 andreoss bag whihch only contains elements of N type
16:45 andreoss ok..seems Bag is meant to be more like Hash than Array
16:48 andreoss any way how do I constrain type for elements inside objects like Array, Hash, etc?
16:48 mr-foobar joined #perl6
16:50 kaleem joined #perl6
16:50 mvuets m: my Int @a; @a.push("forty-two");
16:50 camelia rakudo-moar c856b8: OUTPUT«Type check failed in .push; expected 'Int' but got 'Str'␤  in method push at src/gen/m-CORE.setting:8898␤  in block <unit> at /tmp/IE_cTZ6Ou0:1␤␤»
16:52 mvuets m: my Str %h; %h<1> = 2;
16:52 camelia rakudo-moar c856b8: OUTPUT«Type check failed in assignment to '%h'; expected 'Str' but got 'Int'␤  in method assign_key at src/gen/m-CORE.setting:10214␤  in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:2958␤  in block <unit> at /tmp/WS1anVbejO:1␤␤»
16:52 andreoss mvuets: sub foo(Int $n) returns ... what do i put here?
16:53 andreoss ok. i got it
16:53 andreoss thanks
16:53 andreoss left #perl6
17:02 spider-mario joined #perl6
17:02 ptc_p6 joined #perl6
17:07 treehug88 joined #perl6
17:08 [Sno] joined #perl6
17:15 mr-foobar joined #perl6
17:20 tony-o do i need to enable an option when building p6 to enable fork?
17:28 tony-o or is forking not an option ..
17:28 hoelzro tony-o: forking and threads (which Moar and the JVM leverage) don't play nice
17:28 hoelzro I was asking the same question myself last March =)
17:29 jnthn You can always call fork using NativeCall, but "on your own head bet it" :)
17:29 jnthn *be
17:29 TimToady bet too
17:30 TimToady .oO(If you see a fork on your head, bet it!)
17:30 * TimToady obviously is still in free association mode, and needs more coffee...
17:32 * masak .oO( I bet on the fork in the road less traveled... )
17:33 TimToady I bettor stop before I hit gambler's ruin...
17:36 tony-o lol
17:37 anaeem1 joined #perl6
17:40 jack_rabbit joined #perl6
17:44 masak star: say "yay"
17:44 camelia star-{m,p} 2014.09: OUTPUT«yay␤»
17:44 masak star-m: say "only moar"
17:44 camelia star-m 2014.09: OUTPUT«only moar␤»
17:44 masak star: grammar G { regex TOP { [<x> [';' | $$] \s*]* }; token x { B | \s* <y> \s* '()'* }; regex y { A | B } }; my $s = "B\nA();"; say ?G.parse($s)
17:44 camelia star-{m,p} 2014.09: OUTPUT«False␤»
17:45 masak star: use Grammar::Tracer; grammar G { regex TOP { [<x> [';' | $$] \s*]* }; token x { B | \s* <y> \s* '()'* }; regex y { A | B } }; my $s = "B\nA();"; say ?G.parse($s)
17:45 camelia star-{m,p} 2014.09: OUTPUT«[1mTOP[0mâ�¤|  [1mx[0mâ�¤|  * [37;42mMATCH[0m[37m "B"[0mâ�¤|  [1mx[0mâ�¤|  |  [1my[0mâ�¤|  |  * [37;42mMATCH[0m[37m "A"[0mâ�¤|  * [37;42mMATCH[0m[37m "A()"[0mâ�¤|  [1mx[0mâ�¤|  |  [1my[0mâ�¤|  |  * [37;41mFAIL[0mâ�¤|  * [37;41mFA…»
17:45 masak aww, the output cuts off too early to show that the grammar succeeds :/
17:45 * masak makes a gist
17:46 masak https://gist.github.com/masak/d10db42d5c6fd6d8d906
17:47 vendethiel masak: is it deterministicly undeterministic?
17:47 masak yes.
17:47 masak personally, I think it should succeed even without Grammar::Tracer. (and that that's the bug)
17:48 masak but the fact that it comes out different with and without is *clearly* wrong.
17:48 * masak submits rakudobug
17:49 masak things that cause the problem to go away: inlining y into x. inlining x into TOP. removing any of the remaining \s*. removing the * after '()'.
17:49 ugexe should fork/wait be removed from https://github.com/perl6/specs/blob/​25d0973b3e585013a44bada8dd9f02d67c64​c6f7/S29-functions.pod#concurrency ?
17:52 Entonian joined #perl6
17:52 masak jnthn: caught you a grammar bug ^ :)
17:53 jnthn masak: Why's it for me? :P
17:54 jnthn masak: I do wonder if Grammar::Tracer may upset NFA lookup, though...
17:54 masak yeah. but in this case (as far as I can see) it makes the grammar behave right.
17:54 jnthn Which may change LTM behavior in some way
17:54 jnthn OK, then maybe it avoids the NFA, and hides the bug. I'd need to look more carefully at it.
17:55 jnthn masak: Try putting {} at the start of the rule and seeing if it magically also makes it work.
17:56 _4d47 joined #perl6
17:59 Rounin joined #perl6
18:09 atroxaper joined #perl6
18:10 _4d47 is there a perl6doc ? or can i get help in the interperter ?
18:10 PerlJam _4d47: there's doc.perl6.org
18:10 PerlJam _4d47: you can also ask here
18:11 _4d47 PerlJam: cool thanks :)
18:13 Mso150_y_a joined #perl6
18:14 hoelzro you can ask objects about themselves
18:14 hoelzro r: 42.WHY
18:14 camelia rakudo-{parrot,moar} c856b8: ( no output )
18:14 hoelzro but unfortunately, almost none of the core stuff is documented right now =/
18:15 hoelzro I was thinking about creating an optional file to be included in CORE.setting to set the WHYs for core stuff from the doc.perl6.org sources, but I never got a round to it =(
18:16 moritz hoelzro: that's the way forward
18:16 moritz hoelzro: due to bootstrapping issue, I find it unlikely that the documentation will land in rakudo directlry
18:16 moritz *directly
18:23 grettis joined #perl6
18:28 zakharyas joined #perl6
18:30 TimToady masak: no, it makes the grammar behave wrong, it turns out
18:31 TimToady in parsing B\n, it matches the right side of x under LTM, and eats the newline that TOP needs to progress, so the next match fails to progress because $$ doesn't match
18:33 TimToady put a {} before the second \s* and it matches, because then it ties under LTM and works left-to-right instead
18:33 TimToady or change the 2nd \s* to a \h* and it works
18:34 TimToady so this turns out to be a bug in the tracer, I think
18:34 molaf joined #perl6
18:35 denis_boyun joined #perl6
18:36 TimToady unless TOP should be backtracking to the left side of x, hmm
18:38 TimToady maybe it's a not-backtracking-into-subrule bug as well
18:44 Isp-sec joined #perl6
18:50 TimToady I guess the token declarator for x is committing the match of the LTM in the alternation
18:50 TimToady if you change it to 'regex', it parses
18:51 BenGoldberg joined #perl6
18:51 TimToady so arguably that's correct behavior in rejecting the parse under 'token'
18:52 denis_boyun joined #perl6
18:53 TimToady anything that subverts LTM would tend to make it do || semantics, so I'm guessing the tracer is subverting LTM somehow; does it work by inserting {} nodes?
18:54 TimToady if so, we need to teach LTM to ignore those nodes
18:55 TimToady or insert 'em as <!{stuff; 0}> instead, which LTM already ignores
18:58 * TimToady delegates the problem to anyone who will delegate it to someone else who is not me :)
18:59 TimToady er, s/me/TimToady/
18:59 TimToady mustn't violate person  <- bad linguistics joke
19:01 Ugator joined #perl6
19:04 TimToady masak: another way to fix your proggie is to change your [';' | $$] to match [';' | $$ | ^^] insted
19:04 TimToady *ead
19:08 jnthn dinner &
19:08 TimToady but anyway, the bug report is at least partly right...   .oO("It is a comfort not to be mistaken on all points." --Gandalf)
19:10 hoelzro moritz: same here
19:21 FROGGS joined #perl6
19:23 erkan joined #perl6
19:29 * TimToady wonders what the DNS cache time for perl6.org is...
19:33 moritz $ dig SOA perl6.org +short
19:33 moritz ns1.pairnic.com. root.pair.com. 2014121757 3600 300 604800 3600
19:33 moritz m: say 604800 / 60**2
19:33 camelia rakudo-moar c856b8: OUTPUT«168␤»
19:33 bartolin joined #perl6
19:33 * moritz hopes that one isn't it
19:34 PerlJam the last one is the TTL isn't it?
19:36 moritz it is :(
19:36 moritz m: say 604800 / 60**2 / 24
19:36 camelia rakudo-moar c856b8: OUTPUT«7␤»
19:36 moritz wtf
19:36 moritz but I get the new IP already
19:38 moritz at least for www
19:38 moritz I get the old one for modules
19:40 TimToady gonna depend on what you visited recently and loaded into the cache
19:40 moritz aye
19:44 moritz now I'm going to contact au++ over perlcabal.org DNS
19:46 moritz the new web home of the synopses is now http://design.perl6.org/
19:46 moritz if anybody wants to give them a more perl6.org-like layout, that would be greatly appreciated
19:48 atroxaper joined #perl6
19:51 vendethiel "dijkstra was on drugs" well, torvalds...
19:53 Sqirrel joined #perl6
19:54 virtualsue joined #perl6
19:54 _4d47 moritz: is that the tablets repo on github ?
19:54 vendethiel masak: http://yarchive.net/comp/linux/semaphores.html had fun :P
19:56 moritz _4d47: no, it's http://github.com/perl6/specs/ (sources) and generated HTML by https://github.com/perl6/mu/blob/mas​ter/util/update-design.perl6.org.sh
19:56 moritz _4d47: though it would make sense to move the index.html (and maybe other stuff) into the perl6/specs repo
19:57 beastd joined #perl6
19:58 virtualsue joined #perl6
19:59 TimToady hmm...4d47 15 䵇 hemp.l strike.r
20:01 _4d47 mortiz: thanks for links, i dont think i can update layout, im too new for that but sure will look around :)
20:02 moritz _4d47: also can just change the HTML / CSS, and I'll try to bring the changes back to the sources
20:06 telex joined #perl6
20:10 Mso150 joined #perl6
20:23 virtualsue joined #perl6
20:30 grettis_ joined #perl6
20:32 itz joined #perl6
20:34 dalek mu: 0463faa | moritz++ | docs/feather/syn_index.html:
20:34 dalek mu: syn_index.html: Update information about where the website is generated
20:34 dalek mu:
20:34 dalek mu: Now reflects the status quo, conditionally on the DNS updates to perl6.org
20:34 dalek mu: and perlcabal.org percolating all through the Internet.
20:34 dalek mu: review: https://github.com/perl6/mu/commit/0463faae55
20:36 moritz au++ updated the perlcabal.org DNS (within 5 minutes of receiving my message, no less)
20:37 dalek infrastructure-doc: d6da8c0 | moritz++ | hosts/www.p6c.org.pod:
20:37 dalek infrastructure-doc: Add documentation for two IPv6 addresses
20:37 dalek infrastructure-doc: review: https://github.com/perl6/infras​tructure-doc/commit/d6da8c00a5
20:43 masak I never figured out how au++ got so fast at replying to stuff.
20:44 moritz ... and still got other things done
20:44 masak my sister is a fast replyer too. texting with her feels like playing a syncopated rhythm.
20:46 masak TimToady: I added your comments to https://rt.perl.org/Ticket/Display.html?id=123452
20:50 masak I need to digest those comments, though. I don't understand where the grammar "eats the newline that TOP needs to progress".
20:51 masak and, oh yes, I also noticed that changing 'token x' to 'regex x' made the bug go away. that's one thing I failed to include.
20:52 masak ...but anyway. even not following all the details, I know it's wrong that Grammar::Tracer heisenbugs the parse. :)
20:52 masak if it turns out the problem is *all* in Grammar::Tracer, I'll happily re-file this as a Github issue.
20:53 jnthn It's not a heisenbug if it's consistently happening...
20:54 nige joined #perl6
20:55 vendethiel masak: I used to have "github notifier". Basically, I had a popup for each notification I received
20:55 dalek roast: 79c35cc | usev6++ | S03-sequence/arity-2-or-more.t:
20:55 dalek roast: Add test for RT #117825 (skipped for Parrot)
20:55 dalek roast: review: https://github.com/perl6/roast/commit/79c35ccff6
20:55 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=117825
20:55 vendethiel I usually answered in ~10seconds
20:57 Mso150 joined #perl6
21:02 treehug8_ joined #perl6
21:02 * moritz often has to think before answering
21:03 masak jnthn: "a heisenbug is a software bug that seems to disappear or alter its behavior when one attempts to study it" -- https://en.wikipedia.org/wiki/Heisenbug
21:04 masak jnthn: seems to fit quite well in this case. add Grammar::Tracer -- the grammar under study passes instead of failing.
21:04 treehug88 joined #perl6
21:07 TimToady masak: the x rule matches a token of "B\n" and commits to that, but it must match only 'B' to allow the newline to match in TOP
21:07 TimToady it commits to "B\n" because that's the longesst token
21:08 masak why would the x rule ever match a "\n" after the "B"?
21:08 TimToady and it matches that because everything at the end is optional, including the ()
21:08 TimToady \s*
21:08 TimToady that's why changing \s* to \h* makes it work
21:08 masak oh, it goes into the *right* alternation...
21:08 masak I see.
21:08 TimToady or changing '()'* to '()'+
21:09 masak right.
21:09 TimToady or putting {} before the \s*
21:10 masak the ungolfed grammar is 108 lines. but you just provided some clues for how to fix it. thanks. :)
21:11 zakharyas joined #perl6
21:11 * TimToady smiles at his own unintentional "longesst token"
21:12 masak preciousss
21:15 treehug8_ joined #perl6
21:17 erkan joined #perl6
21:18 moritz whitespace. Still not a solved problem.
21:18 jnthn masak: I highly suspect Grammar::Tracer is doing something wrong. Note that when it was written, LTM was...rathre less advanced...than it is now.
21:19 masak yes, I think it's been established now that the problem is purely in Grammar::Tracer.
21:20 jnthn OK
21:20 jnthn Then feel free to file a tikkit.
21:20 atroxaper joined #perl6
21:20 * masak does
21:20 jnthn I've some other bits I want to do with it also to improve trace performance, now I've got some MOP improvements
21:21 jnthn (Said improvements are part of the winding path towards native arrays, but useful for quite a few more things. :-))
21:21 TimToady moritz: the "whitespace problem" is usually just a pebkac these days, and generally results from matching whitespace explicitly rather than via <.ws>
21:22 * masak is guilty of that in this case
21:23 masak though I'm currently on a sofa, so... PEBKAS, I guess.
21:23 * masak .oO( min man e PEBKAS )
21:24 jnthn :P
21:25 masak ahh, puns with an audience of one. :P
21:25 Ulti \o/ https://twitter.com/OReillyMe​dia/status/545264800989970432
21:25 masak Ulti: it's the first thing O'Reilly has published about Perl in years! :P
21:26 Ulti lol sad if true
21:26 erkan joined #perl6
21:27 moritz TimToady: well, using <.ws> only works well when you re-define it only match things that aren't signficant in the file format you're parsing
21:27 raiph joined #perl6
21:28 moritz like, if you parse .ini-Files, which are line-based, you're screwed if you use the default <.ws>
21:29 hoelzro masak: I was looking for a Markdown implementation last night and I noticed you wrote one; I also noticed the grammar doesn't seem to do a lot of the lifting.  Is there a reason for that? Is MD just hard to parse with grammars?
21:29 Ulti hmm Mastering Perl had a second edition this year, that's not too shabby
21:29 masak hoelzro: that implementation isn't very far along.
21:29 hoelzro ah, ok
21:30 masak hoelzro: and it was written to stay close to the original Perl 5 Markdown implementation, which I wouldn't do if I wrote it today.
21:30 hoelzro I was thinking about writing a blog post on how easy it is to extend existing grammars, and I wanted to use MD as an example
21:30 hoelzro maybe I'll spend some time creating a more "native" MD implementation
21:31 Ulti hoelzro defo do that, when I've explained to some people who they can extend the grammar I did for different versions of FASTA they suddenly /get/ why its cool
21:31 Ulti *how
21:31 * hoelzro adds it to his Perl 6 TODO
21:31 PerlJam hoelzro: "hard to parse with grammars" sounds like a topic that deserves an article somewhere.  I can't fathom it at the moment.
21:32 TimToady moritz: if you're parsing line-based text, you should either be calling .parse on each line, or using \h* where you don't want \n; but yes, the default <.ws> assumes a more free-form languge
21:32 hoelzro PerlJam: I don't have any ideas yet; I'm personally not too sure how I would handle markdown =/
21:32 masak hoelzro: feel free to write a more native MD implementation. I'll be happy to put something better in place of what's there in my module now.
21:33 TimToady but what you really need is a consistent approach; what happened this time was one part of the program eating the whitespace that another part of the program required not to be eaten
21:33 masak hoelzro: may I recommend that you have a look at CommonMark for inspiration?
21:33 masak TimToady: *nod*
21:33 hoelzro masak: alright, I'll do that!
21:34 TimToady <.ws> is at least self-consistent there insofar as it knows when something else already matched the whitespace it's at the end of, and succeeds
21:35 TimToady <.ws> also enforces a consistent end-of-LTM
21:36 colomon joined #perl6
21:40 davido___ joined #perl6
21:42 davido___ joined #perl6
21:45 hoelzro is there a way I can inspect an object to determine its repr?
21:45 jnthn .REPR
21:45 hoelzro oh, that was easy =)
21:45 hoelzro thanks jnthn
21:46 TimToady m: say 42.REPR.WHAT
21:46 camelia rakudo-moar c856b8: OUTPUT«(Str)␤»
21:46 jnthn :)
21:46 hoelzro m: class Foo is repr('CPointer') {} ; say Foo.REPR.WHAT
21:46 jnthn You ain't suppose to .WHAT it :P
21:46 camelia rakudo-moar c856b8: OUTPUT«(Str)␤»
21:46 hoelzro m: class Foo is repr('CPointer') {} ; say Foo.REPR
21:46 camelia rakudo-moar c856b8: OUTPUT«CPointer␤»
21:46 jnthn Right. :)
21:46 moritz m: say 42.REPR
21:46 camelia rakudo-moar c856b8: OUTPUT«P6opaque␤»
21:47 jnthn You'll find that most things are P6opaque :)
21:47 moritz m: say int.REPR
21:47 camelia rakudo-moar c856b8: OUTPUT«P6int␤»
21:47 jnthn Except native types
21:47 jnthn And Buf/Blob I guess
21:47 moritz m: say Buf.REPR
21:47 camelia rakudo-moar c856b8: OUTPUT«Uninstantiable␤»
21:47 jnthn And native arrays in the future
21:47 * moritz too slow
21:47 moritz m: say Buf.new().REPR
21:47 camelia rakudo-moar c856b8: OUTPUT«VMArray␤»
21:48 moritz so the type object can be of a different REPR than the instance
21:48 jnthn No
21:48 jnthn Buf is a role, .new puns it
21:48 jnthn And the pun is a different type
21:49 moritz m: say Blob.new().REPR
21:49 camelia rakudo-moar c856b8: OUTPUT«VMArray␤»
21:49 moritz m: say Blob.REPR
21:49 camelia rakudo-moar c856b8: OUTPUT«Uninstantiable␤»
21:49 moritz m: say utf8.REPR
21:49 camelia rakudo-moar c856b8: OUTPUT«VMArray␤»
21:49 * TimToady wonders if he'll have to play with reprs to do IntStr et al.
21:49 jnthn The what?!
21:49 moritz m: say int.REPR
21:49 camelia rakudo-moar c856b8: OUTPUT«P6int␤»
21:49 jnthn .u �
21:49 yoleaux U+FFFD REPLACEMENT CHARACTER [So] (�)
21:49 jnthn What on earth...
21:49 jnthn TimToady: Not really
21:50 jnthn TimToady: That's just something with two box target attributes.
21:50 moritz which willb e hell to manage from pure Perl 6 code, but could be doable with nqp:: ops
21:51 hoelzro the REPR contains the specification for the state of an object, right? and the stable the specification for the methods?
21:51 hoelzro er, I guess the latter is more the HOW
21:51 jnthn Hm, I wrote good definitions of these somewhere once :P
21:51 jnthn REPR = how memory is used
21:51 jnthn HOW = the rest
21:52 jnthn STable = pairing of REPR+HOW, and various other per-type configuration, caches, etc.
21:52 hoelzro ah, right
21:53 moritz so that you don't have to put all your hors^Wmethods in one stable :-)
21:53 jnthn STables correspond to "type" at the level of things like type specialization.
21:53 * TimToady also wonders whether, once we have IntStr return false on '0', whether we can make string "0" return true, since it's the mandatory-text situations that were the original motivation for making "0" false, and IntStr is intended to help with that situation
21:54 jnthn But that's more a VM-level concern than a Perl 6 level one.
21:55 bartolin hoelzro: I stumbled over an old ticket from you: RT #114228. Since the failing code is not included and the links don't work anymore, the ticket doesn't lead anywhere (IMHO). would you mind if I close the ticket?
21:55 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=114228
21:56 jnthn TimToady: Can I take your silence on my method ^foo() { } spec patch to mean "it's tolerable"? :)
21:56 hoelzro bartolin: sure, go ahead
21:56 jnthn I'm pondering implementing it on the train home tomorrow. :)
21:56 hoelzro I think it's solved anyway
21:57 bartolin hoelzro: even better ;-)
21:57 TimToady jnthn: already said I was okay with you stealing it, dint I?
21:57 jnthn TimToady: Yes, but now you know what I've done *after* stealing it :P
21:57 TimToady well, but that part is your fault :P
21:57 jnthn Point :P
21:58 * TimToady has always disavowed (most) knowledge of anything beyond .HOW
21:58 jnthn :)
21:58 masak what? what did jnthn do after stealing it? :P
21:59 TimToady I dunno :P
22:00 PerlJam masak: https://github.com/perl6/specs/commit/e​15acbc12ed5c800c3c905faecb450c28bf16535
22:00 PerlJam :)
22:00 PerlJam (I was reading it earlier)
22:04 daxim joined #perl6
22:04 TimToady Ours is not to wonder HOW, ours is but to say WHAT now.
22:05 TimToady m: say WHAT now
22:05 camelia rakudo-moar c856b8: OUTPUT«(Instant)␤»
22:05 jnthn *groan*
22:07 jnthn oh...tomorrow is release day, innit... :)
22:07 jnthn Guess I'll be cutting a Moar release on the train also, then :)
22:08 TimToady quick, break all the things
22:08 jnthn .tell lizmat I'll take care of the MoarVM release early afternoon; hope that fits well if your relesae planning...
22:08 yoleaux jnthn: I'll pass your message to lizmat.
22:08 jnthn uh, well *with*
22:08 jnthn This is exactly why I ain't doing it this evening. :)
22:10 masak e15acb looks very sane to me.
22:10 masak whatever it was before jnthn stole it, I'm glad it got stolen.
22:10 PerlJam fwiw, me too
22:11 PerlJam Though I do tend to wonder about the edges a little bit.   What happens when someone tries to declare  method ^foo { 'Oops' }  # i.e., they leave off the $obj parameter
22:12 masak then the $obj.^foo invocation will fail.
22:13 PerlJam yeah, but it could fail sooner because that can't possibly work as declared
22:13 jnthn Well, $obj.HOW.foo would, but yeah
22:13 jnthn We could always demand the sig has at least one positional and be SORRY! if not.
22:24 brrt joined #perl6
22:24 brrt \o
22:25 jnthn o/ brrt
22:25 brrt still awake :-)
22:26 brrt as part of my last impossible thing today i'm going to try and finish a perl6 advent blog
22:27 virtualsue joined #perl6
22:28 jnthn \o/
22:29 jnthn Go brrt!
22:29 brrt :-)
22:30 masak \o/
22:31 masak who wants Friday?
22:31 jnthn Friiiday, Fridaaay...
22:31 masak also, is there a topic we really should cover that we haven't already?
22:33 brrt we have a number of topic. @cool-perl6-features.pick
22:33 vendethiel more awesome *w*
22:33 masak 'night, #perl6
22:33 masak brrt: good luck! :)
22:34 jnthn Mebbe the profiler is worth a post.
22:34 mvuets joined #perl6
22:34 brrt sleep well masak
22:35 vendethiel gl brrt :)
22:35 colomon joined #perl6
22:37 brrt tnx
22:44 * jnthn gets some rest ahead of final teaching day of the year :)
22:44 jnthn 'night, #perl6
22:46 ab5tract joined #perl6
22:54 atroxaper joined #perl6
23:03 BenGoldberg joined #perl6
23:12 brrt what happened to MAST::Ops :-o
23:17 erkan joined #perl6
23:22 raiph joined #perl6
23:22 brrt ping timotiomo
23:22 brrt ping timotimo

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

Perl 6 | Reference Documentation | Rakudo