»ö« 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 bytesParrot VM: PANIC: Out of mem!C file src/gc/alloc_memory.c, line 105Parrot file (not available), line (not available)We highly suggest you notify the Parrot team if you have not been working onParrot. 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 bytesParrot VM: PANIC: Out of mem!C file src/gc/alloc_memory.c, line 105Parrot file (not available), line (not available)We highly suggest you notify the Parrot team if you have not been working onParrot. 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 bytesParrot VM: PANIC: Out of mem!C file src/gc/alloc_memory.c, line 105Parrot file (not available), line (not available)We highly suggest you notify the Parrot team if you have not been working onParrot. 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 bytesParrot VM: PANIC: Out of mem!C file src/gc/alloc_memory.c, line 105Parrot file (not available), line (not available)We highly suggest you notify the Parrot team if you have not been working onParrot. 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 contextCannot 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. |