Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-01-21

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:18 not_gerd left #perl6
00:37 colomon errr... after I look at the "too many files open" issue for $work.  :(
00:39 sorear sysctls?  ulimit -n?
00:39 colomon yes, customer reported my code is blowing it if a file is imported too many times.
00:39 colomon like I'm leaking a file handle somewhere.
00:40 colomon trying to duplicate the issue locally now
00:41 leprevost joined #perl6
00:49 colomon drat, I need to figure out how to get ulimit going on my Mac
00:54 colomon either that or my naive test isn't good enough.
00:55 sorear ulimit is a bash builtin
00:55 sorear zsh probably has something similar...
00:55 sorear the underlying kernel functionality is a 4.xBSD innovation, so I can't imagine OSX lacks it
00:55 geekosaur the point is more that you can raise ulimit only so far without root
00:56 colomon geekosaur: I don't want to raise it, I want to enforce it and/or shrink it
00:56 benabik I think you can only _raise_ ulimit as root
00:56 colomon for (unsigned int i = 0; i < 20100; i++)
00:56 colomon {
00:56 colomon FILE *file = fopen(filename.c_str (), "r");
00:56 colomon }
00:56 colomon I just ran that with no problems.
00:56 molaf_ joined #perl6
00:56 sorear setrlimit(2) says 'SVr4, 4.3BSD, POSIX.1-2001'
00:57 geekosaur from the shell, the ulimit command should work; from C, it's setrlimit()
00:58 sorear benabik: not quite true - there are "hard" limits, which are set by root, and the "soft" (real) limits, which can be set by users, but cannot exceed the hard limits
00:58 [Coke] ISTR having trouble with ulimit on OSX
00:58 sorear hard limits can only be lowered by users
01:04 colomon okay, that's bizarre.
01:06 colomon I switched to writing files, and my test still passes.  but I set ulimit to 200, and it's only writing 200 files.  the next 19900 must fail.
01:06 colomon I thought ulimit actually shut down the process
01:07 benabik colomon: I think it just makes the open fail.
01:07 colomon yeah, that's it.
01:07 benabik use autodie
01:07 colomon crap, that may make this a lot.... what?
01:07 benabik Sorry, not perl.
01:08 * benabik goes back to his corner.
01:08 colomon oh, right.
01:08 colomon benabik++ # for trying
01:08 colomon if I get lucky my code will actually note a failure.
01:08 colomon here goes, anyway.
01:11 geekosaur ulimit will shut down the process for memory limits but not file or etc.
01:17 bkolera joined #perl6
01:18 sorear ulimit only hard-kills the process for CPU time and file size limits
01:19 sorear memory limits will cause ENOMEM return from sbrk/mmap
01:19 benabik File size?
01:19 sorear althogh most programs will immediately exit on seeing ENOMEM so it doesn't make a huge difference
01:19 sorear benabik: yes, that's what the SIGXFSZ signal is for
01:19 benabik I would expect that to just make writes fail.
01:20 sorear it can be caught or ignored, in which case write returns EFBIG
01:21 sorear CPU time causes the SIGXCPU signal to be sent; if SIGXCPU is caught or ignored, SIGKILL will be sent *at the hard limit*
01:22 sorear so if there's a gap between the soft limit and the hard limit, the program can clean up
01:22 sorear AFAIK this is the only case where the hard limit is meaningful per se
01:23 benabik sorear++ # knowing things
01:24 sorear geekosaur: do you know what the use case for file size limitation is?  it always seemed rather useless to me
01:26 geekosaur lame attempt at keeping students' "batch jobs" from chewing up disk space, I think
01:31 colomon leftover from the days when disk space was a precious commodity.
01:32 colomon thanks for your help, gang.  I'm convinced my current test is pretty good, and demonstrates I'm not leaking file pointers.  :)
01:43 icwiener joined #perl6
01:50 pat_js joined #perl6
01:53 pat_js left #perl6
01:53 pat_js joined #perl6
02:03 carlin joined #perl6
02:11 dalek roast: 32f20d8 | (Solomon Foster)++ | S32-num/real-bridge.t:
02:11 dalek roast: Change tests which should expect Order results.
02:11 dalek roast: review: https://github.com/perl6/roast/commit/32f20d8a5e
02:13 dalek niecza: 7a63433 | (Solomon Foster)++ | lib/CORE.setting:
02:13 dalek niecza: Change infix:< <=> >, infix:<leg>, and infix:<cmp> to return Order results.
02:13 dalek niecza: review: https://github.com/sorear/niecza/commit/7a63433ee4
02:13 dalek niecza: 2732692 | (Solomon Foster)++ | t/spectest.data:
02:13 dalek niecza: Turn back on comparison tests.
02:13 dalek niecza: review: https://github.com/sorear/niecza/commit/27326928fb
02:15 colomon [Coke]: ping?
02:27 wolfman2000 joined #perl6
02:29 dalek roast: e42926d | (Solomon Foster)++ | S03- (2 files):
02:29 dalek roast: Unfudge tests that now work.
02:29 dalek roast: review: https://github.com/perl6/roast/commit/e42926d526
02:29 colomon [Coke]: nevermind
02:29 dalek roast: 4f6849d | (Solomon Foster)++ | S03- (2 files):
02:29 dalek roast: Fudge more tests that now work.
02:29 dalek roast: review: https://github.com/perl6/roast/commit/4f6849d820
02:50 colomon woah, panda in niecza is actually doing quite a bit at this point
02:51 sorear woah!
02:51 colomon mind you, it's still messing up somewhere
02:52 drbean joined #perl6
02:53 colomon probably several somewheres.
02:54 colomon but it's actually fetching stuff from the net, and figuring out dependencies, and trying to test...
02:59 colomon in fact, that's the problem!  I fixed panda's copy of File::Find, and it's going out to the net and downloading another copy of File::Find which hasn't been fixed.
03:08 ponbiki joined #perl6
03:23 colomon Hmmm... okay, workaround for that in spectesting.  New problem; Shell::Command's tests calls unlink on directories, which our unlink very definitely does not like.
03:34 orafu joined #perl6
03:35 colomon okay, I've got niecza so that we pass the File__Tools tests. (spectest underway)
03:35 colomon looks like JSON::Tiny is going to be worse
03:37 colomon but that's for another day
03:38 Psyche^ joined #perl6
03:43 jaldhar joined #perl6
03:44 dalek niecza: ce6fb78 | (Solomon Foster)++ | lib/CORE.setting:
03:44 dalek niecza: Add Cool.IO (simple forward to Str.IO).
03:44 dalek niecza: review: https://github.com/sorear/niecza/commit/ce6fb780e6
03:44 dalek niecza: de15dd1 | (Solomon Foster)++ | lib/ (2 files):
03:44 dalek niecza: Add rmdir functionality to unlink.
03:44 dalek niecza: review: https://github.com/sorear/niecza/commit/de15dd100a
03:46 colomon 'night
03:57 kaleem joined #perl6
04:01 simcop2387 joined #perl6
04:02 simcop2387 joined #perl6
04:02 simcop2387 joined #perl6
04:39 Bucciarati joined #perl6
04:58 mdxi joined #perl6
05:12 moritz \o
05:28 cognominal_ joined #perl6
05:39 drbean joined #perl6
05:44 rjbs joined #perl6
05:45 sorear o/ moritz
05:51 dukeleto joined #perl6
05:57 dukeleto joined #perl6
05:57 dukeleto ~~
05:58 sorear ``
06:03 dukeleto sorry about flooding. Stupid bugs in dircproxy
06:37 dalek roast: e975d71 | moritz++ | S12-methods/multi.t:
06:37 dalek roast: avoid name clashes in evals
06:37 dalek roast: review: https://github.com/perl6/roast/commit/e975d712eb
06:41 drbean joined #perl6
06:59 bkolera joined #perl6
07:05 dalek niecza: fceb3ed | sorear++ | / (2 files):
07:05 dalek niecza: Small refactor of precedence setting, allow setting iffy and diffy
07:05 dalek niecza: review: https://github.com/sorear/niecza/commit/fceb3edfad
07:29 dalek niecza: 6fc23e9 | sorear++ | / (2 files):
07:29 dalek niecza: Fix subst/$/ and :D regressions
07:29 dalek niecza: review: https://github.com/sorear/niecza/commit/6fc23e9d49
07:29 sorear TimToady: your !_ thing works now
07:30 GlitchMr joined #perl6
07:38 TimToady \o/
07:48 kaare_ joined #perl6
07:52 cognominal joined #perl6
07:52 lutok joined #perl6
07:55 sayu joined #perl6
08:07 spine joined #perl6
08:08 moritz !_?
08:08 am0c joined #perl6
08:10 sorear niecza: my sub infix:<_> ($a,$b) is equiv(&infix:<==>) { $a eqv $b }; say "foo" !_ "bar"
08:10 p6eval niecza v13-320-g6fc23e9: OUTPUT«Bool::True␤»
08:11 sorear moritz
08:13 moritz ah, fun
08:17 nornagest joined #perl6
08:17 sayu_ joined #perl6
08:19 TimToady the actual line in question is: multi sub infix:<∉>($a, $b) is equiv(&infix:<==>) is export { $a !∈ $b }
08:20 dalek niecza: 76caf6f | sorear++ | / (2 files):
08:20 dalek niecza: Use real evaluator for equiv/looser/tighter
08:20 dalek niecza: review: https://github.com/sorear/niecza/commit/76caf6f34c
08:22 TimToady zzz &
08:42 kaare__ joined #perl6
09:07 RobiX joined #perl6
09:15 RobiX left #perl6
09:16 sayu joined #perl6
09:35 hundskatt joined #perl6
09:35 masak morning, #perl6
09:36 sorear o/ masak
09:37 MayDaniel joined #perl6
10:00 * masak is happy to see TimToady working on Set operators
10:00 masak sorear: and I'm not really against Unicode operators. I just think it's a good idea to not have them in core.
10:01 masak programmers prefer to walk into technologies by choice, not be dragged across kicking and screaming.
10:01 sorear masak: Where did you say that you didn't want Unicode operators?
10:03 masak sorear: I often complain about this ¢ monster, and I flat+out refused TimTpady's horrible ¤ suggestion for quasi parameters.
10:07 dalek niecza: eebc2b6 | sorear++ | / (4 files):
10:07 dalek niecza: Implement auto-val-ification for <foo bar>
10:07 dalek niecza: review: https://github.com/sorear/niecza/commit/eebc2b6d72
10:08 sorear perl6: say <2+3i>.WHAT
10:08 p6eval pugs b927740: OUTPUT«Str␤»
10:08 p6eval ..rakudo e3c0af, niecza v13-321-g76caf6f: OUTPUT«Str()␤»
10:08 sorear will change once p6eval updates ...
10:08 * sorear starts spectest run; goes to bed.
10:14 dbr joined #perl6
10:17 RobiX joined #perl6
10:19 masak 'night, sorear. dream of allomorphic things.
10:27 MayDaniel joined #perl6
10:40 fsergot masak: how are You today? :)
10:43 masak fsergot: I have a slight cold, but otherwise I'm fine. :)
10:43 masak fsergot: how're you?
10:54 fsergot masak: fine, full of inspiration :)
10:56 whiteknight joined #perl6
10:57 masak inspiration! that is indeed something to treasure.
10:58 tadzik good morning!
10:59 tadzik (yes! I made it! It's actually morning!)
10:59 masak :P
11:00 masak top of the day to you, dearest tadzik.
11:01 Trashlord top of the morning oldster
11:02 masak hey who are you calling old?
11:02 masak tadzik here is in his best years!
11:02 masak :P
11:03 moritz sorear is too :-)
11:03 tadzik heh :)
11:09 Woodi joined #perl6
11:27 bkolera joined #perl6
11:33 birdwindupbird joined #perl6
11:37 kensanata joined #perl6
11:46 masak moritz: 'Some people, when confronted with a problem, think "I know, I'll quote Jamie Zawinski."'
11:47 masak (also a tweet)
11:47 masak of course, JZ wasn't the originator of the "now they have two problems" meme.
11:48 masak hm, seems to be some kind of trend -- 'Some people, when confronted with a problem, think "I know, I'll use multithreading". Nothhw tpe yawrve o oblems.'
11:49 masak that last one has some autopun leanings.
11:50 tadzik haha, I love that last one
11:51 * masak tries to make up a similar one
11:51 masak "There are two types of people in the world. Those who finish what they start,"
11:51 tadzik nice
11:51 masak :P
11:52 tadzik There are two types of people. Those who procrastinate, and the other type, which I'll describe later
11:52 masak unless you're Rick Perry -- then there's three types, but you only remember the first two.
11:53 moritz somebody please register autopun.org and collect all these
11:53 colomon woah, I only missed sorear by 90 minutes on this end of the day....
11:53 masak moritz: I still haven't been able to clearly nail down what an autopun *is* :/
11:53 tadzik it's a recursive pun
11:53 masak moritz: it's something like a humourous self-application.
11:53 BinGOs procrastinate now!
11:53 moritz masak: it's something funny and self-referential
11:53 masak tadzik: it's actually not a pun at all.
11:53 tadzik nah, I'll do it later :)
11:55 tadzik http://www.jwz.org/ is one crazy website
11:55 masak JZ is an interesting person in general.
11:55 masak read his rants on the Netscape email client, for example :)
11:57 fsergot joined #perl6
11:59 donri joined #perl6
12:00 * moritz wants new HPMoR chapters
12:00 * masak too
12:01 masak I've been on the brink of writing to LW about it...
12:05 moritz nom: sub thread(@a is copy, @b is copy) { gather { while @a && @b { take (rand < 0.5 ?? @a || @b).shift }, @a, @b }; say thread('why does the chicken'.comb, 'cross the street?'.comb).join
12:05 p6eval nom e3c0af: OUTPUT«===SORRY!===␤Found ?? but no !! at line 1, near ").shift },"␤»
12:05 tadzik since I discovered the Game of Thrones and friends I miss it less and less, I must say :)
12:05 moritz nom: sub thread(@a is copy, @b is copy) { gather { while @a && @b { take (rand < 0.5 ?? @a !! @b).shift }, @a, @b }; say thread('why does the chicken'.comb, 'cross the street?'.comb).join
12:05 p6eval nom e3c0af: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 2␤»
12:06 moritz nom: sub thread(@a is copy, @b is copy) { gather { while @a && @b { take (rand < 0.5 ?? @a !! @b).shift }}, @a, @b }; say thread('why does the chicken'.comb, 'cross the street?'.comb).join
12:06 p6eval nom e3c0af: OUTPUT«croswshy  dtoehes t she cthireet?cken␤»
12:07 moritz nom: sub thread(@a is copy, @b is copy) { gather { while @a && @b { take (rand < 0.5 ?? @a !! @b).shift }}, @a, @b }; say thread('why does the multi-threaded'.comb, 'chicken cross the street?'.comb).join
12:07 p6eval nom e3c0af: OUTPUT«chwichkye n does tche rmuosltis -tthrheae dsetdreet?␤»
12:08 * moritz feels kinda expressionistic
12:09 masak :)
12:11 cognominal joined #perl6
12:11 fsergot moritz: what does @a, @b after gather block?
12:11 masak fsergot: to collect the remaining elements.
12:12 masak fsergot: should really be Bool.pick ?? (@a, @b) !! (@b, @a) to make it fair ;)
12:14 fsergot So, it returns gathered elements and @a, @b elements?
12:16 fsergot Or I don't understand something? :)
12:16 masak fsergot: .shift empties out @a and @b. when one of them is empty, the while loop exits.
12:16 masak fsergot: at that point, there must still be elements left in either @a or @b.
12:17 fsergot Oh, right.
12:17 masak moritz: 'gather while' lets you skip one level of braces.
12:19 masak nom: say gather repeat while my $x == 0 { take $x = 42 }
12:19 p6eval nom e3c0af: OUTPUT«42␤»
12:19 masak \o/
12:20 colomon phenny: tell sorear is('aaaaa' ~~ /< a aa aaaa >/, 'aaaa', 'leading whitespace quotes words (space)'); # worked before, fails after your latest commits
12:20 phenny colomon: I'll pass that on when sorear is around.
12:21 dalek roast: a0f1f15 | (Solomon Foster)++ | S05-metasyntax/angle-brackets.t:
12:21 dalek roast: Refudge for niecza.
12:21 dalek roast: review: https://github.com/perl6/roast/commit/a0f1f15c76
12:22 masak colomon++
12:23 masak would Niecza development benefit from sorear having a faster development box? if so, I'm pretty sure we can arrange that.
12:23 colomon I don't know, I was wondering that yesterday.
12:25 kaare_ joined #perl6
12:26 colomon hell, my company could even pitch in a couple hundred dollars -- especially if it went through the Perl foundation so that it was tax deductible.
12:26 masak nod.
12:27 masak might even be eligible for a Hague grant.
12:27 colomon niecza: say <a a a a b c c a a d e e e e>[0].WHAT
12:27 p6eval niecza v13-322-geebc2b6: OUTPUT«Str()␤»
12:29 colomon niecza: my @a = <a a a a b c c a a d e e e e>; say @a[0] === @a[1]
12:29 p6eval niecza v13-322-geebc2b6: OUTPUT«Bool::False␤»
12:29 colomon perl6: my @a = <a a a a b c c a a d e e e e>; say @a[0] === @a[1]
12:29 p6eval rakudo e3c0af: OUTPUT«Bool::True␤»
12:29 p6eval ..pugs b927740: OUTPUT«1␤»
12:29 p6eval ..niecza v13-322-geebc2b6: OUTPUT«Bool::False␤»
12:29 colomon phenny: tell sorear also, your commits changed the result of my @a = <a a a a b c c a a d e e e e>; say @a[0] === @a[1]
12:29 phenny colomon: I'll pass that on when sorear is around.
12:32 colomon niecza: my $a = :q<5>; say $a.WHAT
12:32 p6eval niecza v13-322-geebc2b6: OUTPUT«Pair()␤»
12:32 ggoebel masak: I would be willing to chip in. However, I wonder if he doesn't benefit from having a slow memory bound box...
12:32 colomon yeah, it's an interesting question, isn't it?
12:34 colomon niecza: my $a = :q<5>; say $a.value.WHAT
12:34 p6eval niecza v13-322-geebc2b6: OUTPUT«Int()␤»
12:34 colomon nom: my $a = :q<5>; say $a.value.WHAT
12:34 p6eval nom e3c0af: OUTPUT«Str()␤»
12:35 colomon nom: my $cmp5 = { :$^q cmp :q<5> }; say $cmp5(5)
12:35 p6eval nom e3c0af: OUTPUT«Order::Same␤»
12:35 colomon nom: my $cmp5 = { :$^q cmp :q<5> }; say $cmp5(6)
12:35 p6eval nom e3c0af: OUTPUT«Order::Decrease␤»
12:35 colomon nom: say 5 cmp "5"
12:35 p6eval nom e3c0af: OUTPUT«Order::Same␤»
12:37 colomon niecza: my $a = :q<5>; say $a.value ~~ Str
12:37 p6eval niecza v13-322-geebc2b6: OUTPUT«Bool::False␤»
12:39 colomon niecza: my $a = :q< 5 >; say $a.value ~~ Str
12:39 p6eval niecza v13-322-geebc2b6: OUTPUT«Bool::True␤»
12:39 colomon niecza: my $a = :q< 5 >; say $a.value.WHAT
12:39 p6eval niecza v13-322-geebc2b6: OUTPUT«IntStr()␤»
12:42 colomon wow, that's a complicated set of behaviors being shown by one test
12:42 colomon my $cmp5 = { :$^q cmp :q<5> }; is $cmp5(6), Order::Same # I mean
12:42 colomon it passes in nom because 5 cmp "5" is Order::Same, even though that's kind of questionable, IMO
12:43 colomon it didn't used to pass in Niecza because 5 cmp "5" is not Order::Same there
12:44 colomon but sorear++ interpreted the difference between <1/2> and < 1/2 > as also applying to Int literals, even though the spec doesn't mention that (as far as I can see), meaning <5> is now an Int in Niecza.
12:45 colomon and even if it was an IntStr, niecza checks to see if both sides of cmp are Real first, so now it would compare them as numbers and find them equal.
12:46 colomon the last may represent a subtle bug of implementing cmp as a series of rules rather than as a series of multis.
12:47 colomon heady stuff for first thing on a Saturday morning
12:52 sayu joined #perl6
12:53 masak ggoebel: a fast box with more memory can emulate a slow one with less.
12:57 wollmers joined #perl6
13:01 wollmers nom: use IO:Socket::INET;
13:01 p6eval nom e3c0af: OUTPUT«===SORRY!===␤Could not find IO:Socket in any of: lib, /home/p6eval/.perl6/lib, /home/p6eval/nom-inst2/lib/parrot/​3.11.0-devel/languages/perl6/lib, .␤»
13:02 tadzik IO::Socket::INET is in the Core setting, no need to 'use' it
13:02 tadzik nom: IO::Socket::INET.new.WHAT.say
13:02 p6eval nom e3c0af: OUTPUT«Could not find symbol 'IO::Socket::&INET'␤  in block <anon> at /tmp/URUeeHtz5d:1␤  in <anon> at /tmp/URUeeHtz5d:1␤»
13:02 tadzik maybe it's blocked by SAFE.setting, which p6eval uses
13:05 wollmers tadzik: says the same here. I thought this module is built-in.
13:06 tadzik it is
13:07 wollmers Where can I find it in the sources of Rakudo/Parrot? Where should it be?
13:12 moritz ls src/core/IO/Socket{.pm,/INET.pm}
13:12 moritz in rakudo
13:18 wollmers moritz: thx, found it.
13:26 moritz masak: could I convince you to submit an autopun lighting talk to GPW2012? :-)
13:30 MayDaniel joined #perl6
13:33 masak moritz: :)
13:33 masak I'll think about it :)
13:34 masak it would be an easy one to write... just need to trawl the #perl6 logs...
13:35 tadzik . o O ( grep jnthn )
13:35 simcop2387 joined #perl6
13:35 masak here's what I think is going on, by the way: an autopun is funny by being *indirectly* self-referential, a bit like Gödel's incompleteness theorem.
13:36 masak like the one with the bottle of pills to give strength. it gives the bran a little shake, makes it say "oh, of course! so obvious! haha!"
13:37 masak or something like "Apathetics of the world, unite! Oh wait."
13:38 huf humor as conflict resolution?
13:39 masak the thing that makes it funny seems to be a callback that's triggered by the brain finding a similarity between the topic and the "world state".
13:40 masak so it's self-reference, but just a hint of it. just enough to push the brain over the edge.
13:40 masak moritz: all right, I'll do it :)
13:42 * tadzik has GPW tickets o/
13:55 jnthn I would give a lightning talk on puns, but I plan to go on strike after my meta-programming one.
13:56 jnthn afternoon, btw... :)
13:57 * jnthn has le cold :/
14:03 * masak greps the logs for "autopun" and laughs himself silly
14:03 masak "Circular logic is the best type of logic, because it's circular." -- I know!
14:04 masak "In soviet russia the jokes understand you."
14:04 masak "Is confirmation bias prevalent? Yes, I see it everywhere!"
14:05 MayDaniel joined #perl6
14:05 [Coke] masak: I Hope you read Saturday Morning Breakfast Cereal comics.
14:06 masak occasionally :)
14:06 [Coke] http://www.smbc-comics.com/in​dex.php?db=comics&amp;id=2444 (confirmation bias)
14:07 masak this one is one of my all-time favorites: http://www.threadless.com/product/​623/Haikus_Are_Easy_But_Sometimes
14:08 masak [Coke]: :)
14:11 not_gerd joined #perl6
14:11 not_gerd hello, #perl6
14:11 masak not_gerd! \o/
14:12 not_gerd jnthn: do you want to update dyncall to latest trunk, or should I just commit a minimal patch which unbreaks Cygwin detection on Win64?
14:12 not_gerd (the next dyncall release will probably not be for a long time...)
14:13 jnthn not_gerd: Ah, it was since the last release?
14:13 jnthn not_gerd: Just go for the minimal patch then.
14:13 not_gerd (where long time ~6 months)
14:13 not_gerd jnthn: ok, will do
14:14 jnthn Thanks!
14:14 colomon moritz: ping?
14:14 PacoAir joined #perl6
14:15 colomon does nom support [ <value>+ % [ \, ] ] yet?
14:16 colomon nom: say "abc,def" ~~ /[ \S+ % [ \, ] ]/
14:16 p6eval nom e3c0af: OUTPUT«=> <a>␤␤»
14:16 colomon niecza: say "abc,def" ~~ /[ \S+ % [ \, ] ]/
14:16 p6eval niecza v13-322-geebc2b6: OUTPUT«#<match from(0) to(1) text(a) pos([].list) named({}.hash)>␤»
14:17 jnthn colomon: I remember implementing %
14:17 jnthn And %%
14:17 colomon nom: say "abc,def" ~~ /[ \S ** [ \, ] ]/
14:17 p6eval nom e3c0af: OUTPUT«=> <a>␤␤»
14:17 jnthn Did you want \S+ there?
14:17 colomon no idea
14:17 jnthn :)
14:18 jnthn We still support the old way, but I plan to remove it after the Star release.
14:18 jnthn (Give people a release where both work.)
14:18 colomon I'm just looking at the changes needed to JSON::Tiny to get it to work with Niecza, and wondering if it will still run on nom afterward.  :)
14:20 cognominal hi #perl6. does my nick qualify as an autopun?
14:20 jnthn Yeah, please don't break it on nom. :)
14:24 masak I think nicks are too short to set up an autopun. self-references yes, autopuns probably not.
14:27 colomon "Hardcore Forking Action"
14:28 Chillance joined #perl6
14:31 Psyche^ joined #perl6
14:38 colomon niecza: say "[ ]" ~~ /'[' ~ ']' [ <value>+ % [ \, ] ]?/
14:38 p6eval niecza v13-322-geebc2b6: OUTPUT«Unhandled exception: Unable to resolve method value in class Cursor␤  at /tmp/zPH5IeQ3Gg line 1 (ANON @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2238 (Regex.ACCEPTS @ 4) ␤  at /tmp/zPH5IeQ3Gg line 1 (mainline @ 2) ␤  at /home/p6eval/niecza/lib/C…
14:38 colomon niecza: say "[ ]" ~~ /'[' ~ ']' [ \S+ % [ \, ] ]?/
14:38 p6eval niecza v13-322-geebc2b6: OUTPUT«Unhandled exception: Unable to resolve method FAILGOAL in class Cursor␤  at /tmp/8ZVFFbxuSi line 1 (ANON @ 9) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2238 (Regex.ACCEPTS @ 4) ␤  at /tmp/8ZVFFbxuSi line 1 (mainline @ 2) ␤  at /home/p6eval/niecza/li…
14:39 colomon nom: say "[ ]" ~~ /'[' ~ ']' [ \S+ % [ \, ] ]?/
14:39 p6eval nom e3c0af: OUTPUT«Unable to parse _block1011, couldn't find final ']'␤  in FAILGOAL at src/stage2/QRegex.nqp:1145␤  in regex <anon> at /tmp/iRqWQUiRPL:1␤  in method ACCEPTS at src/gen/CORE.setting:7467␤  in block <anon> at /tmp/iRqWQUiRPL:1␤  in <anon> at /tmp/iRqWQUiRPL:1␤»
14:40 colomon nom: say "[]" ~~ /'[' ~ ']' [ \S+ % [ \, ] ]?/
14:40 p6eval nom e3c0af: OUTPUT«Unable to parse _block1011, couldn't find final ']'␤  in FAILGOAL at src/stage2/QRegex.nqp:1145␤  in regex <anon> at /tmp/CIPi4zivoK:1␤  in method ACCEPTS at src/gen/CORE.setting:7467␤  in block <anon> at /tmp/CIPi4zivoK:1␤  in <anon> at /tmp/CIPi4zivoK:1␤»
14:40 colomon niecza: say "[]" ~~ /'[' ~ ']' [ \w+ % [ \, ] ]?/
14:40 p6eval niecza v13-322-geebc2b6: OUTPUT«#<match from(0) to(2) text([]) pos([].list) named({}.hash)>␤»
14:40 colomon niecza: say "[ ]" ~~ /'[' ~ ']' [ \w+ % [ \, ] ]?/
14:40 p6eval niecza v13-322-geebc2b6: OUTPUT«Unhandled exception: Unable to resolve method FAILGOAL in class Cursor␤  at /tmp/tR5WDq8_DV line 1 (ANON @ 9) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2238 (Regex.ACCEPTS @ 4) ␤  at /tmp/tR5WDq8_DV line 1 (mainline @ 2) ␤  at /home/p6eval/niecza/li…
14:41 nebuchadnezzar joined #perl6
14:42 not_gerd jnthn: https://gist.github.com/1652956
14:42 not_gerd when you're at it, you might want to update dyncall to the released version as well...
14:44 dalek nqp: 58f5268 | jnthn++ | src/QAST/Compiler.nqp:
14:44 dalek nqp: Fix regression of tests 23,24,25,44,45 that were broken in backtracking into subrules patches, which all had the same root cause.
14:44 dalek nqp: review: https://github.com/perl6/nqp/commit/58f5268d9b
14:47 dalek nqp: 6fb60c8 | jnthn++ | 3rdparty/dyncall/configure:
14:47 dalek nqp: Fix dyncall build on Cygwin; not_gerd++.
14:47 dalek nqp: review: https://github.com/perl6/nqp/commit/6fb60c8eae
14:57 sayu_ joined #perl6
14:57 fsergot Where can i find some info about exceptions?
15:00 not_gerd joined #perl6
15:00 fsergot Ok.. I found. :)
15:01 not_gerd are the failures of tests 27, 28 in t/nqp/60-bigint.t (to_num and from_num round-trip) expected?
15:02 fsergot nom: say [+] 1,2,3;
15:02 p6eval nom e3c0af: OUTPUT«6␤»
15:03 fsergot nom: say [\+] 1,2,3;
15:03 p6eval nom e3c0af: OUTPUT«1 3 6␤»
15:05 masak nom: say [\~] "banana".comb
15:05 p6eval nom e3c0af: OUTPUT«b ba ban bana banan banana␤»
15:05 masak nom: say [\~] "banana".comb.reverse
15:06 p6eval nom e3c0af: OUTPUT«a an ana anan anana ananab␤»
15:06 masak nom: say flip [\~] "banana".comb.reverse
15:06 p6eval nom e3c0af: OUTPUT«banana anana nana ana na a␤»
15:06 masak nom: say ([\~] "banana".comb.reverse)>>.flip
15:06 p6eval nom e3c0af: OUTPUT«a na ana nana anana banana␤»
15:07 jnthn not_gerd: Compiler (or system) specific, I think.
15:10 masak cognominal: I think the best a single word can hope for is to be autological.
15:11 sayu joined #perl6
15:12 cognominal :)
15:12 masak found this while browsing around for self-reference: http://en.wikipedia.org/wiki/Tup​per%27s_self-referential_formula
15:12 masak that's just sick :P
15:15 masak though the whole secret seems to be that constant, which is large enough to encode well over the number of bits in that image.
15:16 [Coke] dirty trick or not, it was still nifty.
15:18 masak aye.
15:18 dalek nqp: 942907e | jnthn++ | src/QRegex/Cursor.nqp:
15:18 dalek nqp: Fix !cursor_next; this unbusts all of the remaining regressed QRegex tests apart from 545, which we only passed before for the wrong reason.
15:18 dalek nqp: review: https://github.com/perl6/nqp/commit/942907e15b
15:18 dalek nqp: 078ea5d | jnthn++ | t/qregex/rx_backtrack:
15:18 dalek nqp: Todo a QRegex test we passed for the wrong reasons before (it tested :, and passed not because it's implemented but because backtracking into subrules never worked.)
15:18 dalek nqp: review: https://github.com/perl6/nqp/commit/078ea5d911
15:20 colomon niecza: say "[]" ~~ /'[' ~ ']' [ \w+ % [ \, ] ]?/
15:20 p6eval niecza v13-322-geebc2b6: OUTPUT«#<match from(0) to(2) text([]) pos([].list) named({}.hash)>␤»
15:20 masak wow, both nom and niecza can print that large constant.
15:20 colomon niecza: say "[ ]" ~~ /'[' ~ ']' [ \w+ % [ \, ] ]?/
15:20 p6eval niecza v13-322-geebc2b6: OUTPUT«Match()␤»
15:20 colomon niecza: say "[  ]" ~~ /'[' ~ ']' [ \w+ % [ \, ] ]?/
15:20 p6eval niecza v13-322-geebc2b6: OUTPUT«Match()␤»
15:20 colomon :\
15:21 fsergot nom: say [] 1,2,3;
15:21 p6eval nom e3c0af: OUTPUT«===SORRY!===␤Confused at line 1, near "say [] 1,2"␤»
15:21 fsergot nom: say [++] 1,2,3;
15:21 p6eval nom e3c0af: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix + instead at line 1, near "+] 1,2,3;"␤»
15:21 fsergot nom: say [\++] 1,2,3;
15:21 p6eval nom e3c0af: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix + instead at line 1, near "+] 1,2,3;"␤»
15:28 jaldhar joined #perl6
15:28 masak interesting. Rakudo just hangs, but Niecza prints something... the "1/2" at the extreme left of the formula.
15:28 masak preparing gist.
15:30 masak https://gist.github.com/1653071
15:36 cognominal_ joined #perl6
15:40 masak niecza: say 2 ** (-17 * 30)
15:40 p6eval niecza v13-322-geebc2b6: OUTPUT«2.9833362924800827E-154␤»
15:40 masak ah. since it's a Num, it just doesn't have enough precision.
15:44 muixirt joined #perl6
15:45 muixirt masak: funny script :-)
15:46 masak I can't get it to behave correctly under Niecza, though.
15:47 muixirt even the shortened version «for reverse $k .. $k + 17 -> $y { say $y }» #drives my machine insane, now rhythmbox makes funny noises
15:48 masak is that Rakudo?
15:48 muixirt yes
15:48 masak yeah, here it just hung.
15:48 masak oh, it's fine to be a pioneer! :D
15:48 muixirt and eats up memory :-)
15:53 sayu joined #perl6
15:54 muixirt nom: say reverse 1000000000000000 .. 1000000000000010;
15:54 p6eval nom e3c0af: OUTPUT«1000000000000010 1000000000000009 1000000000000008 1000000000000007 1000000000000006 1000000000000005 1000000000000004 1000000000000003 1000000000000002 1000000000000001 1000000000000000␤»
15:54 muixirt nom: say reverse 1000000000000000000 .. 1000000000000000010;
15:54 p6eval nom e3c0af: OUTPUT«Failed allocation of 4096 bytes␤Parrot VM: PANIC: Out of mem!␤C file src/gc/alloc_memory.c, line 105␤Parrot file (not available), line (not available)␤␤We highly suggest you notify the Parrot team if you have not been working on␤Parrot.  Use parrotbug (located in parr…
15:54 * muixirt ducks
15:57 masak 4096 bytes!?
15:57 masak is that to store the numbers in Roman numerals?
15:57 cognominal___ joined #perl6
15:58 tadzik hehe
16:00 not_gerd left #perl6
16:00 jnthn Despite the QRegex tests in NQP passing again, some of the Rakudo spectests are not quite so happy after the backtracking fixes.
16:06 muixirt nom: say 1000000000000000000 .. 1000000000000000010;
16:06 p6eval nom e3c0af: OUTPUT«1000000000000000000..1000000000000000010␤»
16:11 sayu joined #perl6
16:12 muixirt nom: say (1000000000000000000 .. 1000000000000000010).list;
16:12 p6eval nom e3c0af: OUTPUT«Failed allocation of 4096 bytes␤Parrot VM: PANIC: Out of mem!␤C file src/gc/alloc_memory.c, line 105␤Parrot file (not available), line (not available)␤␤We highly suggest you notify the Parrot team if you have not been working on␤Parrot.  Use parrotbug (located in parr…
16:13 M_o_C joined #perl6
16:18 [Coke] # 01/21/2012 - niecza at 99.79%
16:20 [Coke] b: say 19263-19224
16:20 p6eval b 1b7dd1: OUTPUT«39␤»
16:20 literal joined #perl6
16:20 groky joined #perl6
16:21 [Coke] that's pretty close. ;)
16:21 cognominal joined #perl6
16:21 jnthn Uneaster! \o/
16:21 masak sorry, what? :)
16:22 masak oh, "un-Easter" :P
16:24 * jnthn afk for a bit
16:26 [Coke] there are 42 tests that are passing in various spectest files that then error out.
16:26 [Coke] so I could pull ahead with just fudging.
16:26 [Coke] put that's a lot of fudging. better to get temporal working. ;)
16:59 moritz colomon: pong
17:02 moritz [Coke]: I guess most of the Temporal code can be stolen pretty directly from rakudo
17:03 TimToady Larry to Gloria: The collar on my sweats turned up, and now I feel like an evil overlord.  Oh wait, I *am* an evil overlord!
17:03 TimToady Gloria to Larry: For some definition of "evil", "over", and "lord"...
17:03 moritz :-)
17:04 moritz sounds like somebody had too much exposure to Larry :-)
17:04 MayDaniel joined #perl6
17:06 moritz \o/ all qregex tests pass in nom
17:06 sayu joined #perl6
17:06 * moritz now spectests rakudo with latest nom
17:10 dalek rakudo/nom: fa821c1 | moritz++ | src/core/Temporal.pm:
17:10 dalek rakudo/nom: Date.gist should be the same as Date.Str
17:10 dalek rakudo/nom:
17:10 dalek rakudo/nom: because TimToady++ says so
17:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fa821c1006
17:11 cognominal joined #perl6
17:13 tadzik moritz: couldn't that just call self.Str?
17:14 TimToady What a pity this TimToady dude finds the hard decisions difficult...or was it the difficult decisions hard?
17:15 moritz tadzik: it could, but the code isn't too complicated, so I don't worry much about duplication
17:16 cognominal_ joined #perl6
17:22 sayu joined #perl6
17:24 sayu left #perl6
17:25 moritz jnthn: https://gist.github.com/1653352 is the summary of rakudo on latest nom
17:28 cognominal_ joined #perl6
17:30 sayu joined #perl6
17:34 bkolera joined #perl6
17:35 sayu joined #perl6
17:36 thou joined #perl6
17:43 sayu joined #perl6
17:44 sayu_ joined #perl6
17:46 sayu joined #perl6
17:47 TimToady perl6: sub circumfix:<⌊ ⌋>($e) { $e.floor }; say ⌊pi⌋
17:47 p6eval rakudo fa821c, niecza v13-322-geebc2b6: OUTPUT«3␤»
17:47 p6eval ..pugs b927740: OUTPUT«decodeUTF8': bad data: '\8970'␤decodeUTF8': bad data: '\8971'␤decodeUTF8': bad data: '\8970'␤decodeUTF8': bad data: '\8971'␤*** ␤    Unexpected "\8970"␤    expecting bare or pointy block construct, ":", identifier or operator␤    at /tmp/RWwncJKJBf line 1, column 43…
17:48 nnunley joined #perl6
17:49 sayu joined #perl6
17:53 TimToady yow, there's no test for circumfix with Unicode brackets of any sort...
17:54 moritz the list of things there is no test for is pretty long, I believe
17:54 TimToady in fact, there does not appear to be a single character outside of Latin-1 in the test suite, if I grepped right
17:54 moritz that is highly unlikely
17:55 nnunley joined #perl6
17:55 TimToady [\x{100}-\x{10ffff}] is what I looked for (perl-based)
17:55 moritz if you didn't decode your script, there won't be a single byte > 255 :-)
17:55 moritz s/script/strings/
17:55 TimToady hmm
17:56 sayu joined #perl6
17:57 TimToady okay, that's better :)  moritz++
17:59 moritz rakudo: sub circumfix:<⌊ ⌋>($e) { $e.floor }; say ⌊pi⌋, ' foo'
17:59 sayu joined #perl6
17:59 p6eval rakudo fa821c: OUTPUT«3 foo␤»
17:59 molaf joined #perl6
17:59 moritz somehow rakudo doesn't like the test that I'm turning this thing into
18:00 LlamaRider joined #perl6
18:00 TimToady we test brackets under quotes, at least, if not circumfix/postcircumfix
18:00 sayu joined #perl6
18:01 moritz ah no, I'm stupid. The previous line didn't have a semicolon, and the error was reported a bit later
18:02 dalek roast: 5d47ee2 | moritz++ | S06-operator-overloading/sub.t:
18:02 dalek roast: test for custom Unicode circumfix brackets
18:02 dalek roast: review: https://github.com/perl6/roast/commit/5d47ee2184
18:02 TimToady moritz++
18:02 sayu joined #perl6
18:04 TimToady funny that we call that overloading, when overloading is specifically discouraged in P6 :)
18:04 TimToady well, overloading for different semantics anyway
18:04 TimToady and this is not, in fact, overloading anything...
18:05 TimToady "user-defined operators" on the other hand does not convey they overloading meaning
18:05 TimToady 'operator extension' or some such
18:06 TimToady 'operator loading and overloading'  :)
18:08 geekosaur it's operator definition, like function definition.  overloading is a separate concept (and probably better conflated with multi)
18:09 moritz "syntactic extension"
18:11 birdwindupbird joined #perl6
18:13 wollmers joined #perl6
18:13 wollmers \o
18:13 moritz o/ wollmers
18:14 wollmers IO::Socket works so far.
18:14 moritz that's good to hear.
18:16 muixirt nom: my Num $k=9007199254740992.0e0-10; say ($k .. $k+10).list
18:16 p6eval nom fa821c: OUTPUT«Failed allocation of 4096 bytes␤Parrot VM: PANIC: Out of mem!␤C file src/gc/alloc_memory.c, line 105␤Parrot file (not available), line (not available)␤␤We highly suggest you notify the Parrot team if you have not been working on␤Parrot.  Use parrotbug (located in parr…
18:16 muixirt nom: my Rat $k=9007199254740992.0-10; say ($k .. $k+10).list
18:16 p6eval nom fa821c: OUTPUT«9.00719925474098e+15 9.00719925474098e+15 9.00719925474098e+15 9.00719925474098e+15 9.00719925474099e+15 9.00719925474099e+15 9.00719925474099e+15 9.00719925474099e+15 9.00719925474099e+15 9.00719925474099e+15 9.00719925474099e+15 9.00719925474099e+15␤»
18:17 TimToady I read that as E-10, and said "Huh?"
18:18 _dbr joined #perl6
18:22 moritz nom: say (1e0 .. 1.2e0).list
18:22 p6eval nom fa821c: OUTPUT«1␤»
18:22 moritz nom: say log(9007199254740992, 2)
18:22 p6eval nom fa821c: OUTPUT«53␤»
18:23 moritz muixirt: ah, the mantissa is only 52 or 53 bits, so if your numbers are large enough, ++ won't change anything anymore. Bad luck.
18:24 moritz nom: my Num $k=9007199254740992.0e0; say $k.succ == $k
18:24 p6eval nom fa821c: OUTPUT«Bool::True␤»
18:24 muixirt nom: my Int $k=9007199254740992-10; say ($k .. $k+10).list
18:24 p6eval nom fa821c: OUTPUT«Failed allocation of 4096 bytes␤Parrot VM: PANIC: Out of mem!␤C file src/gc/alloc_memory.c, line 105␤Parrot file (not available), line (not available)␤␤We highly suggest you notify the Parrot team if you have not been working on␤Parrot.  Use parrotbug (located in parr…
18:25 moritz now that one is more curious
18:25 tadzik it eats like 3GBs on my box before I kill it :)
18:26 muixirt tadzik: and that it shouldn't do it regardless of the mantissa :-)
18:26 moritz not in the int case, no
18:26 moritz in the Num case it's what I#d expect
18:27 moritz if you create an infinite list eagerly, it'll consume all your memory.
18:27 shinobicl___ joined #perl6
18:28 TimToady method succ ($x) { PRE { my $old = self; POST { self !=== $old } } ... }
18:28 muixirt nom: my Num $k=9007199254740992.0e0-10; say ($k .. $k+10).max
18:28 p6eval nom fa821c: OUTPUT«9.00719925474099e+15␤»
18:29 moritz TimToady: it's much easier, since succ isn't in-place
18:29 moritz POST { $_ != self }
18:33 Mowah_ joined #perl6
18:34 moritz oh, the range iterator code uses parrot ints
18:38 birdwindupbird joined #perl6
18:41 colomon moritz: wanted to talk about JSON::Tiny, but I just ended up forking it.  ;)
18:43 moritz colomon: you now have a commit bit
18:43 colomon ooooo
18:44 colomon I promise not to abuse it
18:45 colomon ... too much ...  ;)
18:47 moritz colomon: if you abuse it, I'll use 'git revert' :-)
18:48 cognominal joined #perl6
18:50 cognominal joined #perl6
18:51 colomon sorear: I'm guessing "Unable to resolve method FAILGOAL in class Grammar" is not a normal error?
18:52 moritz maybe a problem with the ~ parser combinator?
18:52 colomon quite possible, it seems to be happening in one of those rules.
18:52 cognominal joined #perl6
18:52 moritz niecza: say so '(a)' ~~ /'(' ~ ')' <alpha>/
18:52 p6eval niecza v13-322-geebc2b6: OUTPUT«Bool::True␤»
18:53 moritz niecza: say so '(a.' ~~ /'(' ~ ')' <alpha>/
18:53 p6eval niecza v13-322-geebc2b6: OUTPUT«Unhandled exception: Unable to resolve method FAILGOAL in class Cursor␤  at /tmp/both2pLn8k line 1 (ANON @ 6) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2238 (Regex.ACCEPTS @ 4) ␤  at /tmp/both2pLn8k line 1 (mainline @ 2) ␤  at /home/p6eval/niecza/li…
18:53 moritz ah, that's it
18:53 colomon moritz++
18:54 colomon except the mystery is a bit deeper in this case, as so nearly as I can tell, it shouldn't fail in the parse.  :)
18:57 moritz ah well :-)
19:03 colomon just pushed an update.  everything still works under nom in the update.  most of it was just updates to the latest p6 syntax, but one change is taking a different (if slightly uglier) approach that works with both compilers
19:05 moritz eeks. eval.
19:05 moritz colomon: please leave a comment that :16() is the desirable form, and blocking on niecza
19:07 moritz niecza: say :16('FF')
19:07 p6eval niecza v13-322-geebc2b6: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Runtime base conversions NYI at /tmp/ro4y1Sx_BL line 1 (EOF):â�¤------> [32msay :16('FF')[33mâ��[31m<EOL>[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 919 (die @ 2) â�¤  at /home/…
19:11 colomon done
19:12 colomon niecza: say "This is a test".subst(/\s./, { $_++; });
19:12 p6eval niecza v13-322-geebc2b6: OUTPUT«This0s a test␤»
19:12 colomon niecza: say "This is a test".subst(/\s./, { $_++; }, :g);
19:12 p6eval niecza v13-322-geebc2b6: OUTPUT«This0s12est␤»
19:13 colomon nom: say "This is a test".subst(/\s./, { $_++; }, :g);
19:13 p6eval nom fa821c: OUTPUT«Method 'succ' not found for invocant of class 'Match'␤  in sub postfix:<++> at src/gen/CORE.setting:1240␤  in block <anon> at /tmp/aUTFTw9s80:1␤  in method reify at src/gen/CORE.setting:4471␤  in method reify at src/gen/CORE.setting:4376␤  in method reify at src/gen/C…
19:13 colomon nom: say "This is a test".subst(/\s./, { ~($_)++; }, :g);
19:13 p6eval nom fa821c: OUTPUT«Method 'succ' not found for invocant of class 'Match'␤  in sub postfix:<++> at src/gen/CORE.setting:1240␤  in block <anon> at /tmp/kKw5bFNXCD:1␤  in method reify at src/gen/CORE.setting:4471␤  in method reify at src/gen/CORE.setting:4376␤  in method reify at src/gen/C…
19:14 colomon nom: say "This is a test".subst(/\s./, { (~$_)++; }, :g);
19:14 p6eval nom fa821c: OUTPUT«Cannot assign to a non-container␤  in sub postfix:<++> at src/gen/CORE.setting:1240␤  in block <anon> at /tmp/W7sLLpiNzw:1␤  in method reify at src/gen/CORE.setting:4471␤  in method reify at src/gen/CORE.setting:4376␤  in method reify at src/gen/CORE.setting:4376␤  in…
19:14 colomon nom: say "This is a test".subst(/\s./, { ord(~$_); }, :g);
19:14 p6eval nom fa821c: OUTPUT«This32s3232est␤»
19:15 colomon nicza: say "This is a test".subst(/\s./, { ord(~$_); }, :g);
19:15 colomon niecza: say "This is a test".subst(/\s./, { ord(~$_); }, :g);
19:15 p6eval niecza v13-322-geebc2b6: OUTPUT«Use of uninitialized value in string context␤  at /home/p6eval/niecza/lib/CORE.setting line 998 (warn @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 191 (Mu.Str @ 10) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /tmp/ofnrsBNoVk line 1 (ANON @ 3) ␤…
19:27 colomon sorear: above ^^ issue is hindering panda somewhat
19:28 TimToady niecza: say +val('<0xFF>')
19:28 p6eval niecza v13-322-geebc2b6: OUTPUT«Unhandled exception: Cannot parse number: <0xFF>␤  at /home/p6eval/niecza/lib/CORE.setting line 1133 (die @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2802 (ANON @ 10) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2804 (NumSyntax.str2num @ 4) ␤ …
19:28 TimToady niecza: say +val('0xFF')
19:28 p6eval niecza v13-322-geebc2b6: OUTPUT«255␤»
19:29 TimToady niecza: say +val(':16<FF>')
19:29 p6eval niecza v13-322-geebc2b6: OUTPUT«255␤»
19:32 cognominal_ joined #perl6
19:37 TimToady niecza: { +val(":$^r\<$^s>") }(16,'FF').say
19:37 p6eval niecza v13-322-geebc2b6: OUTPUT«255␤»
19:44 sorear good * #perl6
19:44 phenny sorear: 12:20Z <colomon> tell sorear is('aaaaa' ~~ /< a aa aaaa >/, 'aaaa', 'leading whitespace quotes words (space)'); # worked before, fails after your latest commits
19:44 phenny sorear: 12:29Z <colomon> tell sorear also, your commits changed the result of my @a = <a a a a b c c a a d e e e e>; say @a[0] === @a[1]
19:53 sorear cognominal_: What does your nick mean?
19:53 sorear colomon: 'a' === 'a' was never supposed to work in Niecza; WHICH NYI
19:53 sorear I'll have to look at the other one thogh
19:55 sorear colomon: (FAILGOAL) that's a bit of the STD legacy leaking through.  You're expected to define your own FAILGOAL right now
19:55 hundskatt joined #perl6
19:56 moritz are you? is that spec? where?
19:56 sorear TimToady: what syntactic form(s) should :16(...) accept?
19:56 moritz can't we just put a default FAILGOAL in Grammar as a fallback
19:57 sorear moritz: what I mean is that niecza expects you to, as you've just seen
19:57 moritz sorear: but why?
19:57 sorear a fallback never got added to Grammar because STD defines its own FAILGOAL
19:57 sorear a FAILGOAL in Cursor couldn't use STD's panic subsystem
19:58 moritz from a user's perspective that's not very persuasive
19:59 sorear I'm not trying to persuade anyone
19:59 sorear I'm explaining things as they are
19:59 sorear not as they should be
20:02 moritz ok
20:03 cognominal_ joined #perl6
20:06 Chillance joined #perl6
20:12 dalek niecza: f12b46d | sorear++ | / (2 files):
20:12 dalek niecza: Add Cursor.FAILGOAL ... amazing this got overlooked for so long
20:12 dalek niecza: review: https://github.com/sorear/niecza/commit/f12b46d93c
20:24 icwiener joined #perl6
20:24 cognominal_ sorear:  http://www.thefreedictionary.com/Cognominal
20:26 cognominal_ it can be thought as nominal cog, also.
20:34 thou joined #perl6
20:37 TimToady sorear: it should accept any : or 0o-style literal, if it cannot parse the value as hex
20:37 TimToady it need not accept a nested :16() since that's not a literal
20:38 sorear TimToady: something like if /^ <xdigit>+ $/ { return that } else { +$_ } /
20:39 sorear s/.$/?/
20:43 MayDaniel joined #perl6
20:44 sorear wow, S05-metasyntax/angle-brackets.t has a lot of dubiousness
20:45 dalek niecza: 85134f9 | sorear++ | src/niecza:
20:45 dalek niecza: Fix /<a b>/ bug (try and spot the change!), colomon++
20:45 dalek niecza: review: https://github.com/sorear/niecza/commit/85134f969b
20:45 dalek roast: 9114870 | sorear++ | S05-metasyntax/angle-brackets.t:
20:45 dalek roast: [S05-metasyntax/angle-brackets] Unfudge for sorear/niecza@85134f9
20:45 dalek roast: review: https://github.com/perl6/roast/commit/91148704da
21:06 moritz if anyone wants some module fun with rakudo, change Math::RungeKutta to work with native nums :-)
21:08 cognominal_ joined #perl6
21:24 dalek roast: 989ba7e | sorear++ | / (6 files):
21:24 dalek roast: Misc niecza refudges
21:24 dalek roast: review: https://github.com/perl6/roast/commit/989ba7ee0e
21:27 colomon sorear: o/  # back from lovely ski
21:29 colomon come to think of it, also back from long trip to urgent care.
21:30 * colomon has another darned staph infection
21:32 cognominal_ joined #perl6
21:35 sorear o/ colomon
21:36 muixirt moritz: how complete is the implementation of native types?
21:38 sorear phenny: tell TimToady re. http://irclog.perlgeek.de/​perl6/2012-01-21#i_5026615, do you mean something like if /^ <xdigit>+ $/ { return that } else { +$_ } ?
21:38 phenny sorear: I'll pass that on when TimToady is around.
21:39 colomon nom: my int16 $a = 1;
21:39 p6eval nom fa821c:  ( no output )
21:39 colomon nom: my int16 $a = 1; say $a
21:39 p6eval nom fa821c: OUTPUT«1␤»
21:39 colomon nom++
21:39 flussence nom: my int16 $a = 65537; say $a;
21:39 p6eval nom fa821c: OUTPUT«65537␤»
21:39 flussence nom: my int16 $a = 65537; say $a.WHAT;
21:39 p6eval nom fa821c: OUTPUT«Int()␤»
21:39 muixirt nom: my int16 $a = 1; $a += 2; say $a
21:39 p6eval nom fa821c: OUTPUT«Cannot assign to a non-container␤  in block <anon> at /tmp/a08rnMItvm:1␤  in <anon> at /tmp/a08rnMItvm:1␤»
21:40 flussence hm, not as strict-typed as I'd expected
21:41 fsergot How can I add a method to Str class?
21:41 muixirt colomon: what can you do with native ints other than defining and initializing?
21:41 colomon muixirt: darned if I know.  :)
21:42 colomon I didn't expect int16 to actually work.  :)
21:43 sorear the only types you should expect to work are int, num, and str
21:44 sorear because those are the only ones supported by Parrot
21:46 muixirt sorear: but what's the error message "Cannot assign to a non-container" all about? Something NYI?
21:47 fhelmberger joined #perl6
21:52 colomon sorear: any thought on the subst / $_ thing?  ERrrr... wait, that sounds like a change I could make to the source.
21:55 sorear colomon: The what?
21:56 sorear muixirt: To save memory/time, native typed variables don't have containers, so they can't be passed by reference
21:56 sorear muixirt: The only way to modify one is to use the = operator (which is, in this case, syntactic)
21:57 sorear host02 is being rather laggy today...
21:57 muixirt nom: my int16 $a = 1; $a=$a+2; say $a
21:57 p6eval nom fa821c: OUTPUT«3␤»
21:57 muixirt sorear: where is that specced?
21:58 sorear I don't think it is
21:58 sorear (yet)
22:00 flussence I was just reading the spec and noticed DESTROY isn't really detailed anywhere at all. Was it left out on purpose?
22:00 colomon sorear: sorry about that, trying to watch a 3-year-old with water color paints.  :)
22:00 sorear phenny: tell TimToady In :8('99'), does the :8 fail to parse as octal and so fall back to normal number parsing, returning 0d99?
22:00 phenny sorear: I'll pass that on when TimToady is around.
22:00 colomon nicza: say "This is a test".subst(/\s./, { ord(~$_); }, :g);
22:00 colomon nom: say "This is a test".subst(/\s./, { ord(~$_); }, :g);
22:00 p6eval nom fa821c: OUTPUT«This32s3232est␤»
22:00 colomon niecza: say "This is a test".subst(/\s./, { ord(~$_); }, :g);
22:01 p6eval niecza v13-324-g85134f9: OUTPUT«Use of uninitialized value in string context␤  at /home/p6eval/niecza/lib/CORE.setting line 998 (warn @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 191 (Mu.Str @ 10) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /tmp/v9JJF3Vm7R line 1 (ANON @ 3) ␤…
22:01 colomon sorear: that's the issue.
22:01 colomon not sure if it's properly spec or not
22:01 sorear colomon: I think by spec you're supposed to use $/, not $_
22:01 colomon niecza: say "This is a test".subst(/\s./, { ord(~$/); }, :g);
22:01 p6eval niecza v13-324-g85134f9: OUTPUT«This32s3232est␤»
22:02 colomon nom: say "This is a test".subst(/\s./, { ord(~$/); }, :g);
22:02 p6eval nom fa821c: OUTPUT«use of uninitialized value of type Any in string context␤Cannot get character of empty string␤  in method ord at src/gen/CORE.setting:1789␤  in sub ord at src/gen/CORE.setting:1875␤  in block <anon> at /tmp/AoWKtKM0px:1␤  in method reify at src/gen/CORE.setting:4471␤ …
22:02 colomon unfortunately niecza and nom do not agree.  :(
22:03 colomon I don't find any evidence the spec says one way or another
22:03 fsergot :) How can I add a method to Str class?
22:03 sorear open src/core/Str.pm, add the method
22:04 fsergot This is the only way?
22:04 sorear alternatively, add it to S32-setting-library/Str.pod in English and wait for the impls to catch up
22:05 colomon or you can use monkey typing and say "augment class Str", though that is perhaps the least useful way of doing it.
22:07 colomon niecza: my $a = { $_ * 2 }; say $a.count
22:07 p6eval niecza v13-324-g85134f9: OUTPUT«1␤»
22:08 fsergot "but role { ... }" works only on a object, doesn't it?
22:08 sorear colomon: on CORE.setting:491 you could add $replacement.count ?? $replacement($M) !! $replacement()
22:09 colomon sorear: yes, I'm testing that now.  :)
22:09 fsergot s/a/an/
22:09 sorear fsergot: Why do you want to add a method to Str?
22:09 colomon well, I said .count == 1
22:09 fsergot sorear, i just want to use "string".mymth :)
22:10 sorear this is very discouraged in Perl 6 because methods are global
22:10 sorear language modifications are supposed to be lexically scoped
22:10 tarski left #perl6
22:18 * flussence just read http://doc.rust-lang.org/doc/tutoria​l.html#interacting-with-foreign-code
22:19 flussence I have to admit that looks a lot nicer than writing "is native(...)" for every sub.
22:20 donaldh joined #perl6
22:21 dalek niecza: 1a3c2ca | (Solomon Foster)++ | lib/CORE.setting:
22:21 dalek niecza: Allow subst to accept one-argument substitution code blocks.
22:21 dalek niecza: review: https://github.com/sorear/niecza/commit/1a3c2ca013
22:25 colomon ah, dang it, JSON::Tiny t/04-roundtrip.t still fails even with that fix.
22:28 colomon are rules supposed to allow whitespace?
22:30 colomon sorear: my current problem is that rule array      { '[' ~ ']' [ <value>+ % [ \, ] ]?  } isn't accepting "[ ]" as valid
22:35 TimToady sorear: no, the failover only works if there's an explicit : or 0d on it
22:35 phenny TimToady: 21:38Z <sorear> tell TimToady re. http://irclog.perlgeek.de/​perl6/2012-01-21#i_5026615, do you mean something like if /^ <xdigit>+ $/ { return that } else { +$_ } ?
22:35 phenny TimToady: 22:00Z <sorear> tell TimToady In :8('99'), does the :8 fail to parse as octal and so fall back to normal number parsing, returning 0d99?
22:42 sorear TimToady: would an explicit 0x, 0b, etc also trip the failover?
22:42 sorear colomon: does rakudo support % yet?
22:43 TimToady yes, I mean any :N<> or 0x-ish thing, but not 0b or 0d under hex
22:43 sorear should :16 et al support fractional syntax without the failover?
22:44 sorear e.g :16("4/f"), :16("4.f")
22:45 doy ;;;;;;;;                 ;;;;;;;;;;;;;;;;;;;;;;;;;                                                     ;;;;;;;;;;;;
22:45 sorear colomon: the interaction between ~ and sigspace has been problematic to get working for STD
22:46 doy ;
22:46 doy 0;;;;;;;;
22:46 doy ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;​;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;​;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
22:47 flussence you're a kitty!
22:47 colomon It does seem that it accepts "[ <something> ]" (with spaces) works
22:48 colomon sorear: yes, rakudo does support %
22:48 sorear [ <value>* % [ \, ] ] might work etter
22:49 doy \\\\\\\\\\\\\\\\\
22:49 doy "?   oops
22:49 TimToady I think maybe 4.f but not 4/f, unless it's easier to support it than not
22:50 TimToady unless we want to run every numeric prompt into a 4-function calculator :)
22:51 bkolera joined #perl6
22:52 sorear TimToady: currently I'm thinking that there's a separate grammar for explicitly based numbers
22:53 TimToady there's at least some additional constraints
22:53 sorear I mean externally based
22:57 sorear it might be nice to have a standard grammar for what :12 etc accepts :)
22:57 colomon sorear: okay, I've got a workaround for the [ ] issue
23:02 sorear huh.  Rakudo has a delightfully *simple* implementation of :16().  I can totally steal this.
23:02 sorear rakudo: say :8(777) # oops
23:02 p6eval rakudo fa821c: OUTPUT«511␤»
23:03 sorear rakudo: say :16(0d13) # oops
23:03 p6eval rakudo fa821c: OUTPUT«19␤»
23:03 sorear rakudo: say :16('0d13') # I mean
23:03 p6eval rakudo fa821c: OUTPUT«13␤»
23:09 TimToady :16(0d13) is supposed to be illegal
23:10 TimToady S02:3396
23:18 drbean joined #perl6
23:20 cognominal joined #perl6
23:24 cognominal joined #perl6
23:29 JimmyHoff joined #perl6
23:33 * jnthn back
23:37 jnthn phenny: tell moritz thanks for doing the test run, that looks promising; I know a bunch of those that now explode are all doing so due to one underlying cause.
23:37 phenny jnthn: I'll pass that on when moritz is around.
23:37 sorear o/ jnthn
23:37 jnthn hi sorear
23:39 * jnthn had a nice relaxing day, which he probably needed. :)
23:40 hundskatt_ joined #perl6
23:42 dalek niecza: c2d38f8 | sorear++ | src/ (2 files):
23:42 dalek niecza: Remove use of nextwith from compiler because semantics have changed
23:42 dalek niecza: review: https://github.com/sorear/niecza/commit/c2d38f8908
23:42 dalek niecza: 5a9c36f | sorear++ | / (2 files):
23:42 dalek niecza: Implement :16() syntax
23:42 dalek niecza: review: https://github.com/sorear/niecza/commit/5a9c36f3ca
23:42 dalek roast: 5baf5ad | sorear++ | S02-literals/radix.t:
23:42 dalek roast: [S02/radix] Unfudge for niecza
23:42 dalek roast: review: https://github.com/perl6/roast/commit/5baf5adc69
23:43 sorear now, it is time for me to look at MAIN in earnest
23:44 * jnthn thinks its time for him to drink a beer in earnest. :)
23:50 shinobicl___ left #perl6
23:53 sorear phenny: tell japhb I have my doubts about $?USAGE as a true compile-time constant.  say $?USAGE; multi MAIN ...; say $?USAGE # should the two says differ?
23:53 phenny sorear: I'll pass that on when japhb is around.

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

Perl 6 | Reference Documentation | Rakudo