Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-07-22

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:17 cognominal joined #perl6
00:27 MilkmanDan joined #perl6
00:36 hoelzro o/ #perl6
00:36 hoelzro is there a way to get the type object from a ClassHOW?
00:44 bjz joined #perl6
00:55 ab5tract joined #perl6
01:02 dayangkun joined #perl6
01:04 hoelzro doesn't seem like it =/
01:04 hoelzro oh well, I found a workaround
01:05 xinming joined #perl6
01:07 ponbiki joined #perl6
01:10 telex joined #perl6
01:17 FROGGS_ joined #perl6
01:17 DarthGandalf joined #perl6
01:24 thou joined #perl6
01:24 xenoterracide_ joined #perl6
01:30 klapperl joined #perl6
01:40 bjz joined #perl6
01:46 nbrown joined #perl6
01:48 nbrown joined #perl6
01:48 klapperl joined #perl6
01:53 klapperl joined #perl6
01:55 bowtie joined #perl6
02:00 ventica joined #perl6
02:01 ventica joined #perl6
02:01 chenryn joined #perl6
02:02 ventica1 joined #perl6
02:07 skids joined #perl6
02:10 bjz_ joined #perl6
02:10 [Coke] http://boingboing.net/2014/07/02/irs-says-free-software-project.html#more-315656
02:10 noganex joined #perl6
02:13 dalek roast/S26-WHY: 48bef03 | (Rob Hoelz)++ | S26-TODO:
02:13 dalek roast/S26-WHY: Notes notes notes
02:13 dalek roast/S26-WHY: review: https://github.com/perl6/roast/commit/48bef03fc5
02:28 hoverboard joined #perl6
02:31 japhb hoelzro: Which type object are you trying to retrieve?
02:32 hoelzro I was working on S26
02:32 hoelzro so I was trying to fix Documenting's WHY to set WHEREFORE to its type object
02:32 hoelzro but I ended up patching Mu.WHY to do the same thing
02:35 ventica joined #perl6
02:39 dalek roast/S26-WHY: aa0621b | (Rob Hoelz)++ | S26-documentation/why-leading.t:
02:39 dalek roast/S26-WHY: Start checking $=pod for declarative comments
02:39 dalek roast/S26-WHY: review: https://github.com/perl6/roast/commit/aa0621babb
02:41 araujo joined #perl6
02:43 * japhb is trying to understand.  If you have a class object, it is its own type object; if you have an instance, $object.WHAT is the type object.  You don't need to use the $object.HOW or $class.HOW at all ....  Or are you saying that you only have a metaclass instance ($class.HOW), and want to get back to the class?
02:43 Akagi201 joined #perl6
02:43 hoelzro I have the HOW
02:43 hoelzro just the HOW
02:43 hoelzro so, correct
02:43 japhb Ah, OK, I see what you mean
02:43 hoelzro I don't think it's possible
02:43 hoelzro but it's ok, I managed to figure out a solution =)
02:44 hoelzro the good news is that declarative docs are working, and the code to get them working isn't hideous \o/
02:44 hoelzro unfortunately, $=pod is still kinda busted
02:44 hoelzro and there are a *lot* of corner cases I'd like to test
02:51 japhb m: my class Foo {}; my $foo-how = Foo.HOW; ::($foo-how.name(Mu)).WHAT.say
02:51 camelia rakudo-moar 333bce: OUTPUT«(Foo)␤»
02:51 japhb ... and there you go.  :-)
02:51 hoelzro heh
02:51 japhb m: my class Foo {}; my $foo-how = Foo.HOW; my $foo = ::($foo-how.name(Mu)); $foo.say
02:51 camelia rakudo-moar 333bce: OUTPUT«(Foo)␤»
02:51 japhb Even clearer
02:52 hoelzro well done
02:52 * japhb bows
02:52 japhb I knew it had to be possible.  :-)
02:52 Akagi201 joined #perl6
02:54 hoelzro alright, enough work for tonight
02:54 hoelzro later japhb
02:54 japhb o/
02:54 japhb hoelzro++  # Getting actual work done
02:54 Akagi201_ joined #perl6
02:55 dayangkun joined #perl6
03:01 rindolf joined #perl6
03:02 grondilu joined #perl6
03:05 grondilu with a regex, how could I test for a permutation of a given set of characters?  I mean, say I want my regex to match a permutation of a b c d, a naive attempt as < a b c d > ** 4 would fail as it would match for instance aaab and I don't want repetitions.
03:06 molaf joined #perl6
03:07 colomon grondilu: the first thing that jumps to mind is putting a bit of executable code in the regex.  (I know it's possible, but don't know the syntax for it.)
03:07 Timbus mayeb fill an array with the permutations, and match against that?
03:07 Timbus using .permutations
03:07 colomon but then, the second thing that comes to mind is maybe this isn't that appropriate place to use a regex...
03:12 grondilu yeah I thought that might be complicated, but I want to put this in a grammar so I think I have to use a regex.
03:12 grondilu but I guess I can just pretend repetitions are OK
03:13 colomon grondilu: look for <?{  in S05
03:14 rurban1 joined #perl6
03:14 colomon the example they give is / (\d**1..3) { $0 < 256 or fail } /
03:15 colomon sorry, wrong cut and paste
03:15 colomon right one is / (\d**1..3) <?{ $0 < 256 }> /
03:16 colomon afk # bedtime
03:16 japhb m: grammar Permutation { regex TOP { ^ <[abcd]> ** 4 { fail if $/.Str.comb.sort.join ne 'abcd' } $ } }; for < abcd aa aacd dacb > { say "$_: {so Permutation.parse($_) }" }
03:16 camelia rakudo-moar 333bce: OUTPUT«abcd: True␤aa: False␤aacd: False␤dacb: True␤»
03:16 japhb Seriously needs some cleanup, but it demonstrates method #1 from colomon
03:16 colomon japhb++
03:25 grondilu yeah I guess I'll have to add this kind of stuff eventually.
03:25 grondilu It's for https://github.com/grondilu/chess/blob/master/lib/Chess/FEN.pm6  in case you're curious.
03:26 grondilu for instance for rank I'll have to verify that the number of pieces and the number of empty squares adds up to 8.
03:26 grondilu Can be interesting to implement.
03:29 bowtie_ joined #perl6
03:29 grondilu having a PGN grammar that verifies the validity of moves would be impressive but that's maybe quite too ambitious.
03:30 hoverboard left #perl6
03:32 kaleem joined #perl6
03:34 chenryn joined #perl6
03:36 dayangkun joined #perl6
03:41 Sqirrel joined #perl6
03:46 chenryn joined #perl6
03:53 bjz joined #perl6
03:59 kaare_ joined #perl6
04:09 estrabd joined #perl6
04:12 anaeem1_ joined #perl6
04:14 atroxaper joined #perl6
04:15 perlfan joined #perl6
04:15 bowtie joined #perl6
04:16 mr-foobar joined #perl6
04:19 SamuraiJack joined #perl6
04:22 gfldex joined #perl6
04:33 dayangkun joined #perl6
04:34 rurban1 joined #perl6
04:36 rurban2 joined #perl6
04:49 lizmat joined #perl6
04:49 xusia joined #perl6
04:55 xusia joined #perl6
04:55 woolfy joined #perl6
05:04 denis_boyun_ joined #perl6
05:08 atroxaper joined #perl6
05:08 kaare_ joined #perl6
05:09 xusia joined #perl6
05:23 akaseki joined #perl6
05:24 chenryn joined #perl6
05:26 dayangkun_ joined #perl6
05:30 sjohnson joined #perl6
05:31 xragnar_ joined #perl6
05:36 lizmat carlin: re http://irclog.perlgeek.de/perl6/2014-07-21#i_9059080  : if rakudo's spectest is done on a DISTRO that is not in DISTROnames
05:36 lizmat it becomes a failing test
05:37 lizmat to fix the test, is to add the failing DISTRO name to DISTROnames
05:37 lizmat that way, we can know on which OS's rakudo is being spectested regularly
05:41 dalek rakudo/nom: 2bc8f67 | (Elizabeth Mattijsen)++ | src/main.nqp:
05:41 dalek rakudo/nom: Make sure we only execute END blocks once
05:41 dalek rakudo/nom:
05:41 dalek rakudo/nom: Even if we call exit() inside an END block
05:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2bc8f673a6
06:07 denis_boyun joined #perl6
06:13 atroxaper joined #perl6
06:24 sergot hi o/
06:25 chenryn joined #perl6
06:36 chenryn joined #perl6
06:36 dmol joined #perl6
06:40 nhayashi joined #perl6
06:40 rurban1 joined #perl6
06:43 grondilu m: "foo".match: / . ** 1..5 /; say $/[0]
06:43 camelia rakudo-moar 2bc8f6: OUTPUT«(Any)␤»
06:44 * grondilu expected "f"
06:47 darutoko joined #perl6
06:50 sergot m: sub e(Bool :$bin) { say $bin if $bin }
06:50 camelia rakudo-moar 2bc8f6: ( no output )
06:50 sergot m: sub e(Bool :$bin) { say $bin if $bin }; e();
06:50 camelia rakudo-moar 2bc8f6: ( no output )
06:50 sergot m: sub e(Bool :$bin) { say $bin if $bin }; e(:bin);
06:50 camelia rakudo-moar 2bc8f6: OUTPUT«True␤»
06:52 Akagi201 joined #perl6
06:52 atroxaper joined #perl6
06:59 [Sno] joined #perl6
06:59 FROGGS[mobile] joined #perl6
07:11 masak morning, #perl6!
07:12 moritz \o masak, *
07:12 bowtie joined #perl6
07:12 FROGGS[mobile] morning masak, moritz
07:17 masak ahoj moritz, FROGGS
07:23 chenryn joined #perl6
07:29 dayangkun joined #perl6
07:30 masak IKEA &
07:31 FROGGS[mobile] lol
07:41 zakharyas joined #perl6
07:43 Akagi201 joined #perl6
07:46 Akagi201 joined #perl6
07:51 hoverboard joined #perl6
07:51 Ven joined #perl6
07:53 ab5tract joined #perl6
07:54 Ven joined #perl6
07:56 Ven m: "foo".match: / (.) ** 1..15 /; say $/[0][0]  # grondilu
07:56 camelia rakudo-moar 2bc8f6: OUTPUT«「f」␤␤»
07:58 Ven_ joined #perl6
07:59 Ven watcha doing here, Ven_ ? somebody using my comp ?
07:59 chenryn joined #perl6
08:03 virtualsue joined #perl6
08:06 dayangkun_ joined #perl6
08:08 ab5tract exit
08:08 ab5tract left #perl6
08:08 dmol joined #perl6
08:15 atroxaper joined #perl6
08:31 ventica left #perl6
08:34 dakkar joined #perl6
09:06 eiro joined #perl6
09:07 eiro hello
09:07 tadzik hey hey
09:08 FROGGS[mobile] hi
09:09 eiro who's in charge of the rakudo* .msi ?
09:10 eiro i wonder why there is no msi for the last release
09:10 eiro also: does NativeCall work on windows ?
09:10 Vlavv joined #perl6
09:10 atroxaper joined #perl6
09:20 brrt joined #perl6
09:21 FROGGS[mobile] we all are in charge for the msi, and I'm planning to do one for 2014.07
09:21 FROGGS[mobile] and yes, NativeCall works on Windows
09:23 moritz 11:10 < eiro> i wonder why there is no msi for the last release
09:23 moritz because nobody did one yet, that's why!
09:24 FROGGS[mobile] I did release candidates for r-m* 2014.05 and r-p* 2014.05
09:25 FROGGS[mobile] but they did not get released because there either was an issue or I had no testers
09:37 Ulti joined #perl6
09:44 eiro ok then. i thought it was a buildbot :)
09:44 rurban1 joined #perl6
09:44 FROGGS[mobile] no, no bots involved in making any release :o)
09:45 FROGGS[mobile] we have daily smokers though
09:52 spider-mario joined #perl6
09:54 Rounin joined #perl6
09:54 breinbaas joined #perl6
09:54 atta joined #perl6
09:55 japhb joined #perl6
09:55 revdiablo joined #perl6
09:55 LordVorp joined #perl6
09:55 anocelot joined #perl6
09:55 kst joined #perl6
09:56 c1sung joined #perl6
09:56 mhasch joined #perl6
09:58 lelf joined #perl6
09:58 lelf b
10:00 atroxaper joined #perl6
10:09 kivutar joined #perl6
10:14 atroxaper joined #perl6
10:17 kaare_ joined #perl6
10:17 Alina-malina joined #perl6
10:18 eiro joined #perl6
10:26 chenryn joined #perl6
10:50 brrt joined #perl6
10:58 moritz a build bot wouldn't be such a bad idea
10:58 moritz then the release managed would only need to push a tag
10:58 moritz and that would create the tarball automatically
10:59 moritz and put it into the download dir
11:00 timotimo o/
11:00 eiro o/
11:00 eiro yes but i have no idea how to build rakudo on windows
11:01 eiro afaik: i need to install visual studio
11:12 lelf` joined #perl6
11:19 cognominal eiro: or wine?
11:19 cognominal not that I know anything about windows.
11:20 eiro cognominal, no. wine is a way to run windows binaries under linux.
11:21 cognominal my bad.
11:21 zengargoyle i would guess you'd build with cygwin
11:21 eiro cognominal: there is a unix environment under windows named cygwin
11:21 eiro ahh
11:21 zengargoyle which you just might be able to use under wine... :P
11:22 FROGGS_ no, no cygwin
11:22 cognominal cygwin, that's the thing I had in mind. Sorry for the confusion
11:22 FROGGS_ you need activeperl+MSVC
11:22 zengargoyle thought cygwin was the standard OSS/gnu/unixy-like on windows solution.
11:23 eiro i seee you know that. the pb with cygwin tools is they poorly interact with windows (file hierachy for example comes the unix way)
11:24 zengargoyle actually, i thought activeperl used cygwin for building XS stuff..
11:24 FROGGS_ no
11:24 zengargoyle maybe that's Strawberry
11:24 FROGGS_ no :o)
11:25 FROGGS_ you mean mingw
11:25 zengargoyle ah,  that's it.
11:25 user3 joined #perl6
11:25 zengargoyle shows how much i know about windoze. :P
11:26 zengargoyle i haven't been brave enough yet to try and build on Solaris using the Sun compiler...
11:27 carlin Parrot/Rakudo used to work on OpenSolaris with suncc a few years ago, not sure about moar nowdays though
11:27 zengargoyle sparc?
11:28 carlin x86
11:30 zengargoyle it's odd how back in the day, software worked on Solaris, and *maybe* BSD or *maybe* Linux with some hacking...
11:31 zengargoyle now it's just the opposite.  works on Linux, *might* work on Solaris. :)
11:32 carlin there are still some things where that's true
11:32 carlin zfs and dtrace for example
11:33 zengargoyle yeah, but those are vendor-ish things, not OSS miscellany
11:34 carlin true
11:40 zengargoyle it's possible that half of my Solaris angst is due more to our 30 year old+ organically grown environment vs a nice fresh and clean 5.10 or whatnot environment.
11:46 rurban1 joined #perl6
11:52 kaleem joined #perl6
11:57 dayangkun joined #perl6
12:00 carlin m: class my {}; say my.new
12:00 camelia rakudo-moar 2bc8f6: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/RZjkRAj5i7â�¤Malformed myâ�¤at /tmp/RZjkRAj5i7:1â�¤------> [32mclass my {}; say my[33mâ��[31m.new[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤Â»
12:00 carlin .oO( Doctor, doctor! It hurts when I do this... )
12:01 carlin m: class my {}; my my $x .= new; say $x
12:01 camelia rakudo-moar 2bc8f6: OUTPUT«my.new()␤»
12:12 eiro gtk-simple doesn't work on windows.  i'm pretty sure i saw jnthn running it. frustration
12:12 eiro ohhh ... it was in a vm
12:15 FROGGS_ this stuff is easy on linux when the libs are in place
12:15 FROGGS_ and not so on windows ... :/
12:21 jnap joined #perl6
12:22 atroxaper joined #perl6
12:24 Ven joined #perl6
12:24 Ven m: my @a = flat < a b; 1 > 2;
12:24 camelia rakudo-moar 2bc8f6: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/O56uxZKfR1â�¤Two terms in a rowâ�¤at /tmp/O56uxZKfR1:1â�¤------> [32mmy @a = flat < a b; 1 > [33mâ��[31m2;[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or…»
12:24 Ven std: my @a = flat < a b; 1 > 2;
12:24 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a row at /tmp/2E35yIg0Zh line 1:â�¤------> [32mmy @a = flat < a b; 1 > [33mâ��[31m2;[0mâ�¤    expecting any of:â�¤  feed_separatorâ�¤ infix or meta-infixâ�¤    infixed functionâ�¤       statement modifier loopâ�¤Parse faile…»
12:25 Ven mmh, I seem to remember something that STD parsed correctly pretty impressively, while rakudo failed to parse it
12:26 dalek roast/S26-WHY: 17a27b4 | (Rob Hoelz)++ | S26-documentation/multiline-leading.t:
12:26 dalek roast/S26-WHY: Start on test for multiline declarative comments
12:26 dalek roast/S26-WHY: review: https://github.com/perl6/roast/commit/17a27b494a
12:27 jnap joined #perl6
12:27 user3 left #perl6
12:27 Ven std: sub a($) {5}; my @a = flat < a(b); say 1 > 2;
12:27 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a row at /tmp/hrprN7JHoV line 1:â�¤------> [32m a($) {5}; my @a = flat < a(b); say 1 > [33mâ��[31m2;[0mâ�¤    expecting any of:â�¤  feed_separatorâ�¤ infix or meta-infixâ�¤    infixed functionâ�¤       statement modifier lo…»
12:27 Akagi201_ joined #perl6
12:30 Akagi201 joined #perl6
12:33 Akagi201 joined #perl6
12:35 dalek roast: 1d4ff45 | coke++ | S02-lexical-conventions/unspace.t:
12:35 dalek roast: whoops, use standard RT #\d
12:35 dalek roast: review: https://github.com/perl6/roast/commit/1d4ff4535f
12:37 sjn_roadie joined #perl6
12:39 fhelmberger joined #perl6
12:39 Akagi201 joined #perl6
12:44 robinsmidsrod joined #perl6
12:45 Ven [coke]: how much rakudo NYI yet ? :p
12:46 Ven (fudged, I mean.)
12:50 [Coke] m: my $s = join |<< <a x y z>;
12:50 camelia rakudo-moar 2bc8f6: OUTPUT«Type check failed in binding op; expected 'Any' but got 'Mu'␤  in sub METAOP_HYPER_PREFIX at src/gen/m-CORE.setting:17541␤  in block  at /tmp/knCGO_WvV1:1␤␤»
12:51 [Coke] Ven: lots of fudging. NYI, unspecced, RTs... thena  bunch of stuff that's hiding.
12:51 anaeem1 joined #perl6
12:51 [Coke] m: my $s = ""; $s = join |<< <a x y z>;
12:51 camelia rakudo-moar 2bc8f6: OUTPUT«Type check failed in binding op; expected 'Any' but got 'Mu'␤  in sub METAOP_HYPER_PREFIX at src/gen/m-CORE.setting:17541␤  in block  at /tmp/M10s3p9Yff:1␤␤»
12:58 haroldwu joined #perl6
12:58 haroldwu joined #perl6
13:05 dalek roast: 6da8671 | coke++ | S02-literals/listquote.t:
13:05 dalek roast: use specific NYI
13:05 dalek roast: review: https://github.com/perl6/roast/commit/6da8671ce2
13:05 dalek roast: 911a4e8 | coke++ | S02-literals/listquote.t:
13:05 dalek roast: Fix expected type, unfudge test
13:05 dalek roast:
13:05 dalek roast: <1> generates something stringy, (2) is numeric
13:05 dalek roast: review: https://github.com/perl6/roast/commit/911a4e82f1
13:11 skids joined #perl6
13:28 psch https://github.com/perl6/roast/commit/911a4e82f1
13:28 psch uhm
13:28 psch putty right clicks are wrong :)
13:28 psch also, hi #perl6 o/
13:29 rurban1 joined #perl6
13:30 tadzik not the worst thing to accidentally paste :P
13:30 moritz totally
13:31 moritz better than private conversations, passwords, credit card numbers and other such stuff :-)
13:31 bluescreen10 joined #perl6
13:32 * flussence has paste_verify_line_count=1 set in irssi, out of paranoia for that sort of thing
13:41 kivutar joined #perl6
13:49 gfldex joined #perl6
13:49 Ven Okay, I'm getting a bit of a weird segfault.
13:49 Ven m: multi mordre(:$fort!) { "GRAOU!!!!!" }; multi mordre { "graou~" }; say mordre; say mordre();
13:50 camelia rakudo-moar 2bc8f6: OUTPUT«graou~␤graou~␤»
13:50 Ven m: multi mordre(:$fort!) { "GRAOU!!!!!" }; multi mordre { "graou~" }; say mordre; say mordre(:fort);
13:50 camelia rakudo-moar 2bc8f6: OUTPUT«(signal )graou~␤»
13:53 [Coke] "failure is just success, rounded down, my friend!" (http://www.qwantz.com/index.php?comic=955)
13:55 thou joined #perl6
13:55 MilkmanDan joined #perl6
13:57 btyler joined #perl6
13:58 timotimo is the php crowd mocking us?
13:59 Ven timotimo: where ?
14:00 flussence they're infighting over naming something "PHP 6", last I heard :)
14:01 nwc10 you mean they didn't think that adding "goto" was enough of a step change to justify a major version bump?
14:02 timotimo Ven: they are considering naming their next revision "PHP 7" instead of "PHP 6"
14:02 timotimo because there was already "a failed attempt at making a version 6 before and users could get confused"
14:02 timotimo the way Heise shortened the article for the rss feed omitted the word "PHP" before the 6
14:03 btyler timotimo: there was a planned PHP6 that never materialized. not a reference to perl6, I don't think
14:03 btyler there were even PHP6 books written
14:04 timotimo well, there was also a perl6 book written, or something similar
14:04 timotimo involving parrot
14:04 lizmat joined #perl6
14:07 btyler yep. I just mean there's probably no slight to be found there -- they have their own mild community trauma related to a version 6.
14:08 Ven they just decided to abandon it
14:09 Ven well, I think it had pretty much as much changes as py3
14:09 Ven btw, is the segfault I reported already known ?
14:12 Ven_ joined #perl6
14:14 woolfy joined #perl6
14:20 hoelzro morning #perl6
14:21 kaare_ joined #perl6
14:24 atroxaper joined #perl6
14:29 dalek rakudo/nom: 1009e54 | (Elizabeth Mattijsen)++ | docs/ChangeLog:
14:29 dalek rakudo/nom: Mention END block / exit fix
14:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1009e5443b
14:30 lizmat r:  END say 1; END exit 42; END say 2; END say 3
14:30 camelia rakudo-jvm 2bc8f6: OUTPUT«(timeout)»
14:30 camelia ..rakudo-{parrot,moar} 2bc8f6: OUTPUT«3␤2␤1␤»
14:31 lizmat hmmm... apparently JVM is not fixed yet...  hhmmm
14:32 raiph joined #perl6
14:32 [Coke] ^^ is the say 1 supposed to fire?
14:33 kurahaupo joined #perl6
14:33 lizmat yes
14:33 lizmat that was the whole point: exit() runs the END blocks
14:33 [Coke] O_o
14:34 lizmat Ven: segfault confirmed locally, please rakudobug it
14:34 [Coke] lizmat: oh, I thought that the exit wasn't exiting.
14:34 [Coke] lizmat++
14:34 lizmat it wasn't because it started to run *all* END blocks again
14:34 lizmat before doing the actual exit
14:34 lizmat so it called itself again, and again, and again, and again...
14:35 lizmat Ven: please mention that you must call *both* candidates to get the segfault
14:35 lizmat *and* in the given order!
14:36 lizmat and that it doesn't seem to be related to spesh
14:37 Ven_ lizmat: what's the email address to send it to ?
14:37 treehug88 joined #perl6
14:37 lizmat rakudobug@perl.org
14:40 dalek specs: 04b44e7 | (Lucas Buchala)++ | S0 (2 files):
14:40 dalek specs: Typos
14:40 dalek specs: review: https://github.com/perl6/specs/commit/04b44e7f47
14:40 dalek specs: 16662af | (Lucas Buchala)++ | S03-operators.pod:
14:40 dalek specs: Remove "Perl 6" from synopsis title
14:40 dalek specs: review: https://github.com/perl6/specs/commit/16662afc88
14:40 dalek specs: 8a8859e | (Will Coleda)++ | S0 (2 files):
14:40 dalek specs: Merge pull request #67 from lucasbuchala/master
14:40 dalek specs:
14:40 dalek specs: Small changes  - lucasbuchala++
14:40 dalek specs: review: https://github.com/perl6/specs/commit/8a8859e5e3
14:44 kivutar joined #perl6
14:51 jnap joined #perl6
15:07 atroxaper joined #perl6
15:13 chenryn joined #perl6
15:17 kivutar joined #perl6
15:27 Ven_ lizmat: if you're saying it has to be in that order, with both calls, then .. I'm pretty unfortunate.
15:29 lizmat fortunate really: it doesn't happen often you can produce a segfault this simply
15:32 brrt or so directly
15:32 brrt has anyone had the bright idea of running it through gdb yet? :-)
15:38 brrt i think 09000000001 is a weird number for an object poiner
15:38 brrt pointer
15:42 ChoHag Where can I get a list of the special characters available in perl 6 regex?
15:44 timotimo that's clearly over nine thousand
15:51 TimToady std: my token gecos { <- [':']>* }
15:51 camelia std 0f2049c: OUTPUT«Potential difficulties:â�¤  Repeated character (') unexpectedly found in character class at /tmp/LTr4mabSOp line 1:â�¤------> [32mmy token gecos { <- [':'][33mâ��[31m>* }[0mâ�¤ok 00:01 124mâ�¤Â»
15:51 TimToady m: my token gecos { <- [':']>* }
15:51 camelia rakudo-moar 1009e5: ( no output )
15:52 TimToady someone should hack that warning into rakudo
15:53 * FROGGS_ looks
15:54 TimToady m: my token gecos { [^:]* }
15:54 camelia rakudo-moar 1009e5: ( no output )
15:54 TimToady std: my token gecos { [^:]* }
15:54 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Unrecognized regex metacharacter : (must be quoted to match literally) at /tmp/uJmzKunMHY line 1:â�¤------> [32mmy token gecos { [^:[33mâ��[31m]* }[0mâ�¤Potential difficulties:â�¤  [^:] appears to be an old-school character cl…»
15:54 TimToady not to mention that one
15:55 FROGGS_ do not trick me into more work :P
15:55 TimToady well, both the warning and the error
15:56 jnthn m: /^:/
15:56 yoleaux 20 Jul 2014 14:08Z <FROGGS_> jnthn: Is that a valid patch about rooting? https://gist.github.com/FROGGS/534f320aa548e12f75c4
15:56 camelia rakudo-moar 1009e5: ( no output )
15:56 yoleaux 21 Jul 2014 20:55Z <brrt> jnthn: is this normal? i suspect it's part of inlining: https://gist.github.com/bdw/e5b606499aa6435f7e72
15:56 brrt jnthn++ can't get a break
15:56 jnthn If I had to guess why that doesn't error, I think it's 'cus it is somehow accepting : as a backtrack control.
15:57 jnthn So if anyone fancies looking into it, that's where I might start.
15:57 TimToady std: / 'foo': /
15:57 camelia std 0f2049c: OUTPUT«ok 00:01 123m␤»
15:57 brrt ok, how does 'say' work in rakudo level?
15:58 TimToady std: / «: /
15:58 camelia std 0f2049c: OUTPUT«ok 00:00 122m␤»
15:58 jnthn std: / foo: /
15:58 camelia std 0f2049c: OUTPUT«ok 00:01 122m␤»
15:58 jnthn std: / <(: /
15:58 camelia std 0f2049c: OUTPUT«ok 00:01 122m␤»
15:58 jnthn std: / $: /
15:58 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of $: variable; in Perl 6 please use Form module at /tmp/8dMj_5FHQb line 1:�------> [32m/ $:[33m�[31m /[0m�Parse failed�FAILED 00:00 122m�»
15:58 TimToady heh
15:58 jnthn std: / $ : /
15:58 camelia std 0f2049c: OUTPUT«ok 00:01 122m␤»
15:58 jnthn std: / ^ : /
15:58 camelia std 0f2049c: OUTPUT«ok 00:01 122m␤»
15:58 jnthn std: / ^: /
15:58 camelia std 0f2049c: OUTPUT«ok 00:01 122m␤»
15:59 TimToady o.(
15:59 jnthn std: / [^:] /
15:59 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Unrecognized regex metacharacter : (must be quoted to match literally) at /tmp/usSrae0oxs line 1:â�¤------> [32m/ [^:[33mâ��[31m] /[0mâ�¤Potential difficulties:â�¤  [^:] appears to be an old-school character class; please use …»
15:59 jnthn std: / [^ :] /
15:59 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Unrecognized regex metacharacter : (must be quoted to match literally) at /tmp/3GCRDnXVMu line 1:â�¤------> [32m/ [^ :[33mâ��[31m] /[0mâ�¤Potential difficulties:â�¤  [^ :] appears to be an old-school character class; please us…»
15:59 jnthn std: / [o:] /
15:59 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Unrecognized regex metacharacter : (must be quoted to match literally) at /tmp/S3OVcQVA_E line 1:â�¤------> [32m/ [o:[33mâ��[31m] /[0mâ�¤Potential difficulties:â�¤  [o:] appears to be an old-school character class; please use …»
15:59 jnthn std: / [o+:] /
15:59 camelia std 0f2049c: OUTPUT«ok 00:01 123m␤»
15:59 jnthn Hmmm. :)
16:00 TimToady std: / [<alpha>:] /
16:00 masak jnthn! \o/
16:00 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0m�Unrecognized regex metacharacter : (must be quoted to match literally) at /tmp/ESul5HkBmW line 1:�------> [32m/ [<alpha>:[33m�[31m] /[0m�Check failed�FAILED 00:01 124m�»
16:01 jnthn std: / <alpha>: /
16:01 camelia std 0f2049c: OUTPUT«ok 00:00 123m␤»
16:01 jnthn std: /<alpha>:/
16:01 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0m�Unrecognized regex metacharacter : (must be quoted to match literally) at /tmp/uShMMHX3Tg line 1:�------> [32m/<alpha>:[33m�[31m/[0m�Check failed�FAILED 00:00 123m�»
16:01 jnthn Um. :
16:02 jnthn std: /[ <alpha>: ]/
16:02 camelia std 0f2049c: OUTPUT«ok 00:01 123m␤»
16:02 jnthn std: /[ <alpha>:]/
16:02 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0m�Unrecognized regex metacharacter : (must be quoted to match literally) at /tmp/nePEnAY_SA line 1:�------> [32m/[ <alpha>:[33m�[31m]/[0m�Check failed�FAILED 00:01 124m�»
16:02 jnthn std: /[<alpha>: ]/
16:02 camelia std 0f2049c: OUTPUT«ok 00:01 124m␤»
16:02 jnthn I'm...guessing there's something wrong here. :)
16:02 FROGGS_ what kind of magic is that?
16:02 TimToady looks like it was written by a half-blind maniac
16:04 chenryn joined #perl6
16:04 TimToady actually, looks more like it requires a \s after the backtracking :
16:05 TimToady sigh: when is experimental at /home/larry/perl6/std/STD.pm line 67270.
16:06 FROGGS_ yeah :/
16:06 TimToady std: / : /
16:06 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0m�Backtrack control ':' does not seem to have a preceding atom to control at /tmp/f6q0yxlcek line 1:�------> [32m/ :[33m�[31m /[0m�Parse failed�FAILED 00:00 122m�»
16:06 TimToady std: /:/
16:06 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0m�Unrecognized regex metacharacter : (must be quoted to match literally) at /tmp/kSZ0Q3pb5x line 1:�------> [32m/:[33m�[31m/[0m�Can't call method "from" on unblessed reference at STD.pm line 55290.�FAILED 00:00 122m�»
16:07 PerlJam The fix is just a "use experimental qw<smartmatch>;" away though
16:08 FROGGS_ until given/when will be removed entirely (in case they do that)
16:08 TimToady yeah, std requires \s after a bare : for it to be a backtracking control
16:08 PerlJam FROGGS_: I don't think that will happen.
16:08 FROGGS_ PerlJam: I hope so
16:08 TimToady std: / <foo>:<bar> /
16:08 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0m�Unrecognized regex metacharacter : (must be quoted to match literally) at /tmp/vV6K7Y_CDg line 1:�------> [32m/ <foo>:[33m�[31m<bar> /[0m�Unable to parse regex; couldn't find final '/' at /tmp/vV6K7Y_CDg line 1:�------…»
16:08 TimToady std: / <foo>: <bar> /
16:08 camelia std 0f2049c: OUTPUT«ok 00:01 123m␤»
16:09 FROGGS_ j: say "o" ~~ /<:!Upper>*/; # RT #121365
16:09 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=121365
16:09 FROGGS_ (wait for it)
16:09 camelia rakudo-jvm 1009e5: OUTPUT«(timeout)»
16:12 lizmat j: END exit
16:12 camelia rakudo-jvm 1009e5: ( no output )
16:12 lizmat ah?
16:12 lizmat j: END say 1; END exit 42; END say 2
16:13 camelia rakudo-jvm 1009e5: OUTPUT«2␤1␤»
16:13 dalek nqp: aca7c91 | (Tobias Leich)++ | src/vm/jvm/QAST/Compiler.nqp:
16:13 dalek nqp: RT #121365 fail in uniprop when pos > eos
16:13 dalek nqp: review: https://github.com/perl6/nqp/commit/aca7c91e85
16:13 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=121365
16:13 dalek rakudo/nom: 72d5749 | (Tobias Leich)++ | tools/build/NQP_REVISION:
16:13 dalek rakudo/nom: bump nqp/jvm rev for uniprop fix
16:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/72d57492c3
16:16 sjn_roadie joined #perl6
16:17 lizmat it appears I'm going to give a lightning talk about Perl 6, and ho it's progressed the past year
16:17 lizmat *how
16:17 lizmat (at OSCON)
16:17 lizmat I'm thinking:
16:17 lizmat - MoarVM
16:17 lizmat - S17 related
16:18 lizmat - JIT on MoarVM
16:19 lizmat - many other optimizations
16:19 masak yeah, was gonna say.
16:19 masak speed is worth mentioning all on its own.
16:19 jnthn Well, JIT didn't get merged yet so it's more an "iminent". But MoarVM doing dynamic optimization stuff is wroth a metnion, as one contributor to the perf improvements.
16:19 jnthn Also a good one to mention is the material produced as part of the internals workshop
16:20 lizmat jnthn: good point  :-)
16:20 jnthn As it shows we've made progress on on-ramps for contributing too :)
16:20 masak mention v5, perhaps.
16:20 [Coke] m: my $multi1 = [1, ['foo', 'bar', 'baz'], 5]; EVAL('$multi1[1;0]')
16:20 camelia rakudo-moar 1009e5: OUTPUT«WARNINGS:␤Useless use of constant integer 1 in sink context (line 1)␤»
16:20 TimToady well, you can't talk about everything in 5 minutes...
16:20 [Coke] m: my $multi1 = [1, ['foo', 'bar', 'baz'], 5]; say EVAL('$multi1[1;0]')
16:20 camelia rakudo-moar 1009e5: OUTPUT«WARNINGS:␤Useless use of constant integer 1 in sink context (line 1)␤1␤»
16:21 lizmat - v5  :-)
16:21 lizmat - uploading / downloading from CPAN
16:21 jnthn Was gonna say, something on module stuff, yeah.
16:22 sjn_roadie mention concurrency, and mention the words 'we are pursuing the following language features worth mentioning: ...'
16:22 jnthn But as TimToady++ mentions, can only do so much in 5 mins :)
16:22 TimToady tell 'em smartmatching is not experimental in P6 :)
16:22 lizmat hehe
16:22 lizmat ok, good points!
16:23 masak perf is what makes Perl 6 *as interesting* as other languages. S17 stuff is what puts it ahead of the crowd.
16:23 dalek roast: 0381d6a | coke++ | S02-types/multi_dimensional_array.t:
16:23 dalek roast: use standard "NYI"
16:23 dalek roast: review: https://github.com/perl6/roast/commit/0381d6a3bd
16:23 lizmat the talk is going to be in about 33 hours, please mention more points if you have any  :-)
16:24 masak I looked through the ChangeLog. didn't see anything prominent pop up besides what has already been mentioned.
16:25 jnthn Yeah. There's been doznes of smaller improvements along the way, of course.
16:26 rurban maybe that with moarvm it is now 2x faster than parrot, if people have tried it before. And compared to Moose it's even faster than perl5
16:28 TimToady m: say "lo⃞l".flip
16:28 camelia rakudo-moar 1009e5: OUTPUT«l⃞ol␤»
16:28 TimToady don't quite have NFG yet
16:29 jnthn TimToady: No, I didn't attempt that, just teased apart a few more things to enable it.
16:29 woolfy left #perl6
16:30 user3 joined #perl6
16:30 TimToady jnthn++ anyway
16:30 kaleem joined #perl6
16:32 kivutar joined #perl6
16:33 [Coke] m: my $a := 42; say $a++
16:33 camelia rakudo-moar 1009e5: OUTPUT«Cannot assign to an immutable value␤  in sub postfix:<++> at src/gen/m-CORE.setting:4541␤  in block  at /tmp/8x8zbflFEp:1␤␤»
16:33 [Coke] m: my $a := 42;
16:33 camelia rakudo-moar 1009e5: ( no output )
16:33 TimToady message is a bit LTA
16:33 TimToady at least it mentions ++
16:33 fhelmberger joined #perl6
16:34 lizmat off to OSCON&
16:34 [Coke] my $a; my $b = sub ($arg) { $a := $arg }; my $val = 42; $b($val); say $a; $val++; say $a;
16:34 [Coke] ^^ that's S03-binding/scalars.t
16:34 [Coke] m: my $a; my $b = sub ($arg) { $a := $arg }; my $val = 42; $b($val); say $a; $val++; say $a;
16:34 camelia rakudo-moar 1009e5: OUTPUT«42␤42␤»
16:35 [Coke] the test is expecting 4243
16:35 timotimo i'm also a contributor to the perf improvements! :D
16:35 [Coke] marked as a "nom regression"
16:36 TimToady I don't think that can rightly assume that $arg represents something with a container
16:37 timotimo if there's no container, why not autovivify one around the passed value and make it propagate outwards? :D
16:37 TimToady sub args are officially readonly
16:37 TimToady you're sneakily violating that contract
16:38 [Coke] outer comment says "# Binding subroutine parameters"
16:38 TimToady m: my $a; my $b = sub (\arg) { $a := arg }; my $val = 42; $b($val); say $a; $val++; say $a;
16:38 camelia rakudo-moar 1009e5: OUTPUT«42␤43␤»
16:39 masak +1 to "sneakily violating contract"
16:39 masak I was surprised at that test's expectation.
16:39 TimToady if the parameter is not marked as referential, the binder is allowed to copy or otherwise deref it
16:40 TimToady it has never been required, for performance reasons, but the test is relying on expectations from undefined behavior
16:41 TimToady m: my $a; my $b = sub ($arg is rw) { $a := $arg }; my $val = 42; $b($val); say $a; $val++; say $a;
16:41 camelia rakudo-moar 1009e5: OUTPUT«42␤43␤»
16:42 TimToady that's the other way to do it correctly
16:42 jnthn Agree the test's expectations are off.
16:42 jnthn "\arg" or "is rw" keep the original container in place
16:43 zjmarlow joined #perl6
16:43 TimToady m: my $a; my $b = sub ($arg) { $a := $arg }; my $val = 42; $b($val); say $a; $a++; say $a;
16:43 camelia rakudo-moar 1009e5: OUTPUT«42␤Cannot assign to a readonly variable or a value␤  in sub postfix:<++> at src/gen/m-CORE.setting:4541␤  in block  at /tmp/Dd0n_eEeeg:1␤␤»
16:44 [Coke] ok, it gets worse:
16:44 jnthn Without those you either get (a) a decontainerized value if there's a type constraint that means it's not Iterable or Parcel, or (b) a readonly container around the thing otherwise to make sure we don't screw up flattening, but it certainly forbids assignment.
16:44 [Coke] (making it \arg fixes the 42/43 issue: then, we have:
16:45 [Coke] https://github.com/perl6/roast/blob/master/S03-binding/scalars.t#L105
16:45 [Coke] which fails the last 2 tests in the block.
16:45 [Coke] so, change to \arg, remove the last 2 tests? (they re both 23 with the \arg change, not 43)
16:46 [Coke] (or change the test to verify they are mutable?)
16:47 [Coke] er, sorry, the dies_ok also fails, that works just fine.
16:48 jnthn I think on balance I'd keep it as $arg, but change the test 'is $a, 43, "bound readonly sub param was bound correctly (2)";'
16:48 [Coke] I have a first pass, feel free to fix it after I push.
16:48 [Coke] ... ok, let me do that.
16:48 jnthn To correctly say we don't expect it to change
16:48 TimToady yes, I'd make that one test that $a is 42
16:49 [Coke] jnthn: you mean 42?
16:49 TimToady he was identifying the test to change, not giving the new version
16:50 [Coke] TimToady++ jnthn++
16:50 jnthn What TimToady++ said
16:53 atroxaper joined #perl6
16:53 TimToady if it turns out that we can perform the decont with little performance penalty, I suppose we could spec that behavior rather than leaving it undefined (if my memory of undefinedness is accurate)
16:54 jnthn TimToady: Well, it can actually be a performance win
16:54 TimToady of course, long term the real spec is roast, not the synopses
16:54 [Coke] ok. the behavior here is that if you $val++, then val does in crease, but $a does not.
16:55 [Coke] yesyes?
16:55 TimToady is fine
16:55 jnthn TimToady: If multiple things down the line would want the value inside the container, then we can decont once, not every time.
16:55 TimToady basically, 'is copy' semantics are fine
16:55 jnthn TimToady: Furthermore, spesh is pretty good at removing unrequired decont instructions these days.
16:55 TimToady and 'is readonly' is even bettr
16:55 TimToady so I hear :)
16:55 jnthn Well, "is copy" is different.
16:56 jnthn It creates a mutable container and copies the stuff
16:56 dalek roast: edef7d1 | coke++ | S03-binding/scalars.t:
16:56 dalek roast: refer to RT
16:56 dalek roast: review: https://github.com/perl6/roast/commit/edef7d1b34
16:56 dalek roast: 55f0db9 | coke++ | S03-binding/scalars.t:
16:56 dalek roast: untodo nom regressions, fix expectations
16:56 dalek roast:
16:56 dalek roast: jnthn++ TimToady++
16:56 dalek roast: review: https://github.com/perl6/roast/commit/55f0db91b9
16:56 jnthn So you have a variable you can mutate inside of the routine
16:56 TimToady thinking more of the value semantics of C when I say that
16:56 jnthn Ah, ok :)
16:56 jnthn .oO( Always know which language you're speaking... :) )
16:57 TimToady catching the attempt to mutate is a different issue from allowing the mutation to propagate outward
16:58 TimToady but great if we can do both
16:58 TimToady (efficiently)
17:03 sjn_ joined #perl6
17:04 treehug88 joined #perl6
17:14 [Coke] gr00mstick
17:14 [Coke] ... I hate you, macbook air.
17:15 TimToady so much for that password...
17:15 brrt joined #perl6
17:15 jnthn ...great idea for a wedding prop, though... :P
17:16 TimToady that would be a cattle prod you give the bride, right?
17:24 [Coke] :)
17:24 * vendethiel just realized he still needs to explain positionals vs named, and required, and ...
17:26 PZt joined #perl6
17:29 lizmat joined #perl6
17:31 rurban1 joined #perl6
17:32 zjmarlow Is there any way to have two different enumerations that happen to have a key in common?  S12 seems to say it's possible, but that the ambiguous name must be qualified...
17:34 timotimo m: enum Left <A B C>; enum Right <C D E>; say A; say E; say Left::C; say Right::C;
17:34 camelia rakudo-moar 1009e5: OUTPUT«A␤E␤C␤C␤»
17:34 TimToady the intended semantics are that the colliding names poison that name to produce an error if the unqualified form is used
17:34 timotimo m: enum Left <A B C>; enum Right <C D E>; say A; say E; say C.perl;
17:34 camelia rakudo-moar 1009e5: OUTPUT«A␤E␤Right::C␤»
17:34 jnthn Rakudo apparently has the wrong semantics...
17:34 TimToady (an idea from Ada, as it happens)
17:34 timotimo oh
17:35 jnthn TimToady: Is a Failure an ideal thing to install as the poision, ooc?
17:35 jnthn Or did you have something else (more static?) in mind?
17:35 TimToady I'd think a compile-time error would be more better
17:35 molaf joined #perl6
17:35 jnthn std: enum Left <A B C>; enum Right <C D E>;
17:35 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0m�Illegal redeclaration of symbol 'C' (see line 1) at /tmp/L757e0f1rZ line 1:�------> [32menum Left <A B C>; enum Right <C D E>[33m�[31m;[0m�Check failed�FAILED 00:01 121m�»
17:35 jnthn Darn, can't steal a solution from there :)
17:36 TimToady iirc, Ada only does that on import, not on your own declarations
17:36 jnthn OK, so we don't actually install anything in the lexpad per se, just keep track of it as compile state...
17:36 jnthn Though that may not wok out too well either
17:36 jnthn *work
17:37 TimToady but yeah, STD doesn't attempt it
17:37 Ven joined #perl6
17:38 TimToady but the idea is not to penalize a program for importing two colliding definitions unless they actually attempt to use the symbol in question
17:38 denis_boyun joined #perl6
17:39 TimToady much like we don't penalize two roles for having the same method unless someone actually tries to compose them together
17:39 dalek roast: 046f212 | (Tobias Leich)++ | S05-mass/charsets.t:
17:39 dalek roast: RT #121365 match negated quatified character class
17:39 dalek roast: review: https://github.com/perl6/roast/commit/046f2129df
17:39 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=121365
17:41 Ven did perl "steal" phasers from some other languages ? or did it "invent" it
17:41 TimToady well, BEGIN/END originally came from awk
17:42 lizmat joined #perl6
17:42 vendethiel joined #perl6
17:42 Ven "All attributes in Perl 6 are private, and named $!foo" I think I'm gonna steal that explanations from jnthn++ =)
17:43 TimToady ...except for the ones that are names something other than "foo"...  :P
17:43 TimToady *named
17:43 Ven TimToady: prove it
17:44 TimToady well, what about $!bar?
17:45 TimToady A $!foo walks into a $!bar and waits for the bartender to overflow his stack...
17:46 FROGGS_ >
17:46 FROGGS_ >.<
17:46 Ven .oO( Let me tell you my story )
17:47 TimToady .oO( Let me tell you has story )
17:47 Ven Dammit, you got me. Well. On another note, module, role, class, grammar, enum and package ? that's the six model ?
17:47 TimToady subset
17:48 FROGGS_ [Coke]: remember the curlies in that parrot patch? they are needed!
17:48 FROGGS_ perl -E 'say " 28" =~ /\x2028/'   # pass
17:48 FROGGS_ perl -E 'say " 28" =~ /\x{2028}/' # fail
17:48 Ven but then there's more than 6 :P. Unless package/module is only one
17:48 guru joined #perl6
17:49 TimToady packages are not of great import
17:49 Ven Well, I still havn't understood the difference between module and package, and I'm not really sure where in the syns to look.
17:50 lizmat Ven: consider package the "base class" of module / class / grammar  etc
17:51 * masak groans at TimToady's "no great import"
17:51 Ven so, the lowest common denominator ? They're not (usually) to be used as declarative keywords?
17:52 [Sno] joined #perl6
17:53 FROGGS_ Ven: just because something it is the base for other things, it does not imply that you will never use it
17:53 lizmat package you probably would never use when developing with Perl 6
17:53 Ven FROGGS_: it doesn't. But it might very well imply there's less reasons to use it
17:53 lizmat as a core developer, you might
17:53 lizmat is at least my understanding of it  :-)
17:53 FROGGS_ if you need to package up something and you won't export subs, then you could use it
17:53 Ven I'll leave the idea of a tutorial for a core developer for another time, though ;-)
17:54 Ven FROGGS_: what do you package then ?
17:54 FROGGS_ Ven: you can still make subs available via the package
17:54 FROGGS_ Foo::bar()
17:55 * PerlJam still has p5 code that does that.
17:55 Ven Ah, indeed. Not to be imported in the main namespace. Though imho, that 's a decision that should be left to the user
17:55 PerlJam foregoing Exporter and its ilk
17:55 FROGGS_ but if the current style of Perl 6 would be to export sets of subs then yes, you would probably use modules
17:56 sjn_ joined #perl6
17:58 [Coke] FROGGS_: crazy perl 5 rules. thanks.
18:00 zjmarlow_ joined #perl6
18:01 TimToady std: say DateTime:FormatMySQL("2014-07-09T13:24:00") # spot the error
18:01 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Undeclared name:â�¤    'DateTime:FormatMySQL("2014-07-09T13:24:00")' used at line 1â�¤Check failedâ�¤FAILED 00:01 124mâ�¤Â»
18:02 TimToady m: say DateTime:FormatMySQL("2014-07-09T13:24:00") # spot the error
18:02 camelia rakudo-moar 72d574: OUTPUT«(DateTime)␤»
18:02 TimToady it's a parsing problem, not a named argument problem
18:03 TimToady re http://irclog.perlgeek.de/perl6/2014-07-09#i_8994482
18:03 TimToady FROGGS_, lizmat: ^^^
18:04 FROGGS_ std: say DateTime:FormatMySQL("2014-07-09T13:24:00") # spot the error
18:04 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Undeclared name:â�¤    'DateTime:FormatMySQL("2014-07-09T13:24:00")' used at line 1â�¤Check failedâ�¤FAILED 00:01 124mâ�¤Â»
18:10 TimToady STD generalizes the infix:sym<+> syntax to be any foo:bar
18:10 TimToady std: foo:bar
18:10 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared routine:� 'foo:bar' used at line 1�Check failed�FAILED 00:00 121m�»
18:11 TimToady and relies on messages like that to tell you when you screwed up
18:11 FROGGS_ hmmm
18:11 TimToady sounds like rakudo is parsing it that way but then throwing the extra info away
18:12 TimToady m: foo:bar
18:12 camelia rakudo-moar 72d574: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/wrgoxksjMMâ�¤Undeclared routine:â�¤    foo:bar used at line 1â�¤â�¤Â»
18:12 TimToady well, not in that case
18:12 FROGGS_ m: foo:bar()
18:12 camelia rakudo-moar 72d574: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/O8EF3_XxhUâ�¤Undeclared routine:â�¤    foo:bar() used at line 1â�¤â�¤Â»
18:12 FROGGS_ hmmm
18:13 TimToady maybe it's just on types
18:13 FROGGS_ m: int:bar
18:13 camelia rakudo-moar 72d574: ( no output )
18:13 FROGGS_ yeah
18:13 TimToady std: Int:bar()
18:13 PerlJam Hmm.
18:13 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Undeclared name:â�¤    'Int:bar()' used at line 1â�¤Check failedâ�¤FAILED 00:01 123mâ�¤Â»
18:13 FROGGS_ TimToady: btw, can we drop :T ?
18:14 TimToady well, we haven't developed much of a use case for it
18:15 FROGGS_ I don't even understand the difference between how :U is meant to be and what :U is implemented like
18:15 PerlJam Placement of that whitespace is important:  "foo: bar",  "foo:bar" and "foo :bar" are all radically different.
18:15 Ven joined #perl6
18:15 FROGGS_ because for me a type object is the only undefined thing
18:16 TimToady m: say Failure.new.defined
18:16 camelia rakudo-moar 72d574: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤  in method new at src/gen/m-CORE.setting:12849␤  in block  at /tmp/XR3sU9MtLN:1␤␤»
18:16 FROGGS_ okay, I've seen a test where it expects that method .defined is called on the argument, but that is, I dunno
18:16 TimToady m: say Failure.new("oops").defined
18:16 camelia rakudo-moar 72d574: OUTPUT«False␤»
18:16 FROGGS_ hmmm
18:16 TimToady the idea is to have interesting values of undef
18:17 Ven m: package Foo { subset A of Int; }; my Foo::A $a = 1;
18:17 TimToady that can tell you why it's undefined
18:17 camelia rakudo-moar 72d574: ( no output )
18:17 FROGGS_ is :U a superset of :T and things that lie via .defined?
18:17 TimToady well, :D isn't really .defined
18:17 TimToady it's .DEFINITE
18:18 TimToady m: say Failure.new("oops").DEFINITE
18:18 camelia rakudo-moar 72d574: OUTPUT«True␤»
18:18 FROGGS_ ohh such complex
18:19 TimToady you have to have primitives
18:19 FROGGS_ yeah...
18:19 TimToady funny how primitives turn out to look more complex...
18:19 FROGGS_ well, at least the current implementation is sort of easy to understand, that's worth something :o)
18:20 sjn_roadie joined #perl6
18:20 TimToady of course, that means the real opposite of :D should be :I
18:21 PerlJam nah, :U is for UNDEFINITE :)
18:21 TimToady :N for nondefinite
18:21 jnthn On packages, when you write class A::B { } and there's no A already, the A is actually a package.
18:21 sjn_ joined #perl6
18:21 jnthn It is the only kind of package-like thing you can redeclare as something else later.
18:22 TimToady yes, it has that stubbing funciton
18:22 jnthn m: class A::B { }; module A { }
18:22 camelia rakudo-moar 72d574: ( no output )
18:22 TimToady funciton should totally be a word
18:23 PerlJam TimToady: only if it's a particle of some sort.
18:23 * TimToady waits for [particle] to wave
18:23 lizmat joined #perl6
18:23 * [particle] waves
18:24 PerlJam heh
18:24 * [particle] waits for [wave] to particle
18:26 [Coke] r: { "a" ~~ /./ }; say $/.perl;
18:27 camelia rakudo-{parrot,moar} 72d574: OUTPUT«Match.new(orig => "a", from => 0, to => 1, ast => Any, list => ().list, hash => EnumMap.new())␤»
18:27 camelia ..rakudo-jvm 72d574: OUTPUT«Match.new(to => 1, hash => EnumMap.new(), ast => Any, list => ().list, orig => "a", from => 0)␤»
18:27 [Coke] $/ should be lexical, yes?
18:28 PerlJam [Coke]: so sayeth S05
18:28 * [Coke] rakudobugs
18:28 jnthn No, it's per Routine.
18:28 jnthn Unless declared otherwise
18:28 jnthn Same as $!
18:29 PerlJam S05:64
18:29 synopsebot Link: http://perlcabal.org/syn/S05.html#line_64
18:29 sjn_ joined #perl6
18:29 jnap joined #perl6
18:30 PerlJam r: $/ = 5;
18:30 camelia rakudo-{parrot,jvm,moar} 72d574: ( no output )
18:30 jnthn PerlJam: http://perlcabal.org/syn/S05.html#Match_objects
18:30 [Coke] that line of S05 is from 2008-11-26
18:30 PerlJam r: $/ = 5; say $/;
18:30 camelia rakudo-{parrot,jvm,moar} 72d574: OUTPUT«5␤»
18:31 [Coke] and jnthn's line is from 2013-02-23
18:31 PerlJam then, clearly it's a fossil  :)
18:31 [Coke] (first pmichaud, second timtoady)
18:31 TimToady yes, fossile, or at least imprecise
18:31 [Coke] ok. I'll remove the test.
18:32 TimToady it's lexically scoped to the subroutine :)
18:32 masak [Coke]++
18:32 PerlJam Also, how about assignment to $/?   S05 also says it may not be assigned directly.
18:32 TimToady fossile should totally be a word...
18:32 [Coke] er, updated it to the opposite.
18:32 rurban1 joined #perl6
18:33 TimToady std: $/ = 5;
18:33 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of $/ variable as input record separator; in Perl 6 please use the filehandle's :irs attribute at /tmp/uXKfc8MvqW line 1:�------> [32m$/[33m�[31m = 5;[0m�Parse failed�FAILED 00:00 121m�»
18:33 TimToady std: $/ := 5
18:33 camelia std 0f2049c: OUTPUT«ok 00:00 123m␤»
18:33 TimToady std: ($/) = 5
18:33 camelia std 0f2049c: OUTPUT«ok 00:01 126m␤»
18:33 TimToady that's what it means
18:34 PerlJam aye, but none of the implementations seem to complain.
18:34 jnthn Yeah, we're missing that check.
18:34 TimToady n: $/ =  5
18:34 camelia niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Unsupported use of $/ variable as input record separator; in Perl 6 please use the filehandle's :irs attribute at /tmp/Z1QcG0gWbi line 1:â�¤------> [32m$/[33mâ��[31m =  5[0mâ�¤â�¤Parse failedâ�¤â�¤Â»
18:34 TimToady PerlJam: guess again :)
18:34 PerlJam oops, sorry, none of the *rakudo* implementations seem to complain  :)
18:35 TimToady pugs: $/ = 5
18:35 camelia pugs: ( no output )
18:35 TimToady aww
18:37 dalek roast: ebb14eb | coke++ | S05-match/blocks.t:
18:37 dalek roast: $/ is a dynamic lexical
18:37 dalek roast:
18:37 dalek roast: remove "nom regression", fix test; jnthn++ TimToady++ PerlJam++
18:37 dalek roast: review: https://github.com/perl6/roast/commit/ebb14eb8ff
18:39 PerlJam r: sub foo { "a" ~~ /./ }; foo(); say $/;
18:39 camelia rakudo-{parrot,jvm,moar} 72d574: OUTPUT«Nil␤»
18:42 raiph joined #perl6
18:46 dalek roast: 1b92eeb | coke++ | S05-match/blocks.t:
18:46 dalek roast: Also, remove the other few identical tests.
18:46 dalek roast:
18:46 dalek roast: (once it's available in outer, we don't need to keep re-checking)
18:46 dalek roast: review: https://github.com/perl6/roast/commit/1b92eeb0d0
18:47 PerlJam Coke: but what if it suddenly becomes defined in an outer block 3 blocks into the test?!?  :)
18:47 [Coke] then you can fix it.
18:48 Sqirrel joined #perl6
18:50 TimToady Doctor, it hurts when I test this...
19:04 cognominal like if TimToady had not enough health problems...
19:06 hoverboard joined #perl6
19:13 denis_boyun joined #perl6
19:17 virtualsue joined #perl6
19:23 anaeem1 joined #perl6
19:25 denis_boyun joined #perl6
19:27 dalek roast: 8b3795a | coke++ | S32-str/lines.t:
19:27 dalek roast: add a test for RT #115136
19:27 dalek roast: review: https://github.com/perl6/roast/commit/8b3795a40b
19:27 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=115136
19:28 Ven joined #perl6
19:28 [Coke] yay, actually closed a ticket. :)
19:29 denis_boyun___ joined #perl6
19:30 Ven oh whoops, I still need to rakudobug that crash
19:33 rurban1 joined #perl6
19:34 Ven "error: 'perl6' doesn't contain any 'host' platform architectures: x86_64, i386" lldb might not be an option, uh...
19:34 treehug88 joined #perl6
19:39 Ven There doesn't seem to be any doc on which format should be used to send a rakudobug email
19:45 hummeleB1 joined #perl6
19:50 hummeleB1 joined #perl6
19:52 Ven joined #perl6
19:54 carlin Ven: https://github.com/rakudo/rakudo#reporting-bugs
19:54 Ven carlin: ah, I looked everywhere but at this obvious place. Should be on the website =). thanks
19:56 Ven Actually, that seems to be a MoarVM bug. Just tried it with rakudo-j, worked fine.
19:57 Ven (`multi mordre(:$fort!) { "GRAOU!!!!!" }; multi mordre { "graou~" }; say mordre; say mordre(:fort);` <- that I mean)
19:58 FROGGS_ Ven: look at #moarvm
19:58 dwarring joined #perl6
19:58 FROGGS_ Ven: brrt++ pushed a fix a bit more than an hour ago
19:58 Ven FROGGS_: lizmat reported it ?
19:58 Ven ooh, brrt++
19:58 FROGGS_ aye
19:59 Ven Well, I'm happy I found a real bug for once :P
19:59 FROGGS_ *g*
19:59 Ven Does this now need a test ?
19:59 FROGGS_ I'd be happy if that would finally stop happening :o)
19:59 FROGGS_ Ven: yes, a test would be very helpful
20:02 telex joined #perl6
20:04 cognominal joined #perl6
20:05 * Ven realizes he's not on #moarvm on this comp
20:08 FROGGS_ O.o
20:09 Ven FROGGS_: ?
20:10 FROGGS_ it is sacrilegious to not be on #moarvm
20:10 Ven .oO( That's probably why I decided so in the first place )
20:11 psch :o
20:12 Ven `sub`s aren't `our` by default ? I thought they were
20:13 PerlJam Ven: they are lexical in P6 IIRC
20:14 FROGGS_ Ven: packagish things are our, the rest is not
20:15 * FROGGS_ probably has a patch for RT #122285
20:15 * synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=122285
20:16 Ven m: module A::B { sub b(Int $n = 0) { our sub b { ($n // 5) + 3 } } }
20:16 camelia rakudo-moar 72d574: ( no output )
20:16 FROGGS_ ohh noes
20:16 Ven m: module A::B { sub b(Int $n = 0) { our sub b { ($n // 5) + 3 } } }; A::B::b
20:16 camelia rakudo-moar 72d574: OUTPUT«Cannot call method 'defined' on a null object␤  in sub b at /tmp/AJzE3uR4Np:1␤  in block  at /tmp/AJzE3uR4Np:1␤␤»
20:16 anaeem1_ joined #perl6
20:16 FROGGS_ I mean, you asked for trouble
20:16 Ven I admit I did.
20:17 FROGGS_ m: module A::B { sub b(Int $n = 0) { }; sub c() { our sub b { ($n // 5) + 3 } } }
20:17 camelia rakudo-moar 72d574: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/lilyidfZOCâ�¤Variable '$n' is not declaredâ�¤at /tmp/lilyidfZOC:1â�¤------> [32mt $n = 0) { }; sub c() { our sub b { ($n[33mâ��[31m // 5) + 3 } } }[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
20:17 Ven .oO( That's probably why I tried that in the first place ) # -- anarchy time, is it ?
20:17 FROGGS_ m: module A::B { sub b(Int $n = 0) { }; sub c(nt $n = 0) { our sub b { ($n // 5) + 3 } } }
20:17 camelia rakudo-moar 72d574: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/LI4co6qFFE�Invalid typename 'nt' in parameter declaration.�at /tmp/LI4co6qFFE:1�------> [32me A::B { sub b(Int $n = 0) { }; sub c(nt[33m�[31m $n = 0) { our sub b { ($n // 5) + 3 } }[0m�»
20:17 FROGGS_ m: module A::B { sub b(Int $n = 0) { }; sub c(Int $n = 0) { our sub b { ($n // 5) + 3 } } }
20:17 camelia rakudo-moar 72d574: ( no output )
20:17 FROGGS_ m: module A::B { sub b(Int $n = 0) { }; sub c(Int $n = 0) { our sub b { ($n // 5) + 3 } } }; A::B.c(42)
20:17 camelia rakudo-moar 72d574: OUTPUT«Cannot invoke this object (REPR: Null, cs = 0)␤  in block  at /tmp/xvndhkiO1w:1␤␤»
20:17 brrt joined #perl6
20:19 rindolf joined #perl6
20:19 Ven FROGGS_: I'll just follow the doctor's orders, though.
20:19 FROGGS_ yeah
20:21 Ven oh, you can't put a type constraint on an `our` variable ?
20:21 ChoHag How do you turn a string "foo" into a class foo?
20:22 psch m: ::("Str").WHAT.say
20:22 camelia rakudo-moar 72d574: OUTPUT«(Str)␤»
20:22 psch m: ::("Int").WHAT.say
20:22 camelia rakudo-moar 72d574: OUTPUT«(Int)␤»
20:22 psch ChoHag: like that
20:23 TimToady it's ugly on purpose
20:23 psch m: my $a = 'abc'; say $a ~~ s/a/b/; # https://github.com/rakudo/rakudo/pull/295 makes this "... but $/.Bool", cf RT #82108
20:23 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=82108
20:23 camelia rakudo-moar 72d574: OUTPUT«True␤»
20:23 ChoHag Thankyou.
20:24 FROGGS_ ChoHag: so if you want to do this when a type exists: unless ::("foo") ~~ Failure { ::("foo").new() }
20:24 psch i'm still not sure about s/// returning a Str but Bool, mainly because jnthn++ was so adamant about a class for the tr/// result... :)
20:27 ChoHag In a ?? !!, can the * magic take the conditional (or part of it) and us it in the then/else clause to say 'it', like: it=($foo) ~~ "something" ?? do(it) !! don't-do(it)?
20:27 ChoHag I don't know what else to call the * other than a magic.
20:27 psch m: *.WHAT.say
20:27 camelia rakudo-moar 72d574: OUTPUT«(Whatever)␤»
20:28 psch ...but you're not using Whatever there
20:29 psch m: { $^a ~~ "it" ?? say  $a !! say "not it" }("it")
20:29 camelia rakudo-moar 72d574: OUTPUT«it␤»
20:29 psch ChoHag: that's the closest to what i think you mean that i can think of... :)
20:29 ChoHag Oh heh. It was just a thought.
20:30 psch m: { $^a ~~ "it" ?? say  $a !! say "not it" }($_) for <it not_it something_else_entirely>
20:30 camelia rakudo-moar 72d574: OUTPUT«it␤not it␤not it␤»
20:30 jnthn psch: Yeah, I'm rather uncomfortable with that patch
20:31 psch jnthn: old talks of yours say you can imagine it to make sense, sometimes... but i'm more on the "not like this"-side of this myself
20:32 jnthn yeah, was just looking at the ticket
20:33 jnthn r: say "abc".subst(/\w/, 'b').WHAT
20:33 camelia rakudo-{parrot,jvm,moar} 72d574: OUTPUT«(Str)␤»
20:33 ChoHag Is there a way to pretty-print nested hashes?
20:33 hoelzro is perl6/ecosystem still the right place to submit modules?
20:34 hoelzro I'm prepping something I've been working on and wanted to see if that assumption still held true
20:34 [Coke] ChoHag: panda install Data::Pretty ?
20:34 FROGGS_ ummm, I don't like it when tests test for opposite behaviour
20:34 ChoHag Are you asking or telling?
20:35 [Coke] suggesting.
20:35 [Coke] star: use Data::Pretty;
20:35 camelia star-p 2014.04: OUTPUT«===SORRY!===␤Could not find Data::Pretty in any of: /home/p6eval/.perl6/2014.04/lib, /home/p6eval/star-2014.04/lib/parrot/6.1.0/languages/perl6/site/lib, /home/p6eval/star-2014.04/lib/parrot/6.1.0/languages/perl6/vendor/lib, /home/p6eval/star-2014.04/lib/par…»
20:35 camelia ..star-m 2014.04: OUTPUT«===SORRY!===␤Could not find Data::Pretty in any of: /home/p6eval/.perl6/2014.04/lib, /home/p6eval/star-2014.04/languages/perl6/site/lib, /home/p6eval/star-2014.04/languages/perl6/vendor/lib, /home/p6eval/star-2014.04/languages/perl6/lib␤»
20:35 [Coke] ah well.
20:35 rurban1 joined #perl6
20:35 jnthn hoelzro: yes, afaik
20:35 hoelzro excellent
20:36 jnthn We're not at the point of using PAUSE yet
20:36 zjmarlow_ left #perl6
20:36 ChoHag Or suggesting.
20:36 ChoHag Oh bah I haven't set up modules on here...
20:36 jnthn psch: Did you see if the spec has any language on what it wants, ooc?
20:38 timotimo does the spec have any luggage?
20:38 psch jnthn: S05 doesn't mention explicitely what s/// should return, no
20:39 psch i haven't looked anywhere else, so i might have missed something
20:39 jnthn Well, it indirectly does
20:39 jnthn Any scalar assignment operator may be used; the substitution macro knows how to turn
20:39 jnthn $target ~~ s:g[pattern] op= expr
20:39 jnthn into something like:
20:39 jnthn $target.subst(rx[pattern], { $() op expr }, :g)
20:40 jnthn Which actually suggests "just return the string"
20:40 psch but that implies that any s/// is always true, which breaks "if s/// { }"
20:40 TimToady I believe it requires a Match return somewhere
20:41 SamuraiJack joined #perl6
20:42 psch "A successful match always returns a Match object [...]" might be that?
20:43 psch S05:2907 would that be
20:43 synopsebot Link: http://perlcabal.org/syn/S05.html#line_2907
20:44 jnthn TimToady: I can't find any mention of that in S05...
20:44 davercc joined #perl6
20:44 psch of course that's not explicitely for s///, but s/// has to match to substitute
20:44 jnthn Unless what psch just mentions covers it
20:44 jnthn In that case, what should .subst return?
20:45 jnthn Also, what goes s:g/// return? :)
20:45 * FROGGS_ .oO( a Gatch? )
20:45 FROGGS_ think of all the possibilities :o)
20:46 segomos m: say (s:g/'perl5'/'perl6'/).perl;
20:46 camelia rakudo-moar 72d574: OUTPUT«""␤»
20:46 denis_boyun_ joined #perl6
20:46 [Coke] a Moustatch?
20:46 psch S05:4225
20:46 synopsebot Link: http://perlcabal.org/syn/S05.html#line_4225
20:46 Ven can I say that "state variables exist in one enclosing context" ? Not sure how to explain it correctly
20:47 psch still a single Match object :(
20:47 segomos m: say s:g/'perl5'/'perl6'/ eq Nil;
20:47 camelia rakudo-moar 72d574: OUTPUT«True␤»
20:47 segomos m: say s:g/'perl5'/'perl6'/.so;
20:47 camelia rakudo-moar 72d574: OUTPUT«False␤»
20:49 ChoHag What environment does perl 6 get its new @INC from?
20:49 kivutar joined #perl6
20:49 denis_boyun___ joined #perl6
20:50 FROGGS_ ChoHag: it takes PERL6LIB into account if you mean that
20:51 TimToady s:g/// must return a faked up Match (or Nil); otherwise OKness doesn't work in smartmatching
20:53 ChoHag It was.
20:54 ChoHag Data::Pretty is nice, and it got me to install panda, but I meant something which will format nested hashes or arrays like Data::Dumper did.
20:55 masak heh; glad you like Data::Pretty.
20:55 ChoHag Hmm what about yaml?
20:55 masak I still hope that Perl 6 (spec) will make Data::Pretty redundant.
20:56 TimToady this is discussed somewhat in S03 under Smart matching
20:56 * Ven broke the 700 lines! Still going for that 1k lines before publishing it "officially"
20:56 Ven Probably next : grammars (since many friends of mine I've pointed to perl 6 have asked me to cover it)
20:57 vendethiel (do you people writing stuff keep some kind of to-do list of what you're going to talk about ?)
20:58 FROGGS_ I stub the headlines/chapters first, yes
20:58 FROGGS_ and that's my todo
20:59 btyler around .gist output and Data::Pretty, I keep getting bit by trying to play with lazy structures in the REPL and throwing rakudo into counting up to Inf. is there an approved representation of lazy lists for gistification that keeps them lazy?
21:00 [Coke] if it's .gist, sure we can show the reified elements, and then a ...
21:00 [Coke] (as oppposed to a .perl, which might be expected to roundtrip)
21:02 masak that sounds like a good idea in general.
21:02 masak if .gist is for presenting things to humans.
21:02 masak humans tend to like neither infinitely long outputs now infinitely long compute times.
21:04 dalek nqp: f0a3cf0 | (Tobias Leich)++ | src/HLL/Grammar.nqp:
21:04 dalek nqp: RT #122285 splitting on words means splitting on non-nbsp
21:04 dalek nqp: review: https://github.com/perl6/nqp/commit/f0a3cf0324
21:04 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=122285
21:05 dalek nqp: 707e1cb | (Tobias Leich)++ | tools/build/MOAR_REVISION:
21:05 dalek nqp: bump moar rev for multi cache fix
21:05 dalek nqp: review: https://github.com/perl6/nqp/commit/707e1cb8dc
21:06 dalek rakudo/nom: 6504db0 | (Tobias Leich)++ | tools/build/NQP_REVISION:
21:06 dalek rakudo/nom: bump nqp/moar rev for qw() and mmd fix
21:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6504db0540
21:07 dalek roast: 08f409e | (Tobias Leich)++ | S02-l (2 files):
21:07 dalek roast: RT #122285 tests for not breaking on nbsp
21:07 dalek roast: review: https://github.com/perl6/roast/commit/08f409e526
21:07 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=122285
21:07 brrt left #perl6
21:08 ChoHag What happened to s///?
21:09 FROGGS_ perl6-m -e 'say <a b c d>.perl'
21:09 FROGGS_ ("a", "b", "c d")
21:09 FROGGS_ \o/
21:09 masak FROGGS++
21:09 masak ChoHag: can you be more specific?
21:09 [Coke] m: my $a="asdfasdfasdf"; $a.subst("sd","12",:g).say;
21:09 camelia rakudo-moar 72d574: OUTPUT«a12fa12fa12f␤»
21:09 [Coke] there's one way to write it, anyway.
21:10 masak m: $_ = "asdfasdfasdf" s:g/sd/12/; .say
21:10 camelia rakudo-moar 72d574: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Pv6Um9OlMXâ�¤Two terms in a rowâ�¤at /tmp/Pv6Um9OlMX:1â�¤------> [32m$_ = "asdfasdfasdf" [33mâ��[31ms:g/sd/12/; .say[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤      â€¦Â»
21:10 masak m: $_ = "asdfasdfasdf"; s:g/sd/12/; .say
21:10 camelia rakudo-moar 72d574: OUTPUT«a12fa12fa12f␤»
21:10 masak there's another.
21:10 ChoHag How do I do $foo =~ s/foo/bar/gr?
21:10 masak if you are doing /r, you want .subst
21:12 FROGGS_ right, methods should usually return the modified thing and not modify the invocant
21:12 masak m: my $foo = "A man foo-walks into a foo"; say $foo.subst(/foo/, 'bar', :g)
21:12 FROGGS_ if wanna use the method *and* modify you can do: $foo.=subst(...)
21:12 camelia rakudo-moar 72d574: OUTPUT«A man bar-walks into a bar␤»
21:13 dmol joined #perl6
21:14 masak Perl 6 tends to have its methods not modify the invocant. the only exceptions I can think of are .chomp and .splice
21:14 masak oh wait, it's .=chomp, too, isn't it?
21:14 masak so just .splice
21:15 FROGGS_ also .push and friends
21:16 FROGGS_ but these make clear that you do something on the object
21:16 masak ah, yes.
21:18 FROGGS_ std: / <[a-z]> /
21:18 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of - as character range; in Perl 6 please use .. (or \- if you mean a literal hyphen) at /tmp/sH_dDDrD3z line 1:�------> [32m/ <[a-z[33m�[31m]> /[0m�Parse failed�FAILED 00:01 123m�»
21:19 denis_boyun_ joined #perl6
21:29 lizmat joined #perl6
21:35 rurban1 joined #perl6
21:37 masak m: sub fixp($s, &c) { my $c = &c($s); $s === $c ?? $s !! fixup($c, &c) }; sub balanced($s) { "" eq fixp($s, *.subst('[]', '')) }; say balanced "[[][]]"; say balanced "[]][[]"
21:37 camelia rakudo-moar 72d574: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/d0qbnlP5P6â�¤Undeclared routine:â�¤    fixup used at line 1. Did you mean 'fixp'?â�¤â�¤Â»
21:37 masak m: sub fixp($s, &c) { my $c = &c($s); $s === $c ?? $s !! fixp($c, &c) }; sub balanced($s) { "" eq fixp($s, *.subst('[]', '')) }; say balanced "[[][]]"; say balanced "[]][[]"
21:37 camelia rakudo-moar 72d574: OUTPUT«True␤False␤»
21:37 masak \o/
21:50 dalek nqp: 48afd2e | (Tobias Leich)++ | src/QRegex/P6Regex/Grammar.nqp:
21:50 dalek nqp: warn for duplicates in cclasses, like std does
21:50 dalek nqp: review: https://github.com/perl6/nqp/commit/48afd2e952
21:50 dalek rakudo/nom: 1aa3b20 | (Tobias Leich)++ | tools/build/NQP_REVISION:
21:50 dalek rakudo/nom: bump nqp rev for cclass warning
21:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1aa3b20ae4
21:51 FROGGS_ TimToady: there it is :o)
21:51 FROGGS_ perl6-m -e '/<["a"]>/'
21:51 FROGGS_ Potential difficulties:
21:51 FROGGS_ Repeated character (") unexpectedly found in character class
21:51 masak FROGGS++ is on fire! :)
21:51 FROGGS_ at -e:1
21:51 FROGGS_ ------> /<⏏["a"]>/
21:51 PerlJam FROGGS++
21:51 FROGGS_ thanks :o)
21:52 FROGGS_ though the other suggestion piece of work scares me a bit... (about single colons in identifiers)
21:58 denis_boyun_ joined #perl6
21:59 virtualsue joined #perl6
22:00 psch m: $_ = 'abc'; say s/b/d/; # as a different perspective on RT #82108
22:00 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=82108
22:01 camelia rakudo-moar 6504db: OUTPUT«adc␤»
22:01 PerlJam std: / <[ a .. z d ]> /
22:01 camelia std 0f2049c: OUTPUT«ok 00:01 123m␤»
22:02 psch m: $_ = 'abc'; say "subst'd" if s/g/h/;
22:02 camelia rakudo-moar 6504db: OUTPUT«subst'd␤»
22:04 psch i didn't find any clarification in S03, but bare s/// is apparently always true, while smart-matched s/// is always "did we substitute?", which seems inconsistent
22:05 masak I think there's been some back-and-forth on the value of s///
22:05 masak I remember Rakudo and Niecza settling on different return types, for example.
22:06 * PerlJam sticks with s/// should always return a boolean "were substitutions made?"
22:07 masak the nice thing about that one is that it plays very well with `when` and ~~
22:09 lizmat "did {s/foo/bar} changes"
22:10 psch lizmat: tr/// does that, so i'd be nice for consistency i guess
22:10 psch well, tr/// does it with coercion to Num
22:10 masak 'night, #perl6
22:10 psch night masak
22:11 lizmat night masak
22:11 psch m: $_ = 'abc'; say "did { +(tr/ac/df/) } changes"
22:11 camelia rakudo-moar 6504db: OUTPUT«did 2 changes␤»
22:12 psch i think a StrSubst (or somesuch) class probably also wants to keep $/ around?
22:17 denis_boyun joined #perl6
22:18 dalek tablets: c61043e | (Herbert Breunung)++ | docs/tablet-2-basic-syntax.txt:
22:18 dalek tablets: more explanation on multi line comments
22:18 dalek tablets: review: https://github.com/perl6/tablets/commit/c61043e1c3
22:24 denis_boyun_ joined #perl6
22:28 lichtkind joined #perl6
22:30 lichtkind moritz ?
22:31 lichtkind can someone please help me change title of tablets project on github
22:32 timotimo if you just paste the new title you want into irc, someone who has the rights will do it for you
22:32 timotimo i'm going to bed instead right now
22:32 timotimo good night!
22:32 psch night timotimo
22:33 lichtkind goodnight
22:33 * psch doesn't really know what rights he has with the perl6 github organisation
22:33 lichtkind please change the subheading from  tabular Perl 6 documentation to hypertext Perl 6 documentation
22:34 timotimo the right to hug :3
22:34 lichtkind thank you very much
22:36 rurban1 joined #perl6
22:36 psch lichtkind: i don't have the neccessary rights, according to stackoverflow only owners can change the description
22:36 lichtkind greeting rurban
22:37 lichtkind thanks psch
22:50 guru joined #perl6
22:57 rurban1 joined #perl6
22:57 dalek tablets: a00d083 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
22:57 dalek tablets: added unspace op
22:57 dalek tablets: review: https://github.com/perl6/tablets/commit/a00d083aa5
23:02 skids joined #perl6
23:04 ventica joined #perl6
23:05 carlin joined #perl6
23:21 ventica joined #perl6
23:25 zjmarlow joined #perl6
23:26 japhb .ask FROGGS_ Since you used a new perl6-bench test to show the advantage of your charrange changes, can you commit and push said new test please?  :-)
23:26 yoleaux japhb: I'll pass your message to FROGGS_.
23:28 lizmat joined #perl6
23:29 hoverboard joined #perl6
23:32 dalek specs: eca5f2f | TimToady++ | S05-regex.pod:
23:32 dalek specs: Be clear about the return value of s/// et al.
23:32 dalek specs:
23:32 dalek specs: The various m//, and s/// constructs must all work as expected when
23:32 dalek specs: used as a smartmatcher, which means they always return either Match
23:32 dalek specs: or Nil, even when that has to be emulated for :g reasons.
23:32 dalek specs: review: https://github.com/perl6/specs/commit/eca5f2f2df
23:36 lizmat TimToady++ for clarity  :-)
23:37 * lizmat wishes she could backlog: all port 80 web traffic seems utterly congested at OSCON
23:38 TimToady we've discussed it several times on irc, but apparently never actually specced it except by S03 insinuations
23:43 psch the insinuation is that there's no special case for s/// in the table for smartmatches and the only one that fits is S03:3671?
23:43 synopsebot Link: http://perlcabal.org/syn/S03.html#line_3671
23:44 oJustDust joined #perl6
23:48 TimToady psch: yes
23:48 TimToady we should probably consider removing the Regex cases as well
23:48 psch TimToady++: thanks for both these clarifications
23:49 TimToady they feel like Too Much Magic these days, and I doubt anyone has used them in any existing P6 code
23:49 TimToady with the possible exception of TheDamian :)
23:50 holysword joined #perl6
23:51 holysword hello everybody... gentoo user here, and rakudo does not work after emerging...
23:51 holysword Could not find Perl6::BOOTSTRAP in any of: ., blib, /var/tmp/portage/dev-lang/moarvm-2014.06/image/usr/languages/perl6/lib, /var/tmp/portage/dev-lang/moarvm-2014.06/image/usr/languages/nqp/lib
23:51 holysword the path seems to be... very wrong...
23:52 holysword I think the libs are in /usr/languages/ but the installer is setting it to the wrong path. Any chance to fix this or do I have to rewrite the ebuild?
23:53 TimToady is there any way to find out who did it before?
23:53 TimToady I don't think we have any gentoo folk handy at the moment
23:53 holysword as far as I can see, its not signed... I can report a bug in the bugzilla, but that's it
23:54 holysword is there any way to change the LIBs path?
23:55 TimToady many of the people up on packaging are .eu and asleep, though lizmat++ is at OSCON currently
23:56 holysword yeps, its a known bug: https://bugs.gentoo.org/show_bug.cgi?id=510706
23:56 TimToady maybe just try an install to your local home directory instead?
23:56 holysword I can try that, but it involves not using the package manager
23:57 holysword which makes it hard to update/keep track/uninstall
23:57 TimToady right, that's the downside to it :)
23:57 holysword just can't I tell perl where to find the libs? really, no chance to change this?
23:57 TimToady not that the system version of any interpreter is ever going to be quite the one you want :)
23:58 holysword usually you can addpath or something similar
23:58 TimToady there's probably a way to do it, but I've personally just done the local install, so am not terribly familiar with all the various Configure options
23:59 psch holysword: there is PERL6LIB as env var
23:59 psch but i couldn't say if it works for core libs
23:59 psch i suspect not

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

Perl 6 | Reference Documentation | Rakudo