»ö« 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.
00:18 not_gerd left
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
00:41 leprevost joined 00:47 tokuhirom left
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.
00:56 molaf_ joined
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
00:57 molaf left
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
01:17 bkolera joined
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?
01:19 Chillance left
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
01:43 icwiener left, icwiener joined 01:50 pat_js joined 01:53 pat_js left, pat_js joined 01:55 PacoAir left 02:03 carlin joined
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
02:27 wolfman2000 joined
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.
02:31 DrEeevil is now known as bonsaikitten
colomon woah, panda in niecza is actually doing quite a bit at this point 02:50
02:51 drbean left
sorear woah! 02:51
02:51 lutok left
colomon mind you, it's still messing up somewhere 02:51
02:52 drbean joined
colomon probably several somewheres. 02:53
02:53 drbean left
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
03:03 icwiener left 03:08 ponbiki joined 03:09 whiteknight left 03:15 aindilis left
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
03:32 orafu left 03:34 orafu joined
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
03:36 simcop2387 left
colomon but that's for another day 03:37
03:38 Psyche^ joined 03:42 Patterner left, Psyche^ is now known as Patterner 03:44 jaldhar joined
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.
03:45 pat_js left
colomon 'night 03:46
03:57 kaleem joined 04:01 simcop2387 joined 04:02 simcop2387 left, simcop2387 joined, simcop2387 left, simcop2387 joined 04:32 kaleem left 04:39 Bucciarati joined 04:44 bkolera left, ponbiki left 04:54 sboyette left 04:58 mdxi joined
moritz \o 05:12
05:28 cognominal_ joined 05:31 cognominal left 05:39 drbean joined 05:44 rjbs- left, rjbs joined
sorear o/ moritz 05:45
05:51 dukeleto left, dukeleto joined 05:52 dukeleto left 05:53 drbean left 05:57 dukeleto joined
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
06:41 drbean joined 06:49 drbean left 06:59 bkolera joined
dalek ecza: fceb3ed | sorear++ | / (2 files):
Small refactor of precedence setting, allow setting iffy and diffy
07:06
07:14 Woodi left
dalek ecza: 6fc23e9 | sorear++ | / (2 files):
Fix subst/$/ and :D regressions
07:29
sorear TimToady: your !_ thing works now
07:31 GlitchMr joined
TimToady \o/ 07:38
07:48 kaare_ joined 07:51 cognominal_ left 07:52 cognominal joined, lutok joined 07:55 sayu joined 08:07 spine joined
moritz !_? 08:08
08:08 am0c joined
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
08:17 nornagest joined, sayu_ joined
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
08:31 sayu_ left 08:42 kaare__ joined, kaare_ left 08:57 sayu left 09:07 RobiX joined 09:08 am0c left 09:15 RobiX left 09:16 sayu joined 09:35 hundskatt joined
masak morning, #perl6 09:35
sorear o/ masak 09:36
09:37 MayDaniel joined 09:56 sayu left 09:59 MayDaniel left
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.
10:14 dbr joined 10:17 RobiX joined, RobiX left
masak 'night, sorear. dream of allomorphic things. 10:19
10:27 MayDaniel joined
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
10:56 whiteknight joined
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 :)
11:08 molaf_ left 11:09 Woodi joined 11:14 bkolera left 11:15 thou left 11:27 bkolera joined 11:33 birdwindupbird joined 11:34 fsergot left 11:37 kensanata joined
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 :)
11:57 fsergot joined 11:59 donri joined
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
12:09 cognominal left 12:11 cognominal joined
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.
12:25 kaare_ joined
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
12:26 kaare__ left
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
12:52 sayu joined
masak ggoebel: a fast box with more memory can emulate a slow one with less. 12:53
12:57 wollmers joined
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
13:16 MayDaniel left
wollmers moritz: thx, found it. 13:18
moritz masak: could I convince you to submit an autopun lighting talk to GPW2012? :-) 13:26
13:30 MayDaniel joined 13:33 simcop2387 left
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
13:35 simcop2387 joined
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 :)
13:42 carlin left
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 :/
13:58 MayDaniel left
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!"
14:05 MayDaniel joined
[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
14:11 not_gerd joined
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?
14:14 PacoAir joined
colomon does nom support [ <value>+ % [ \, ] ] yet? 14:15
nom: say "abc,def" ~~ /[ \S+ % [ \, ] ]/ 14:16
14:16 Patterner left
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
14:28 Chillance joined, MayDaniel left 14:31 Psyche^ joined, Psyche^ is now known as Patterner 14:34 wollmers left
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…
14:41 nebuchadnezzar left, nebuchadnezzar joined
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
14:57 sayu_ joined, sayu left
fsergot Where can i find some info about exceptions? 14:57
14:57 sayu_ left 14:59 not_gerd left 15:00 not_gerd joined
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
15:11 sayu joined
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
15:13 birdwindupbird left
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;"␤»
15:25 jaldhar left 15:28 jaldhar joined
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
15:35 kensanata left 15:36 cognominal_ joined, cognominal left
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.
15:44 muixirt joined
muixirt masak: funny script :-) 15:45
15:46 sayu left
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 :-)
15:53 sayu joined
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?
15:57 cognominal___ joined
tadzik hehe 15:58
16:00 not_gerd left, cognominal_ left
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␤»
16:08 sayu left 16:11 sayu joined
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 16:16 M_o_C left
[Coke] # 01/21/2012 - niecza at 99.79% 16:18
16:19 groky left, cognominal___ left
[Coke] b: say 19263-19224 16:20
p6eval b 1b7dd1: OUTPUT«39␤»
16:20 literal joined, groky joined
[Coke] that's pretty close. ;) 16:21
16:21 cognominal joined
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 :-)
17:04 MayDaniel joined 17:05 sayu left
moritz \o/ all qregex tests pass in nom 17:06
17:06 sayu joined
moritz now spectests rakudo with latest nom 17:06
17:06 sayu left 17:09 cognominal left
dalek kudo/nom: fa821c1 | moritz++ | src/core/Temporal.pm:
Date.gist should be the same as Date.Str

because TimToady++ says so
17:10
17:11 cognominal joined
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
17:16 bkolera left, cognominal_ joined 17:20 cognominal left 17:22 sayu joined 17:24 sayu left
moritz jnthn: gist.github.com/1653352 is the summary of rakudo on latest nom 17:25
17:27 cognominal_ left 17:28 cognominal_ joined 17:30 sayu joined 17:31 sayu left 17:34 bkolera joined 17:35 sayu joined 17:36 sayu left, thou joined 17:43 sayu joined 17:44 sayu_ joined, sayu_ left 17:45 sayu left 17:46 sayu joined
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…
17:48 nnunley joined, nnunley left, sayu left 17:49 sayu joined, sayu left
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
17:55 nnunley joined
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
17:56 sayu joined 17:57 nnunley left
TimToady okay, that's better :) moritz++ 17:57
17:58 spine left, sayu left
moritz rakudo: sub circumfix:<⌊ ⌋>($e) { $e.floor }; say ⌊pi⌋, ' foo' 17:59
17:59 sayu joined
p6eval rakudo fa821c: OUTPUT«3 foo␤» 17:59
17:59 sayu left, cooper left, molaf joined
moritz somehow rakudo doesn't like the test that I'm turning this thing into 17:59
18:00 LlamaRider joined
TimToady we test brackets under quotes, at least, if not circumfix/postcircumfix 18:00
18:00 sayu joined, sayu left
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++
18:02 sayu joined
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
18:11 birdwindupbird joined 18:13 wollmers joined
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
18:18 _dbr joined 18:20 dbr left 18:21 thou left
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
18:26 hundskatt left
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
18:27 shinobicl___ joined
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 }
18:33 Mowah_ joined
moritz oh, the range iterator code uses parrot ints 18:34
18:36 birdwindupbird left 18:38 birdwindupbird joined
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
18:48 cognominal joined 18:50 cognominal left, cognominal_ left, cognominal joined, sayu left
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
18:52 cognominal left
colomon quite possible, it seems to be happening in one of those rules. 18:52
18:52 cognominal joined
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…
19:14 molaf left
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␤»
19:32 cognominal_ joined 19:35 cognominal left
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]
19:45 Chillance left 19:49 birdwindupbird left
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
19:55 hundskatt joined
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
20:03 cognominal_ left, cognominal_ joined 20:04 GlitchMr left 20:06 Chillance joined
dalek ecza: f12b46d | sorear++ | / (2 files):
Add Cursor.FAILGOAL ... amazing this got overlooked for so long
20:12
20:20 MayDaniel left 20:24 icwiener joined
cognominal_ sorear: www.thefreedictionary.com/Cognominal 20:24
it can be thought as nominal cog, also. 20:26
20:34 thou joined
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
20:43 MayDaniel joined
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
21:00 LlamaRider left 21:02 mtk left
moritz if anyone wants some module fun with rakudo, change Math::RungeKutta to work with native nums :-) 21:06
21:08 cognominal_ left, cognominal_ joined
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
21:32 cognominal_ left, cognominal_ joined
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++
21:39 _dbr left
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
21:40 MayDaniel left
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
21:44 Mowah_ left
muixirt sorear: but what's the error message "Cannot assign to a non-container" all about? Something NYI? 21:46
21:46 fhelmberger left 21:47 fhelmberger joined
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
22:10 tarski left 22:16 muixirt left
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
22:20 donaldh joined
dalek ecza: 1a3c2ca | (Solomon Foster)++ | lib/CORE.setting:
Allow subst to accept one-argument substitution code blocks.
22:21
22:24 wolfman2000 left
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
22:35 kaare_ left
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;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
22:46 bkolera left
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
22:51 bkolera joined
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␤»
23:06 donaldh left
TimToady :16(0d13) is supposed to be illegal 23:09
S02:3396 23:10
23:18 drbean joined, cognominal_ left 23:20 cognominal joined 23:24 cognominal left, drbean left, wollmers left, cognominal joined 23:29 JimmyHoff joined
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
23:40 hundskatt_ joined 23:41 hundskatt left, hundskatt_ is now known as hundskatt
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
23:50 shinobicl___ left
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.