Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2008-10-29

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:17 ispy_ left #perl6
00:23 ZuLuuuuuu joined #perl6
01:24 meppl good night
01:28 wayland76 good night
01:28 wayland76 (not from me, but to meppl :) )
01:29 meppl ;)
01:35 pugs_svn r22811 | lwall++ | [gimme5] fix inaccurate "from" in <.ws> and friends
01:35 pugs_svn r22811 | lwall++ | [STD] detach pod comments from previous construct, now parsed in eat_terminator
01:36 pugs_svn r22812 | lwall++ | [redspans] program to calculate reduction spans for syntax highlighting etc.
01:37 ZuLuuuuuu left #perl6
01:53 TimToady moritz_: you will also be interested in redspans, since it presumably replaces DumpMatch.traverse_match entirely
01:57 TimToady and it spits out the parse context for every byte position of rx.t in 45 seconds on my machine
01:59 TimToady it also gives you the extra reduction tags that tell you which alternative was taken
02:01 TimToady for instance, the pedigree of byte number 444 of rx.t is:
02:01 TimToady 444     statementlist statement statement_expr EXPR termish noun term term__S_388identifier args arglist EXPR termish noun circumfix circumfix__S_274Paren_Thesis semilist statement statement_expr EXPR termish noun value quote quote__S_178Single_Single nibbler
02:05 TimToady @tell azawawi see also redspans, which can replace traverse_match I think, and analyzes rx.t in 45 seconds on my laptop
02:05 lambdabot Consider it noted.
02:06 TimToady @tell azawawi I think I also fixed most of the problems with misplaced whitespace and pod_comments
02:06 lambdabot Consider it noted.
02:09 delrico joined #perl6
02:13 eternaleye joined #perl6
02:13 Alias_ joined #perl6
02:17 TimToady decommuting &
02:27 crksht joined #perl6
02:57 xuser left #perl6
03:05 hercynium_ joined #perl6
03:14 Ontolog joined #perl6
03:20 jamtech joined #perl6
03:20 sunnavy joined #perl6
03:36 alester joined #perl6
03:55 crksht joined #perl6
04:01 Psyche^ joined #perl6
04:01 elmex_ joined #perl6
04:41 pugs_svn r22813 | lwall++ | [redspans] add in current character for documentation
04:55 wayland76 joined #perl6
04:57 wayland76 left #perl6
04:57 wayland76 joined #perl6
06:01 alc joined #perl6
06:22 mmorrow joined #perl6
06:31 alanhaggai joined #Perl6
06:38 Entonian joined #perl6
06:42 japhb joined #perl6
06:43 Entonian joined #perl6
06:46 ashizawa joined #perl6
07:04 moritz_ TimToady: thanks, I'll take a look later today
07:11 Ontolog moritz_: !
07:11 Ontolog moritz_: I want to get back in the game
07:11 moritz_ Ontolog: cool.
07:11 Ontolog moritz_: have any more builtins for me?
07:12 moritz_ does Str.split handle zero-width matches yet?
07:12 moritz_ if not, that would be a place to start
07:13 Ontolog i thought it did.. i'll check it out
07:14 moritz_ rakudo: rakudo: say "ab34dc5".split(/<before \d>/).perl
07:14 p6eval rakudo 31963: OUTPUT[Statement not terminated properly at line 1, near ": say \"ab3"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤]
07:14 moritz_ rakudo: say "ab34dc5".split(/<before \d>/).perl
07:14 p6eval rakudo 31963: OUTPUT[["ab", "", "", "dc", "", ""]␤]
07:14 moritz_ that's clearly wrong.
07:15 moritz_ it should have been "ab", "3", "4dc", "5"
07:21 spx2 joined #perl6
07:23 Ontolog before?
07:23 Ontolog what is this before madness?
07:23 Ontolog rakudo: say "ab34dc5".split(//).perl
07:23 p6eval rakudo 31963: OUTPUT[Statement not terminated properly at line 1, near "(//).perl"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤]
07:24 Ontolog rakudo: say "ab34dc5".split(/./).perl
07:24 p6eval rakudo 31963: OUTPUT[["", "", "", "", "", "", "", ""]␤]
07:24 moritz_ Ontolog: <before \d> matches at the position before a number
07:24 Ontolog hm
07:24 Ontolog where is this "before" documented?
07:24 Ontolog never heard of it
07:24 moritz_ dunno, perhaps in S05
07:24 Ontolog k
07:25 Ontolog what about the regex //
07:25 Ontolog shouldn't that split the string into each character?
07:25 moritz_ but it's the same as perl 5's (?<=\d)
07:25 moritz_ the empty regex is forbidden in Perl 6
07:25 Ontolog ok
07:25 moritz_ you could write that as /''/ or something
07:25 Ontolog rakudo: say "ab34dc5".split(/''/).perl
07:25 p6eval rakudo 31963: OUTPUT[["", "", "", "", "", "", "", "", ""]␤]
07:25 moritz_ See S05/"Nothing is forbidden"
07:26 Ontolog i see
07:26 Ontolog the output for the command i just ran is wrong isn't it
07:26 moritz_ yes ;)
07:27 moritz_ Ontolog: there's one skipped test in S29-str/split-simple.t that uses zero-width matches
07:27 moritz_ (more tests are also welcome, you can get them easily by comparing with Perl 5)
07:33 sri_kraih joined #perl6
07:44 Bzek joined #perl6
07:55 iblechbot joined #perl6
07:58 wayland76 Question: if we want to interface with a C library, do we just hook it to Parrot, and then it all works?
07:58 wayland76 Or do we need to wrap some Perl6 around that?
08:15 moritz_ better ask in #parrot on irc.perl.org
08:15 moritz_ in general it works from Perl 6, but you might have to wrap some types
08:28 |Jedai| joined #perl6
08:45 Jedai joined #perl6
09:01 araujo joined #perl6
09:03 bacek joined #perl6
09:09 Ontolog moritz_: the only reason I see why zero-width matches would generate bad results for split is that match.'to' and match.'from' are returning incorrect values
09:12 moritz_ Ontolog: just print out the two to verify it
09:12 moritz_ Ontolog: my guess it that problem is in Str.split, but I don
09:12 Ontolog k
09:12 moritz_ ... don't have the code here right now
09:13 mj41 joined #perl6
09:21 pmurias joined #perl6
09:21 wayland76 moritz_: Thanks.
09:22 yantom joined #perl6
09:23 pmurias wayland76: it's a general problem with wrapping c libraries, that they use types (char*) which don't have one clear mapping to a high-level datatype
09:23 lambdabot pmurias: You have 2 new messages. '/msg lambdabot @messages' to read them.
09:24 pmurias @messages
09:24 lambdabot mncharity said 14d 15h 21m 2s ago: re mildew as duplication (last night), I was wrong. eg, elf doesn'
09:24 lambdabot ruoso said 17h 43m 42s ago: you can now run code straight from mildew :P you just need to 'use SMOP' :P
09:24 pmurias ruoso: use SMOP is cool
09:25 schmalbe joined #perl6
09:32 ruoso pmurias, :D
09:34 pmurias i can't still figure out how to fix ./m0ld --exec so i'll have to use it
09:38 alanhaggai_ joined #Perl6
09:48 ruoso pmurias, I was thinking we might have a 'use v6-mildew' in some near future ;)
09:53 pmurias ruoso: shouldn't be too hard
09:54 pmurias but very tricky to get fully right, like seeing the lexicals of an outer block
09:55 pmurias math&
10:00 wayland76 @tell pmurias Yeah, I'm at least vaguely aware of the problem.  I'm wanting to wrap up some C functions into an object, though, which is really why I started asking these questions, but I didn't make myself clear :)
10:00 lambdabot Consider it noted.
10:02 pbuetow joined #perl6
10:16 * ruoso later &
10:22 [particle]1 joined #perl6
10:25 alanhaggai_ joined #Perl6
10:48 spx2 joined #perl6
11:02 x123 joined #perl6
11:09 pedrob joined #perl6
11:10 ruoso joined #perl6
11:11 literal is the .perl method something that every class has?
11:12 alanhaggai_ joined #Perl6
11:34 Ehtyar joined #perl6
11:35 iblechbot joined #perl6
11:37 wayland76 literal: If I had to guess, I'd say it works on strings; this might also mean anything that can be turned into a string.  But this is based more on a feeling than any actual knowledge
11:38 literal hm, I thought the .perl method was Perl 6's Data::Dumper mechanism
11:38 literal i.e. turn any data structure into an eval-able string
11:40 ruoso literal, in some sense, yes...
11:40 ruoso it's the default Perl 6 serialization format...
11:41 ruoso which is likely to be readable by the Perl 6 interpreter itself...
11:49 mj41_ joined #perl6
12:07 * ruoso just checked out in #p5p... and it seems that the idea of adding the RI pointer on top of SV* to interoperate p5 and SMOP is viable...
12:16 sri_kraih_ joined #perl6
12:38 jhorwitz joined #perl6
12:38 pbuetow joined #perl6
13:03 sri_kraih joined #perl6
13:08 [particle] joined #perl6
13:36 delrico left #perl6
13:40 justatheory joined #perl6
13:41 adc_Penner joined #perl6
13:46 ashizawa_ joined #perl6
13:57 TJCRI joined #perl6
14:03 alanhaggai joined #Perl6
14:05 i-unknown joined #perl6
14:06 i-unknown left #perl6
14:18 pugs_svn r22814 | pmichaud++ | [spec]: Convert rakudo's bignum 'todo' to 'skip'.
14:18 alester joined #perl6
15:06 cognominal joined #perl6
15:09 Exodist joined #perl6
15:10 smtms joined #perl6
15:12 cosimo joined #perl6
15:31 rdice joined #perl6
15:50 smtms joined #perl6
16:12 ispy_ joined #perl6
16:26 ZuLuuuuuu joined #perl6
16:41 rdice joined #perl6
16:41 apeiron joined #perl6
16:41 kanru joined #perl6
16:41 aindilis joined #perl6
16:41 TimToady joined #perl6
16:41 Helios- joined #perl6
16:41 Maghnus joined #perl6
16:41 jrockway joined #perl6
16:41 ingy joined #perl6
16:41 krunen joined #perl6
16:41 ilogger2 joined #perl6
16:52 azawawi joined #perl6
16:52 azawawi good evening
16:52 lambdabot azawawi: You have 3 new messages. '/msg lambdabot @messages' to read them.
16:52 azawawi @messages
16:52 lambdabot TimToady said 18h 51m 33s ago: I believe the "reds" program I just checked in prints out all the reductions you're interested in; sorting by initial/final positions gives you the span of each
16:52 lambdabot reduction, including all the ones that are thrown away in the final tree
16:52 lambdabot TimToady said 14h 47m 30s ago: see also redspans, which can replace traverse_match I think, and analyzes rx.t in 45 seconds on my laptop
16:52 lambdabot TimToady said 14h 46m 5s ago: I think I also fixed most of the problems with misplaced whitespace and pod_comments
17:05 * azawawi is looking at redspans... nice
17:08 [particle] TimToady++
17:08 azawawi TimToady++
17:11 azawawi assign.t (DumpMatch) => 489s | redspans => 48s | TimToady++
17:22 REPLeffect joined #perl6
17:35 REPLeffect joined #perl6
17:38 meppl joined #perl6
17:45 pugs_svn r22815 | lwall++ | [Cursor] treat fate cursor as mutable
18:02 pugs_svn r22816 | azawawi++ | [redspans] Improved output to be more user-friendly, TimToady++
18:10 * azawawi is running redspans over rx.t...
18:24 moritz_ azawawi: are you doing something nasty? feather is *very* unresponsive
18:24 azawawi redspans
18:24 moritz_ what's the load on feather?
18:25 pugs_svn joined #perl6
18:25 azawawi cant login again
18:25 PerlJam joined #perl6
18:25 moritz_ Ctrl+z helps
18:25 azawawi i killed my session
18:25 moritz_ 19:25:28 up 28 days, 17:06,  7 users,  load average: 58.10, 57.67, 30.73
18:25 xinming I can reach feather here
18:25 moritz_ now I can again too
18:25 xinming yeah, load is pretty terrible
18:26 Juerd I've sysrq-forced an OOM kill
18:26 Juerd Please, whoever did this, ulimit your processes...
18:26 azawawi going down...
18:26 azawawi ~ 58 load avg.. damn
18:26 azawawi must redspan use nice
18:26 Juerd What is redspan?
18:27 moritz_ Juerd: a STD.pm frontend
18:27 azawawi redspans to be exact
18:27 Juerd Did redspan cause this?
18:27 azawawi i ran it on rx.t sorry
18:27 Juerd nice doesn't help much, you'll have to ulimit it
18:27 Juerd It's a memory issue.
18:27 PerlJam Juerd++
18:28 azawawi Juerd: ok what's a good ulimit limit?
18:28 Juerd azawawi: 128 MB is probably a good start
18:28 Juerd Increase to 256 if it's not enough. Going higher than 512 is probably not a good idea, but still better than having no limit at all
18:29 moritz_ which limit should one set? ulimit -v?
18:29 Juerd Although any program reaching that amount of memory should probably be debugged anyway :)
18:29 azawawi sorry for high load, it just spiked... was 4-5 load avg according to logs then 18.0...58.0
18:29 PerlJam Juerd: What's the deal with the multiple feathers?  Are they virtual?  If not, maybe shunt him off to one of the under-used ones/
18:30 Juerd u and v
18:30 xinming PerlJam: feater is using xen.
18:30 Juerd PerlJam: Yes, they're virtual
18:30 PerlJam gotcha
18:30 Juerd PerlJam: feather1 is the semi public access one, it's the one you know
18:30 Juerd PerlJam: feather2 is meant for important services, like svn repo, but nobody has gotten around to migrating stuff to there yet
18:31 Juerd PerlJam: feather3 is for evalbots
18:31 Juerd A feather4 could be created, there's still room.
18:31 PerlJam We need featherX for those crazy people parsing/running STD.pm   :)
18:31 Juerd Well, no
18:31 Juerd Moving it to another VM doesn't fix the problem
18:31 azawawi PerlJam: lol
18:32 Juerd It's much easier to ulimit than to admin an entire OS
18:32 xinming PerlJam: Managing multiple vm is a terrible thing. :-)
18:32 PerlJam Juerd: right.   Any chance you could get another grant?  :)
18:32 Juerd PerlJam: Probably, but what for? It'll still exhaust all available memory, and then crash.
18:32 [particle] grant for what?
18:32 PerlJam more RAM
18:32 PerlJam another machine
18:32 Juerd In this case I was there in time to sysrq the thing into sanity.
18:32 PerlJam etc.
18:32 Juerd Otherwise it would have crashed.
18:32 moritz_ Juerd: should I put a (fairly generous) limit in /etc/security/limits.conf? say, 1GB per user?
18:33 [particle] juerd: is feather in need of any more hardware?
18:33 Juerd More RAM is not enough if the process needs infinite MB
18:33 Juerd moritz_: 512 please
18:33 moritz_ Juerd: ok, will do
18:33 PerlJam Juerd: I know, but the people playing with STD.pm seem to need quite a bit more RAM than normal.
18:33 Juerd moritz_: I've wanted users to take care of this but I think you're right and it should just be forced.
18:33 * moritz_ is also a user ;)
18:33 * [particle] requests 8 more user accounts ;)
18:34 Juerd PerlJam: feather1 typically has 1 GB *unused*: http://c14.convolution.nl/munin/perl6.nl/feather1.perl6.nl-memory.html
18:34 lambdabot Title: Munin :: perl6.nl :: feather1.perl6.nl :: memory, http://tinyurl.com/6kwoy5
18:34 Juerd PerlJam: If it needs more than 1 GB, darn, then concentrating on making it use less memory would be a wiser investment I think
18:36 [particle] seems the cpu is constantly saturated
18:36 [particle] oh, no, i'm reading that wrong
18:36 [particle] stupid colors.
18:37 azawawi cpu is always idle... it is the disk/memory that are always being eaten alive ;-)
18:38 Juerd Yep
18:38 Juerd As you can see, the investment in more RAM was a good one
18:38 [particle] feather3 never has idle cpu
18:38 Juerd And there's some room if needed
18:39 [particle] disk i/o is the biggest bottleneck i can see
18:39 Juerd feather0 has 512 MB available
18:39 azawawi actually in the morning in my timezone it is...
18:39 gbacon joined #perl6
18:39 moritz_ what's a sane limit for number of processes per user? 32?
18:39 gbacon 3
18:39 Juerd moritz_: 64
18:39 Juerd moritz_: It's only to avoid fork bombs
18:39 [particle] evalbot: fork while fork
18:39 Juerd Actually, 64 might not be enough for complex multi thread make jobs
18:39 Juerd I suggest 128
18:40 Juerd [particle]: fork while 1 is shorter and just as effective :)
18:40 [particle] :)
18:40 moritz_ and for memory limit, I guess 'as' (address space) is the correct option?
18:40 Juerd moritz_: I have no idea :)
18:40 [particle] i like the poetry and not magic numbers
18:40 azawawi Juerd: so what are the best limits in a one-a-liner ;-)
18:40 Juerd [particle]: Then say fork until dead
18:41 Juerd Eh, that forks once :)
18:41 Juerd fork while alive
18:41 Juerd :)
18:41 Juerd Hm, no, until doesn't execute once before evaluating the condition. I hate until.
18:41 Juerd Having both do-until and until confuses the heck out of me.
18:41 [particle] i never use either
18:42 [particle] too confusing, for sure
18:42 Juerd Who said IO was a bottleneck by the way?
18:43 Juerd You'd have a lot more magenta in the CPU chart if it were
18:43 [particle] i did, looking at feather3 cpu graph on i/o wait
18:43 * moritz_ points to azawawi
18:43 azawawi i was talking in general...
18:44 Juerd Oh, feather3
18:44 [particle] time to upgrade to raid 5 ssd
18:44 Juerd [particle]: Waaaaaay to expensive
18:44 [particle] :)
18:44 Juerd It's raid1 with 3 disks now
18:44 * moritz_ points to random people in the channel, crying "it's him, it's him"
18:45 * azawawi points to redspans ;-)
18:46 moritz_ azawawi: ulimit -v 262144 -u 128
18:48 azawawi moritz_: seems to me that TimToady's laptop is a Cray ;-)
18:50 [particle] iirc it's a T61 with dual-core 2.6GHz
18:53 azawawi moritz_: what happens when you go over the ulimit?
18:53 [particle] u r limited to the ulimit
18:55 Juerd azawawi: Processes that are OOM are killed
18:55 Juerd azawawi: And fork fails if you already have the max number of processes.
18:57 * azawawi is running now a ulimited niced redspans on the famous rx.t
18:59 azawawi moritz_: oom-ed on 256m ulimit
19:00 * moritz_ tries it now
19:01 moritz_ it needs 255m here ;)
19:01 moritz_ and 61s
19:01 azawawi hmmm
19:01 azawawi btw, im getting "ulimit: virtual memory: cannot modify limit: Operation not permitted"
19:02 moritz_ you can exit the shell where you set the ulimit
19:03 * azawawi is running again on feather...
19:04 PerlJam azawawi: is that our first warning?  ;)
19:05 azawawi ;-)
19:07 pugs_svn r22817 | moritz++ | [redspans] vim modeline that corresponds to the current indetation levels
19:15 smg joined #perl6
19:17 smg joined #perl6
19:18 eternaleye joined #perl6
19:20 smg joined #perl6
19:20 azawawi moritz_: ?
19:20 moritz_ !
19:21 azawawi moritz_: did u run it over rx.t?
19:21 moritz_ azawawi: yes
19:21 moritz_ 20:01 < moritz_> it needs 255m here ;)
19:21 moritz_ 20:01 < moritz_> and 61s
19:22 smg joined #perl6
19:22 azawawi moritz_: im getting like 512m and oom....
19:22 azawawi moritz_: and it is in $r->parseFile...
19:24 smg joined #perl6
19:26 smg joined #perl6
19:29 smg joined #perl6
19:31 pugs_svn r22818 | azawawi++ | [redspans] nice 19;
19:42 ispy_ joined #perl6
19:43 ispy_ left #perl6
19:44 pmurias joined #perl6
19:44 cognominal joined #perl6
19:48 azawawi 64 secs on feather... i think the problem has to do with an old STD.pm
19:50 pedrob joined #perl6
19:50 pugs_svn r22819 | azawawi++ | [redspans] empty buffers are never printed
19:51 bacek joined #perl6
20:16 * azawawi is thinking about --redspans in STD_syntax_highlight
20:19 pugs_svn r22820 | azawawi++ | [STD_syntax_highlight] updated comments for old --simple
20:29 pugs_svn r22821 | azawawi++ | [STD_syntax_highlight] updates to pod docs... --redspans-html=filename option
20:29 pugs_svn r22821 | azawawi++ | [STD_syntax_highlight] redspans-mode is not ready yet ... working on it...
20:51 pugs_svn r22822 | azawawi++ | [STD_syntax_highlight] redspan is implemented but the output is not colored yet
21:13 moritz_ TimToady: when parsing semilists with whitespaces (like 'f(1, 2)'), redspans says the blank is matched directly by 'statement_expr', not by any ws. Dunno if that's a parse bug, or a just not-yet-done redspans feature.
21:19 justatheory joined #perl6
21:27 ZuLuuuuuu left #perl6
21:27 pid_ joined #perl6
21:28 pid_ left #perl6
21:37 pedrob joined #perl6
21:37 zamolxes joined #perl6
21:43 zamolxes joined #perl6
21:48 pugs_svn r22823 | azawawi++ | [STD_syntax_highlight] redspans is now working... htmls are cool.
21:48 pugs_svn r22823 | azawawi++ | [STD_syntax_highlight] They're like --simple but way faster...
21:48 azawawi done ;-)
21:49 azawawi for a simple 3-4 lines script it is like 3 secs to p6 syntax highlight
21:55 azawawi 139 instead of 489 secs in the redspans STD_syntax_highlight mode for assign.t
21:57 azawawi @tell TimToady thx. redspans improved the situation a lot. STD_syntax_highlight now has it enabled by default. comments/pod comments coming soonish.
21:57 lambdabot Consider it noted.
21:57 * azawawi is gonna sleep now... good night &
22:00 zamolxes_ joined #perl6
22:18 pedrob joined #perl6
22:25 adc_Penner joined #perl6
22:25 ruoso joined #perl6
22:28 smg joined #perl6
22:51 Juerd Hi, I'm cutting down on IRC channels for a while
22:51 Juerd I'll probably join if something's wrong with feather, though
22:51 Juerd You know where to find me if you need me
22:51 Juerd Bye :)
22:51 Juerd left #perl6
22:56 wayland76 ping
23:11 xiaoyafeng joined #perl6
23:22 pugs_svn r22824 | lwall++ | [STD,Cursor,etc] shrink Cursor footprint by removing constant attributes:
23:22 pugs_svn r22824 | lwall++ |     the original string is now just $+ORIG
23:22 pugs_svn r22824 | lwall++ |     the positional memoization array is now @+MEMOS
23:35 pbuetow joined #perl6
23:43 eternaleye joined #perl6
23:49 Limbic_Region joined #perl6
23:54 Alias_ joined #perl6

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

Perl 6 | Reference Documentation | Rakudo