»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
colomon errr... after I look at the "too many files open" issue for $work. :( 00:37
sorear sysctls? ulimit -n? 00:39
colomon yes, customer reported my code is blowing it if a file is imported too many times.
like I'm leaking a file handle somewhere.
trying to duplicate the issue locally now 00:40
colomon drat, I need to figure out how to get ulimit going on my Mac 00:49
either that or my naive test isn't good enough. 00:54
sorear ulimit is a bash builtin 00:55
zsh probably has something similar...
the underlying kernel functionality is a 4.xBSD innovation, so I can't imagine OSX lacks it
geekosaur the point is more that you can raise ulimit only so far without root
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
colomon for (unsigned int i = 0; i < 20100; i++)
{
FILE *file = fopen(filename.c_str (), "r");
}
I just ran that with no problems.
sorear setrlimit(2) says 'SVr4, 4.3BSD, POSIX.1-2001' 00:56
geekosaur from the shell, the ulimit command should work; from C, it's setrlimit() 00:57
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
sorear hard limits can only be lowered by users
colomon okay, that's bizarre. 01:04
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
I thought ulimit actually shut down the process
benabik colomon: I think it just makes the open fail. 01:07
colomon yeah, that's it.
benabik use autodie
colomon crap, that may make this a lot.... what?
benabik Sorry, not perl.
benabik goes back to his corner. 01:08
colomon oh, right.
benabik++ # for trying
if I get lucky my code will actually note a failure.
here goes, anyway.
geekosaur ulimit will shut down the process for memory limits but not file or etc. 01:11
sorear ulimit only hard-kills the process for CPU time and file size limits 01:18
memory limits will cause ENOMEM return from sbrk/mmap 01:19
benabik File size?
sorear althogh most programs will immediately exit on seeing ENOMEM so it doesn't make a huge difference 01:19
benabik: yes, that's what the SIGXFSZ signal is for
benabik I would expect that to just make writes fail.
sorear it can be caught or ignored, in which case write returns EFBIG 01:20
CPU time causes the SIGXCPU signal to be sent; if SIGXCPU is caught or ignored, SIGKILL will be sent *at the hard limit* 01:21
so if there's a gap between the soft limit and the hard limit, the program can clean up 01:22
AFAIK this is the only case where the hard limit is meaningful per se
benabik sorear++ # knowing things 01:23
sorear geekosaur: do you know what the use case for file size limitation is? it always seemed rather useless to me 01:24
geekosaur lame attempt at keeping students' "batch jobs" from chewing up disk space, I think 01:26
colomon leftover from the days when disk space was a precious commodity. 01:31
thanks for your help, gang. I'm convinced my current test is pretty good, and demonstrates I'm not leaking file pointers. :) 01:32
dalek ast: 32f20d8 | (Solomon Foster)++ | S32-num/real-bridge.t:
Change tests which should expect Order results.
02:11
ecza: 7a63433 | (Solomon Foster)++ | lib/CORE.setting:
Change infix:< <=> >, infix:<leg>, and infix:<cmp> to return Order results.
02:13
ecza: 2732692 | (Solomon Foster)++ | t/spectest.data:
Turn back on comparison tests.
colomon [Coke]: ping? 02:15
dalek ast: e42926d | (Solomon Foster)++ | S03- (2 files):
Unfudge tests that now work.
02:29
colomon [Coke]: nevermind
dalek ast: 4f6849d | (Solomon Foster)++ | S03- (2 files):
Fudge more tests that now work.
colomon woah, panda in niecza is actually doing quite a bit at this point 02:50
sorear woah! 02:51
colomon mind you, it's still messing up somewhere 02:51
colomon probably several somewheres. 02:53
colomon but it's actually fetching stuff from the net, and figuring out dependencies, and trying to test... 02:54
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. 02:59
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:23
colomon okay, I've got niecza so that we pass the File__Tools tests. (spectest underway) 03:35
looks like JSON::Tiny is going to be worse
colomon but that's for another day 03:37
dalek ecza: ce6fb78 | (Solomon Foster)++ | lib/CORE.setting:
Add Cool.IO (simple forward to Str.IO).
03:44
ecza: de15dd1 | (Solomon Foster)++ | lib/ (2 files):
Add rmdir functionality to unlink.
colomon 'night 03:46
moritz \o 05:12
sorear o/ moritz 05:45
dukeleto ~~ 05:57
sorear `` 05:58
dukeleto sorry about flooding. Stupid bugs in dircproxy 06:03
dalek ast: e975d71 | moritz++ | S12-methods/multi.t:
avoid name clashes in evals
06:37
dalek ecza: fceb3ed | sorear++ | / (2 files):
Small refactor of precedence setting, allow setting iffy and diffy
07:06
dalek ecza: 6fc23e9 | sorear++ | / (2 files):
Fix subst/$/ and :D regressions
07:29
sorear TimToady: your !_ thing works now
TimToady \o/ 07:38
moritz !_? 08:08
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␤»
sorear moritz 08:11
moritz ah, fun 08:13
TimToady the actual line in question is: multi sub infix:<∉>($a, $b) is equiv(&infix:<==>) is export { $a !∈ $b } 08:19
dalek ecza: 76caf6f | sorear++ | / (2 files):
Use real evaluator for equiv/looser/tighter
08:20
TimToady zzz & 08:22
masak morning, #perl6 09:35
sorear o/ masak 09:36
masak is happy to see TimToady working on Set operators 10:00
sorear: and I'm not really against Unicode operators. I just think it's a good idea to not have them in core.
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?
masak sorear: I often complain about this ¢ monster, and I flat+out refused TimTpady's horrible ¤ suggestion for quasi parameters. 10:03
dalek ecza: eebc2b6 | sorear++ | / (4 files):
Implement auto-val-ification for <foo bar>
10:07
sorear perl6: say <2+3i>.WHAT 10:08
p6eval pugs b927740: OUTPUT«Str␤»
..rakudo e3c0af, niecza v13-321-g76caf6f: OUTPUT«Str()␤»
sorear will change once p6eval updates ...
sorear starts spectest run; goes to bed.
masak 'night, sorear. dream of allomorphic things. 10:19
fsergot masak: how are You today? :) 10:40
masak fsergot: I have a slight cold, but otherwise I'm fine. :) 10:43
fsergot: how're you?
fsergot masak: fine, full of inspiration :) 10:54
masak inspiration! that is indeed something to treasure. 10:57
tadzik good morning! 10:58
(yes! I made it! It's actually morning!) 10:59
masak :P
top of the day to you, dearest tadzik. 11:00
Trashlord top of the morning oldster 11:01
masak hey who are you calling old? 11:02
tadzik here is in his best years!
:P
moritz sorear is too :-) 11:03
tadzik heh :)
masak moritz: 'Some people, when confronted with a problem, think "I know, I'll quote Jamie Zawinski."' 11:46
(also a tweet) 11:47
of course, JZ wasn't the originator of the "now they have two problems" meme.
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:48
that last one has some autopun leanings. 11:49
tadzik haha, I love that last one 11:50
masak tries to make up a similar one 11:51
"There are two types of people in the world. Those who finish what they start,"
tadzik nice
masak :P
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.
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....
masak moritz: I still haven't been able to clearly nail down what an autopun *is* :/
tadzik it's a recursive pun
masak moritz: it's something like a humourous self-application.
BinGOs procrastinate now!
moritz masak: it's something funny and self-referential
masak tadzik: it's actually not a pun at all.
tadzik nah, I'll do it later :)
www.jwz.org/ is one crazy website 11:55
masak JZ is an interesting person in general.
read his rants on the Netscape email client, for example :)
moritz wants new HPMoR chapters 12:00
masak too
I've been on the brink of writing to LW about it... 12:01
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
tadzik since I discovered the Game of Thrones and friends I miss it less and less, I must say :)
p6eval nom e3c0af: OUTPUT«===SORRY!===␤Found ?? but no !! at line 1, near ").shift },"␤»
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
p6eval nom e3c0af: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 2␤»
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␤»
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?␤»
moritz feels kinda expressionistic 12:08
masak :) 12:09
fsergot moritz: what does @a, @b after gather block? 12:11
masak fsergot: to collect the remaining elements.
fsergot: should really be Bool.pick ?? (@a, @b) !! (@b, @a) to make it fair ;) 12:12
fsergot So, it returns gathered elements and @a, @b elements? 12:14
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.
fsergot: at that point, there must still be elements left in either @a or @b.
fsergot Oh, right. 12:17
masak moritz: 'gather while' lets you skip one level of braces.
nom: say gather repeat while my $x == 0 { take $x = 42 } 12:19
p6eval nom e3c0af: OUTPUT«42␤»
masak \o/
colomon phenny: tell sorear is('aaaaa' ~~ /< a aa aaaa >/, 'aaaa', 'leading whitespace quotes words (space)'); # worked before, fails after your latest commits 12:21
phenny colomon: I'll pass that on when sorear is around.
dalek ast: a0f1f15 | (Solomon Foster)++ | S05-metasyntax/angle-brackets.t:
Refudge for niecza.
masak colomon++ 12:22
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.
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:26
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
p6eval niecza v13-322-geebc2b6: OUTPUT«Str()␤»
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␤»
colomon perl6: my @a = <a a a a b c c a a d e e e e>; say @a[0] === @a[1]
p6eval rakudo e3c0af: OUTPUT«Bool::True␤»
..pugs b927740: OUTPUT«1␤»
..niecza v13-322-geebc2b6: OUTPUT«Bool::False␤»
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]
phenny colomon: I'll pass that on when sorear is around.
colomon niecza: my $a = :q<5>; say $a.WHAT 12:32
p6eval niecza v13-322-geebc2b6: OUTPUT«Pair()␤»
ggoebel masak: I would be willing to chip in. However, I wonder if he doesn't benefit from having a slow memory bound box...
colomon yeah, it's an interesting question, isn't it?
niecza: my $a = :q<5>; say $a.value.WHAT 12:34
p6eval niecza v13-322-geebc2b6: OUTPUT«Int()␤»
colomon nom: my $a = :q<5>; say $a.value.WHAT
p6eval nom e3c0af: OUTPUT«Str()␤»
colomon nom: my $cmp5 = { :$^q cmp :q<5> }; say $cmp5(5) 12:35
p6eval nom e3c0af: OUTPUT«Order::Same␤»
colomon nom: my $cmp5 = { :$^q cmp :q<5> }; say $cmp5(6)
p6eval nom e3c0af: OUTPUT«Order::Decrease␤»
colomon nom: say 5 cmp "5"
p6eval nom e3c0af: OUTPUT«Order::Same␤»
colomon niecza: my $a = :q<5>; say $a.value ~~ Str 12:37
p6eval niecza v13-322-geebc2b6: OUTPUT«Bool::False␤» 12:38
colomon niecza: my $a = :q< 5 >; say $a.value ~~ Str 12:39
p6eval niecza v13-322-geebc2b6: OUTPUT«Bool::True␤»
colomon niecza: my $a = :q< 5 >; say $a.value.WHAT
p6eval niecza v13-322-geebc2b6: OUTPUT«IntStr()␤»
colomon wow, that's a complicated set of behaviors being shown by one test 12:42
my $cmp5 = { :$^q cmp :q<5> }; is $cmp5(6), Order::Same # I mean
it passes in nom because 5 cmp "5" is Order::Same, even though that's kind of questionable, IMO
it didn't used to pass in Niecza because 5 cmp "5" is not Order::Same there 12:43
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:44
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:45
the last may represent a subtle bug of implementing cmp as a series of rules rather than as a series of multis. 12:46
heady stuff for first thing on a Saturday morning 12:47
masak ggoebel: a fast box with more memory can emulate a slow one with less. 12:53
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, .␤»
tadzik IO::Socket::INET is in the Core setting, no need to 'use' it 13:02
nom: IO::Socket::INET.new.WHAT.say
p6eval nom e3c0af: OUTPUT«Could not find symbol 'IO::Socket::&INET'␤ in block <anon> at /tmp/URUeeHtz5d:1␤ in <anon> at /tmp/URUeeHtz5d:1␤»
tadzik maybe it's blocked by SAFE.setting, which p6eval uses
wollmers tadzik: says the same here. I thought this module is built-in. 13:05
tadzik it is 13:06
wollmers Where can I find it in the sources of Rakudo/Parrot? Where should it be? 13:07
moritz ls src/core/IO/Socket{.pm,/INET.pm} 13:12
in rakudo
wollmers moritz: thx, found it. 13:18
moritz masak: could I convince you to submit an autopun lighting talk to GPW2012? :-) 13:26
masak moritz: :) 13:33
I'll think about it :)
it would be an easy one to write... just need to trawl the #perl6 logs... 13:34
tadzik . o O ( grep jnthn ) 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:35
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:36
or something like "Apathetics of the world, unite! Oh wait." 13:37
huf humor as conflict resolution? 13:38
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:39
so it's self-reference, but just a hint of it. just enough to push the brain over the edge. 13:40
moritz: all right, I'll do it :)
tadzik has GPW tickets o/ 13:42
jnthn I would give a lightning talk on puns, but I plan to go on strike after my meta-programming one. 13:55
afternoon, btw... :) 13:57
jnthn has le cold :/
masak greps the logs for "autopun" and laughs himself silly 14:03
"Circular logic is the best type of logic, because it's circular." -- I know!
"In soviet russia the jokes understand you." 14:04
"Is confirmation bias prevalent? Yes, I see it everywhere!"
[Coke] masak: I Hope you read Saturday Morning Breakfast Cereal comics. 14:06
masak occasionally :)
[Coke] www.smbc-comics.com/index.php?db=co...mp;id=2444 (confirmation bias)
masak this one is one of my all-time favorites: www.threadless.com/product/623/Haik..._Sometimes 14:07
[Coke]: :) 14:08
not_gerd hello, #perl6 14:11
masak not_gerd! \o/
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
(the next dyncall release will probably not be for a long time...)
jnthn not_gerd: Ah, it was since the last release? 14:13
not_gerd: Just go for the minimal patch then.
not_gerd (where long time ~6 months)
jnthn: ok, will do
jnthn Thanks! 14:14
colomon moritz: ping?
colomon does nom support [ <value>+ % [ \, ] ] yet? 14:15
nom: say "abc,def" ~~ /[ \S+ % [ \, ] ]/ 14:16
p6eval nom e3c0af: OUTPUT«=> <a>␤␤» 14:16
colomon niecza: say "abc,def" ~~ /[ \S+ % [ \, ] ]/
p6eval niecza v13-322-geebc2b6: OUTPUT«#<match from(0) to(1) text(a) pos([].list) named({}.hash)>␤»
jnthn colomon: I remember implementing % 14:17
And %%
colomon nom: say "abc,def" ~~ /[ \S ** [ \, ] ]/
p6eval nom e3c0af: OUTPUT«=> <a>␤␤»
jnthn Did you want \S+ there?
colomon no idea
jnthn :)
We still support the old way, but I plan to remove it after the Star release. 14:18
(Give people a release where both work.)
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. :)
cognominal hi #perl6. does my nick qualify as an autopun? 14:20
jnthn Yeah, please don't break it on nom. :)
masak I think nicks are too short to set up an autopun. self-references yes, autopuns probably not. 14:24
colomon "Hardcore Forking Action" 14:27
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…
colomon niecza: say "[ ]" ~~ /'[' ~ ']' [ \S+ % [ \, ] ]?/
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…
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␤»
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␤»
colomon niecza: say "[]" ~~ /'[' ~ ']' [ \w+ % [ \, ] ]?/
p6eval niecza v13-322-geebc2b6: OUTPUT«#<match from(0) to(2) text([]) pos([].list) named({}.hash)>␤»
colomon niecza: say "[ ]" ~~ /'[' ~ ']' [ \w+ % [ \, ] ]?/
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…
not_gerd jnthn: gist.github.com/1652956 14:42
when you're at it, you might want to update dyncall to the released version as well...
dalek p: 58f5268 | jnthn++ | src/QAST/Compiler.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
p: 6fb60c8 | jnthn++ | 3rdparty/dyncall/configure:
Fix dyncall build on Cygwin; not_gerd++.
14:47
fsergot Where can i find some info about exceptions? 14:57
fsergot Ok.. I found. :) 15:00
not_gerd are the failures of tests 27, 28 in t/nqp/60-bigint.t (to_num and from_num round-trip) expected? 15:01
fsergot nom: say [+] 1,2,3; 15:02
p6eval nom e3c0af: OUTPUT«6␤»
fsergot nom: say [\+] 1,2,3; 15:03
p6eval nom e3c0af: OUTPUT«1 3 6␤»
masak nom: say [\~] "banana".comb 15:05
p6eval nom e3c0af: OUTPUT«b ba ban bana banan banana␤»
masak nom: say [\~] "banana".comb.reverse 15:06
p6eval nom e3c0af: OUTPUT«a an ana anan anana ananab␤»
masak nom: say flip [\~] "banana".comb.reverse
p6eval nom e3c0af: OUTPUT«banana anana nana ana na a␤»
masak nom: say ([\~] "banana".comb.reverse)>>.flip
p6eval nom e3c0af: OUTPUT«a na ana nana anana banana␤»
jnthn not_gerd: Compiler (or system) specific, I think. 15:07
masak cognominal: I think the best a single word can hope for is to be autological. 15:10
cognominal :) 15:12
masak found this while browsing around for self-reference: en.wikipedia.org/wiki/Tupper%27s_se...al_formula
that's just sick :P
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:15
[Coke] dirty trick or not, it was still nifty. 15:16
masak aye. 15:18
dalek p: 942907e | jnthn++ | src/QRegex/Cursor.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.
p: 078ea5d | jnthn++ | t/qregex/rx_backtrack:
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.)
colomon niecza: say "[]" ~~ /'[' ~ ']' [ \w+ % [ \, ] ]?/ 15:20
p6eval niecza v13-322-geebc2b6: OUTPUT«#<match from(0) to(2) text([]) pos([].list) named({}.hash)>␤»
masak wow, both nom and niecza can print that large constant.
colomon niecza: say "[ ]" ~~ /'[' ~ ']' [ \w+ % [ \, ] ]?/
p6eval niecza v13-322-geebc2b6: OUTPUT«Match()␤»
colomon niecza: say "[ ]" ~~ /'[' ~ ']' [ \w+ % [ \, ] ]?/
p6eval niecza v13-322-geebc2b6: OUTPUT«Match()␤»
colomon :\
fsergot nom: say [] 1,2,3; 15:21
p6eval nom e3c0af: OUTPUT«===SORRY!===␤Confused at line 1, near "say [] 1,2"␤»
fsergot nom: say [++] 1,2,3;
p6eval nom e3c0af: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix + instead at line 1, near "+] 1,2,3;"␤»
fsergot nom: say [\++] 1,2,3;
p6eval nom e3c0af: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix + instead at line 1, near "+] 1,2,3;"␤»
masak interesting. Rakudo just hangs, but Niecza prints something... the "1/2" at the extreme left of the formula. 15:28
preparing gist.
gist.github.com/1653071 15:30
masak niecza: say 2 ** (-17 * 30) 15:40
p6eval niecza v13-322-geebc2b6: OUTPUT«2.9833362924800827E-154␤»
masak ah. since it's a Num, it just doesn't have enough precision.
muixirt masak: funny script :-) 15:45
masak I can't get it to behave correctly under Niecza, though. 15:46
muixirt even the shortened version «for reverse $k .. $k + 17 -> $y { say $y }» #drives my machine insane, now rhythmbox makes funny noises 15:47
masak is that Rakudo? 15:48
muixirt yes
masak yeah, here it just hung.
oh, it's fine to be a pioneer! :D
muixirt and eats up memory :-)
muixirt nom: say reverse 1000000000000000 .. 1000000000000010; 15:54
p6eval nom e3c0af: OUTPUT«1000000000000010 1000000000000009 1000000000000008 1000000000000007 1000000000000006 1000000000000005 1000000000000004 1000000000000003 1000000000000002 1000000000000001 1000000000000000␤»
muixirt nom: say reverse 1000000000000000000 .. 1000000000000000010;
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…
muixirt ducks
masak 4096 bytes!? 15:57
is that to store the numbers in Roman numerals?
tadzik hehe 15:58
jnthn Despite the QRegex tests in NQP passing again, some of the Rakudo spectests are not quite so happy after the backtracking fixes. 16:00
muixirt nom: say 1000000000000000000 .. 1000000000000000010; 16:06
p6eval nom e3c0af: OUTPUT«1000000000000000000..1000000000000000010␤»
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…
[Coke] # 01/21/2012 - niecza at 99.79% 16:18
[Coke] b: say 19263-19224 16:20
p6eval b 1b7dd1: OUTPUT«39␤»
[Coke] that's pretty close. ;) 16:21
jnthn Uneaster! \o/ 16:21
masak sorry, what? :)
oh, "un-Easter" :P 16:22
jnthn afk for a bit 16:24
[Coke] there are 42 tests that are passing in various spectest files that then error out. 16:26
so I could pull ahead with just fudging.
put that's a lot of fudging. better to get temporal working. ;)
moritz colomon: pong 16:59
[Coke]: I guess most of the Temporal code can be stolen pretty directly from rakudo 17:02
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
Gloria to Larry: For some definition of "evil", "over", and "lord"...
moritz :-) 17:04
sounds like somebody had too much exposure to Larry :-)
moritz \o/ all qregex tests pass in nom 17:06
moritz now spectests rakudo with latest nom 17:06
dalek kudo/nom: fa821c1 | moritz++ | src/core/Temporal.pm:
Date.gist should be the same as Date.Str

because TimToady++ says so
17:10
tadzik moritz: couldn't that just call self.Str? 17:13
TimToady What a pity this TimToady dude finds the hard decisions difficult...or was it the difficult decisions hard? 17:14
moritz tadzik: it could, but the code isn't too complicated, so I don't worry much about duplication 17:15
moritz jnthn: gist.github.com/1653352 is the summary of rakudo on latest nom 17:25
TimToady perl6: sub circumfix:<⌊ ⌋>($e) { $e.floor }; say ⌊pi⌋ 17:47
p6eval rakudo fa821c, niecza v13-322-geebc2b6: OUTPUT«3␤»
..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…
TimToady yow, there's no test for circumfix with Unicode brackets of any sort... 17:53
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
moritz that is highly unlikely
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 :-)
s/script/strings/
TimToady hmm
TimToady okay, that's better :) moritz++ 17:57
moritz rakudo: sub circumfix:<⌊ ⌋>($e) { $e.floor }; say ⌊pi⌋, ' foo' 17:59
p6eval rakudo fa821c: OUTPUT«3 foo␤» 17:59
moritz somehow rakudo doesn't like the test that I'm turning this thing into 17:59
TimToady we test brackets under quotes, at least, if not circumfix/postcircumfix 18:00
moritz ah no, I'm stupid. The previous line didn't have a semicolon, and the error was reported a bit later 18:01
dalek ast: 5d47ee2 | moritz++ | S06-operator-overloading/sub.t:
test for custom Unicode circumfix brackets
18:02
TimToady moritz++
TimToady funny that we call that overloading, when overloading is specifically discouraged in P6 :) 18:04
well, overloading for different semantics anyway
and this is not, in fact, overloading anything...
"user-defined operators" on the other hand does not convey they overloading meaning 18:05
'operator extension' or some such
'operator loading and overloading' :) 18:06
geekosaur it's operator definition, like function definition. overloading is a separate concept (and probably better conflated with multi) 18:08
moritz "syntactic extension" 18:09
wollmers \o 18:13
moritz o/ wollmers
wollmers IO::Socket works so far. 18:14
moritz that's good to hear.
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…
muixirt nom: my Rat $k=9007199254740992.0-10; say ($k .. $k+10).list
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␤»
TimToady I read that as E-10, and said "Huh?" 18:18
moritz nom: say (1e0 .. 1.2e0).list 18:22
p6eval nom fa821c: OUTPUT«1␤»
moritz nom: say log(9007199254740992, 2)
p6eval nom fa821c: OUTPUT«53␤»
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:23
nom: my Num $k=9007199254740992.0e0; say $k.succ == $k 18:24
p6eval nom fa821c: OUTPUT«Bool::True␤»
muixirt nom: my Int $k=9007199254740992-10; say ($k .. $k+10).list
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…
moritz now that one is more curious 18:25
tadzik it eats like 3GBs on my box before I kill it :)
muixirt tadzik: and that it shouldn't do it regardless of the mantissa :-) 18:26
moritz not in the int case, no 18:26
in the Num case it's what I#d expect
if you create an infinite list eagerly, it'll consume all your memory. 18:27
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
p6eval nom fa821c: OUTPUT«9.00719925474099e+15␤»
moritz TimToady: it's much easier, since succ isn't in-place 18:29
POST { $_ != self }
moritz oh, the range iterator code uses parrot ints 18:34
colomon moritz: wanted to talk about JSON::Tiny, but I just ended up forking it. ;) 18:41
moritz colomon: you now have a commit bit 18:43
colomon ooooo
I promise not to abuse it 18:44
... too much ... ;) 18:45
moritz colomon: if you abuse it, I'll use 'git revert' :-) 18:47
colomon sorear: I'm guessing "Unable to resolve method FAILGOAL in class Grammar" is not a normal error? 18:51
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
moritz niecza: say so '(a)' ~~ /'(' ~ ')' <alpha>/ 18:52
p6eval niecza v13-322-geebc2b6: OUTPUT«Bool::True␤»
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…
moritz ah, that's it
colomon moritz++
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:54
moritz ah well :-) 18:57
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:03
moritz eeks. eval. 19:05
colomon: please leave a comment that :16() is the desirable form, and blocking on niecza
niecza: say :16('FF') 19:07
p6eval niecza v13-322-geebc2b6: OUTPUT«===SORRY!===␤␤Runtime base conversions NYI at /tmp/ro4y1Sx_BL line 1 (EOF):␤------> say :16('FF')⏏<EOL>␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 919 (die @ 2) ␤ at /home/…
colomon done 19:11
niecza: say "This is a test".subst(/\s./, { $_++; }); 19:12
p6eval niecza v13-322-geebc2b6: OUTPUT«This0s a test␤»
colomon niecza: say "This is a test".subst(/\s./, { $_++; }, :g);
p6eval niecza v13-322-geebc2b6: OUTPUT«This0s12est␤»
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…
colomon nom: say "This is a test".subst(/\s./, { ~($_)++; }, :g);
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…
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…
colomon nom: say "This is a test".subst(/\s./, { ord(~$_); }, :g); 19:14
p6eval nom fa821c: OUTPUT«This32s3232est␤»
colomon nicza: say "This is a test".subst(/\s./, { ord(~$_); }, :g); 19:15
niecza: say "This is a test".subst(/\s./, { ord(~$_); }, :g);
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) ␤…
colomon sorear: above ^^ issue is hindering panda somewhat 19:27
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) ␤ …
TimToady niecza: say +val('0xFF')
p6eval niecza v13-322-geebc2b6: OUTPUT«255␤» 19:29
TimToady niecza: say +val(':16<FF>')
p6eval niecza v13-322-geebc2b6: OUTPUT«255␤»
TimToady niecza: { +val(":$^r\<$^s>") }(16,'FF').say 19:37
p6eval niecza v13-322-geebc2b6: OUTPUT«255␤»
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
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]
sorear cognominal_: What does your nick mean? 19:53
colomon: 'a' === 'a' was never supposed to work in Niecza; WHICH NYI
I'll have to look at the other one thogh
colomon: (FAILGOAL) that's a bit of the STD legacy leaking through. You're expected to define your own FAILGOAL right now 19:55
moritz are you? is that spec? where? 19:56
sorear TimToady: what syntactic form(s) should :16(...) accept?
moritz can't we just put a default FAILGOAL in Grammar as a fallback
sorear moritz: what I mean is that niecza expects you to, as you've just seen 19:57
moritz sorear: but why?
sorear a fallback never got added to Grammar because STD defines its own FAILGOAL
a FAILGOAL in Cursor couldn't use STD's panic subsystem
moritz from a user's perspective that's not very persuasive 19:58
sorear I'm not trying to persuade anyone 19:59
I'm explaining things as they are
not as they should be
moritz ok 20:02
dalek ecza: f12b46d | sorear++ | / (2 files):
Add Cursor.FAILGOAL ... amazing this got overlooked for so long
20:12
cognominal_ sorear: www.thefreedictionary.com/Cognominal 20:24
it can be thought as nominal cog, also. 20:26
TimToady sorear: it should accept any : or 0o-style literal, if it cannot parse the value as hex 20:37
it need not accept a nested :16() since that's not a literal
sorear TimToady: something like if /^ <xdigit>+ $/ { return that } else { +$_ } / 20:38
s/.$/?/ 20:39
sorear wow, S05-metasyntax/angle-brackets.t has a lot of dubiousness 20:44
dalek ecza: 85134f9 | sorear++ | src/niecza:
Fix /<a b>/ bug (try and spot the change!), colomon++
20:45
ast: 9114870 | sorear++ | S05-metasyntax/angle-brackets.t:
[S05-metasyntax/angle-brackets] Unfudge for sorear/niecza@85134f9
moritz if anyone wants some module fun with rakudo, change Math::RungeKutta to work with native nums :-) 21:06
dalek ast: 989ba7e | sorear++ | / (6 files):
Misc niecza refudges
21:24
colomon sorear: o/ # back from lovely ski 21:27
come to think of it, also back from long trip to urgent care. 21:29
colomon has another darned staph infection 21:30
sorear o/ colomon 21:35
muixirt moritz: how complete is the implementation of native types? 21:36
sorear phenny: tell TimToady re. 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.
colomon nom: my int16 $a = 1; 21:39
p6eval nom fa821c: ( no output )
colomon nom: my int16 $a = 1; say $a
p6eval nom fa821c: OUTPUT«1␤»
colomon nom++
flussence nom: my int16 $a = 65537; say $a; 21:39
p6eval nom fa821c: OUTPUT«65537␤»
flussence nom: my int16 $a = 65537; say $a.WHAT;
p6eval nom fa821c: OUTPUT«Int()␤»
muixirt nom: my int16 $a = 1; $a += 2; say $a
p6eval nom fa821c: OUTPUT«Cannot assign to a non-container␤ in block <anon> at /tmp/a08rnMItvm:1␤ in <anon> at /tmp/a08rnMItvm:1␤»
flussence hm, not as strict-typed as I'd expected 21:40
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?
colomon muixirt: darned if I know. :)
I didn't expect int16 to actually work. :) 21:42
sorear the only types you should expect to work are int, num, and str 21:43
because those are the only ones supported by Parrot 21:44
muixirt sorear: but what's the error message "Cannot assign to a non-container" all about? Something NYI? 21:46
colomon sorear: any thought on the subst / $_ thing? ERrrr... wait, that sounds like a change I could make to the source. 21:52
sorear colomon: The what? 21:55
muixirt: To save memory/time, native typed variables don't have containers, so they can't be passed by reference 21:56
muixirt: The only way to modify one is to use the = operator (which is, in this case, syntactic)
host02 is being rather laggy today... 21:57
muixirt nom: my int16 $a = 1; $a=$a+2; say $a
p6eval nom fa821c: OUTPUT«3␤»
muixirt sorear: where is that specced?
sorear I don't think it is 21:58
(yet)
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. :)
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?
phenny sorear: I'll pass that on when TimToady is around.
colomon nicza: say "This is a test".subst(/\s./, { ord(~$_); }, :g);
nom: say "This is a test".subst(/\s./, { ord(~$_); }, :g);
p6eval nom fa821c: OUTPUT«This32s3232est␤»
colomon niecza: say "This is a test".subst(/\s./, { ord(~$_); }, :g);
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.
not sure if it's properly spec or not
sorear colomon: I think by spec you're supposed to use $/, not $_
colomon niecza: say "This is a test".subst(/\s./, { ord(~$/); }, :g);
p6eval niecza v13-324-g85134f9: OUTPUT«This32s3232est␤»
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␤ …
colomon unfortunately niecza and nom do not agree. :(
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?
sorear open src/core/Str.pm, add the method
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
colomon or you can use monkey typing and say "augment class Str", though that is perhaps the least useful way of doing it. 22:05
niecza: my $a = { $_ * 2 }; say $a.count 22:07
p6eval niecza v13-324-g85134f9: OUTPUT«1␤»
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()
colomon sorear: yes, I'm testing that now. :) 22:09
fsergot s/a/an/
sorear fsergot: Why do you want to add a method to Str?
colomon well, I said .count == 1
fsergot sorear, i just want to use "string".mymth :)
sorear this is very discouraged in Perl 6 because methods are global 22:10
language modifications are supposed to be lexically scoped
flussence just read doc.rust-lang.org/doc/tutorial.html...reign-code 22:18
I have to admit that looks a lot nicer than writing "is native(...)" for every sub. 22:19
dalek ecza: 1a3c2ca | (Solomon Foster)++ | lib/CORE.setting:
Allow subst to accept one-argument substitution code blocks.
22:21
colomon ah, dang it, JSON::Tiny t/04-roundtrip.t still fails even with that fix. 22:25
are rules supposed to allow whitespace? 22:28
sorear: my current problem is that rule array { '[' ~ ']' [ <value>+ % [ \, ] ]? } isn't accepting "[ ]" as valid 22:30
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. irclog.perlgeek.de/perl6/2012-01-21#i_5026615, do you mean something like if /^ <xdigit>+ $/ { return that } else { +$_ } ?
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?
sorear TimToady: would an explicit 0x, 0b, etc also trip the failover? 22:42
colomon: does rakudo support % yet?
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?
e.g :16("4/f"), :16("4.f") 22:44
doy ;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;; 22:45
sorear colomon: the interaction between ~ and sigspace has been problematic to get working for STD
doy ; 22:46
0;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
flussence you're a kitty! 22:47
colomon It does seem that it accepts "[ <something> ]" (with spaces) works
sorear: yes, rakudo does support % 22:48
sorear [ <value>* % [ \, ] ] might work etter
doy \\\\\\\\\\\\\\\\\ 22:49
"? oops
TimToady I think maybe 4.f but not 4/f, unless it's easier to support it than not
unless we want to run every numeric prompt into a 4-function calculator :) 22:51
sorear TimToady: currently I'm thinking that there's a separate grammar for explicitly based numbers 22:52
TimToady there's at least some additional constraints 22:53
sorear I mean externally based
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
sorear huh. Rakudo has a delightfully *simple* implementation of :16(). I can totally steal this. 23:02
rakudo: say :8(777) # oops
p6eval rakudo fa821c: OUTPUT«511␤»
sorear rakudo: say :16(0d13) # oops 23:03
p6eval rakudo fa821c: OUTPUT«19␤»
sorear rakudo: say :16('0d13') # I mean
p6eval rakudo fa821c: OUTPUT«13␤»
TimToady :16(0d13) is supposed to be illegal 23:09
S02:3396 23:10
jnthn back 23:33
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.
sorear o/ jnthn
jnthn hi sorear
jnthn had a nice relaxing day, which he probably needed. :) 23:39
dalek ecza: c2d38f8 | sorear++ | src/ (2 files):
Remove use of nextwith from compiler because semantics have changed
23:42
ecza: 5a9c36f | sorear++ | / (2 files):
Implement :16() syntax
ast: 5baf5ad | sorear++ | S02-literals/radix.t:
[S02/radix] Unfudge for niecza
sorear now, it is time for me to look at MAIN in earnest 23:43
jnthn thinks its time for him to drink a beer in earnest. :) 23:44
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.