Camelia, the Perl 6 bug

IRC log for #perl6, 2010-11-08

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:04 risou left #perl6
00:09 xabbu42 left #perl6
00:20 plobsing msg arthur-_ Are you sure you have libjit_fb installed correctly? I ran your code and got past where you were blocking (I hit a rakudobug, but that's a different story). Try adding a check to the loadlib line (something like pir::loadlib__ps('libjit_fb') or die "Couldn't loadlib 'libjit_fb'";)
00:21 xinming left #perl6
00:21 plobsing what's the resident msgbot around here, and how do I get it to deliver msgs?
00:25 sorear phenny: tell plobsing here's one
00:25 phenny sorear: I'll pass that on when plobsing is around.
00:25 sorear aloha: msg plobsing and the other
00:25 plobsing oh hai
00:25 phenny plobsing: 00:25Z <sorear> tell plobsing here's one
00:25 sorear aloha: tel plobsing and the other
00:25 sorear aloha: tell sorear hi
00:25 sorear Am I just hallucinating that aloha had a message system
00:26 plobsing pheny: tell arthur-_ Are you sure you have libjit_fb installed correctly? I ran your code and got past where you were blocking (I hit a rakudobug, but that's a different story). Try adding a check to the loadlib line (something like pir::loadlib__ps('libjit_fb') or die "Couldn't loadlib 'libjit_fb'";)
00:26 plobsing aloha?
00:26 plobsing ENOBODYHOME
00:27 sorear there are two ns in phenny
00:27 plobsing phenny: tell arthur-_ Are you sure you have libjit_fb installed correctly? I ran your code and got past where you were blocking (I hit a rakudobug, but that's a different story). Try adding a check to the loadlib line (something like pir::loadlib__ps('libjit_fb') or die "Couldn't loadlib 'libjit_fb'";)
00:27 phenny plobsing: I'll pass that on when arthur-_ is around.
00:27 sorear aloha: help
00:27 aloha sorear: Ask me for help about: seen, karma (say 'help <modulename>').
00:27 sorear aloha: help message
00:27 aloha sorear: I don't know anything about 'message'.
00:27 sorear aloha: help tell
00:27 aloha sorear: I don't know anything about 'tell'.
00:27 sorear aloha: help msg
00:27 aloha sorear: I don't know anything about 'msg'.
00:34 jferrero left #perl6
00:38 kensanata left #perl6
00:39 dnl- left #perl6
00:39 rgrau_ left #perl6
00:40 toebu[s9] left #perl6
00:44 xinming joined #perl6
00:56 xinming left #perl6
00:59 Eevee left #perl6
01:03 jhuni joined #perl6
01:03 Eevee joined #perl6
01:08 envi_ joined #perl6
01:09 envi__ joined #perl6
01:12 xinming joined #perl6
01:12 envi left #perl6
01:13 envi_ left #perl6
01:15 whiteknight left #perl6
01:25 Raynes joined #perl6
01:26 dnl joined #perl6
01:27 arnsholt joined #perl6
01:37 QinGW joined #perl6
01:45 Raynes left #perl6
01:55 lichtkind hai
01:55 lichtkind anybody  awake here?
01:55 lichtkind what you think about a Perl slogan: no artificial walls!
01:56 Raynes joined #perl6
01:58 lichtkind left #perl6
01:59 flussence_ joined #perl6
02:00 envi_ joined #perl6
02:01 flussence left #perl6
02:04 envi__ left #perl6
02:08 constant_ joined #perl6
02:08 constant left #perl6
02:19 bacek_at_work joined #perl6
02:28 colomon joined #perl6
02:31 molaf_ joined #perl6
02:33 ggoebel left #perl6
02:35 molaf left #perl6
03:25 plainhao left #perl6
03:34 jlaire left #perl6
03:34 jlaire joined #perl6
03:36 vxz joined #perl6
03:41 rkazak joined #perl6
03:42 rkazak Hi, is there a parrot specific channel?
03:42 patspam joined #perl6
03:44 rkazak left #perl6
03:44 rkazak joined #perl6
03:44 plobsing rkazak: #parrot is parrot-specific
03:45 rkazak Hmm, #parrot - when I connect to it has just one member...
03:46 * plobsing checks his irc config
03:47 plobsing #parrot on irc.parrot.org
03:47 sorear aka irc.perl.org, aka MAGnet
03:55 dnl left #perl6
04:03 patspam left #perl6
04:03 satyavvd joined #perl6
04:22 cls_bsd joined #perl6
04:34 lidden left #perl6
05:28 araujo left #perl6
05:30 rkazak ta
05:39 kaare joined #perl6
05:39 kaare is now known as Guest49518
05:42 kjeldahl joined #perl6
05:49 sftp left #perl6
05:55 Guest22875 left #perl6
06:07 Guest22875 joined #perl6
06:08 agentzh joined #perl6
06:09 rkazak left #perl6
06:15 dalek left #perl6
06:15 dalek joined #perl6
06:18 mberends left #perl6
06:20 dalek left #perl6
06:21 dalek joined #perl6
06:22 rurban joined #perl6
06:28 rurban left #perl6
06:33 rurban joined #perl6
06:38 Guest49518 is now known as kaare_
06:48 wtw joined #perl6
06:57 kjeldahl left #perl6
06:58 jhuni left #perl6
07:00 lue left #perl6
07:01 xabbu42 joined #perl6
07:01 LionMade0fLions joined #perl6
07:04 LionMadeOfLions left #perl6
07:11 REPLeffect left #perl6
07:12 dalek niecza: 8bd2f47 | sorear++ | / (4 files):
07:12 dalek niecza: Pass :dba and Frame to lexers
07:12 dalek niecza: review: https://github.com/sorear/niecza/commit/​8bd2f47d928d0acc7cfea802a26d5efd5941d618
07:17 kjeldahl joined #perl6
07:25 mavrc joined #perl6
07:26 kjeldahl left #perl6
07:38 dalek left #perl6
07:39 dalek joined #perl6
07:53 fhelmberger joined #perl6
07:54 kanishka left #perl6
08:00 kjeldahl joined #perl6
08:03 justatheory left #perl6
08:06 justatheory joined #perl6
08:06 justatheory left #perl6
08:25 am0c joined #perl6
08:36 dalek left #perl6
08:36 kanishka joined #perl6
08:37 dalek joined #perl6
08:43 wallberg joined #perl6
08:43 meppl joined #perl6
08:44 wallberg left #perl6
08:44 wallberg joined #perl6
08:46 sorear I'm looking through the #perl6 logs for examples of STD.pm6 error messages using the 'Expected any of' mechanism
08:46 sorear is it just me, or does it add almost nothing?
08:46 sorear a few choice examples
08:46 sorear std: rx { }
08:46 p6eval std a194beb: OUTPUT«[31m===[0mSORRY![31m===[0m␤Null pattern not allowed at /tmp/GwcGLbwaoM line 1:␤------> [32mrx { [33m⏏[31m}[0m␤    expecting quantifier␤Parse failed␤FAILED 00:01 119m␤»
08:46 sorear std: say (q)
08:46 p6eval std a194beb: OUTPUT«[31m===[0mSORRY![31m===[0m␤Use of a closing delimiter for an opener is reserved at /tmp/hStugQhTTx line 1:␤------> [32msay (q[33m⏏[31m)[0m␤    expecting any of:␤   argument list␤  prefix or term␤ semicolon list␤ statement end␤Parse failed␤FAILED 00:01 119m␤»
08:47 moritz_ std: 1 + +
08:47 p6eval std a194beb: OUTPUT«[31m===[0mSORRY![31m===[0m␤Prefix requires an argument at /tmp/dDqwDHRBaC line 1 (EOF):␤------> [32m1 + +[33m⏏[31m<EOL>[0m␤Parse failed␤FAILED 00:01 119m␤»
08:47 moritz_ std: 1 + %
08:47 p6eval std a194beb: OUTPUT«[31m===[0mSORRY![31m===[0m␤Non-declarative sigil is missing its name at /tmp/wIaxeJoNjs line 1:␤------> [32m1 + [33m⏏[31m%[0m␤Bogus term at /tmp/wIaxeJoNjs line 1:␤------> [32m1 + %[33m⏏[31m<EOL>[0m␤    expecting twigil␤Parse failed␤FAILED 00:01 120m␤»
08:47 cjk101010 joined #perl6
08:48 tzhs joined #perl6
08:49 wallberg left #perl6
08:50 moritz_ sorear: I know that I've wanted the "expecting ..." messages for custom parsers I've written
08:50 moritz_ though in these examples they aren't really helpful
08:50 sorear the way they are implemented is... not very pretty
08:51 sorear it records all lexer invocations at the high water mark
08:51 sorear with a very ugly API
08:51 sorear the lexer writes into contextuals named $*HIGHWATER and $*HIGHEXPECT
08:52 sorear the Niecza lexer is unaware of the Perl 6 call stack and I'd like to keep it that way :/
08:52 sorear do you have an example in mind of a version of "expecting ..." that would be helpful?
08:53 moritz_ std: if 42
08:53 p6eval std a194beb: OUTPUT«[31m===[0mSORRY![31m===[0m␤Missing block at /tmp/KVhpNSzWYK line 1 (EOF):␤------> [32mif 42[33m⏏[31m<EOL>[0m␤Parse failed␤FAILED 00:01 118m␤»
08:53 moritz_ hm
08:55 sorear you say you wanted it for a parser
08:55 sorear you must have an idea in mind of how it should work
08:56 wallberg joined #perl6
08:56 moritz_ for example my JSON parser had a very ugly error for trailing commas by default
08:57 moritz_ the parsing rule is basically   <atom> ** \,
08:57 moritz_ so I'd like to get an "expecte: atom"  for an input string like [1,]
08:58 moritz_ I'd expect the grammar engine to capture the name of an unsuccessful rule, or list of alternative rules somehow
08:58 arthur-_ phenny: tell plobsing : indeed, it does not load the lib : Couldn't loadlib 'libjit_fb' , but I don't know how to fix that/look for what is not done right
08:58 phenny arthur-_: I'll pass that on when plobsing is around.
08:59 phenny arthur-_: 00:27Z <plobsing> tell arthur-_ Are you sure you have libjit_fb installed correctly? I ran your code and got past where you were blocking (I hit a rakudobug, but that's a different story). Try adding a check to the loadlib line (something like pir::loadlib__ps('libjit_fb') or die "Couldn't loadlib 'libjit_fb'";)
08:59 moritz_ sorear: and probably throw an exception somehow, which includes that information
08:59 moritz_ but I really don't know what would be a good API
09:04 arthur-_ I get a SIGSEGV from a perl6 script, what's the name of that tool you feed a command and gives you a list of low level traces of the program's execution ?
09:05 moritz_ debugger?
09:05 moritz_ gdb
09:05 arthur-_ gdb
09:05 arthur-_ mmh
09:05 arthur-_ I try
09:05 arthur-_ no that's not it
09:05 arthur-_ it works like that :
09:06 arthur-_ thatprogram perl6 script.pl
09:06 arthur-_ then gives me all sort of debug low level stuff as the programm runs
09:06 moritz_ gdb perl6
09:06 moritz_ run script.pl
09:06 arthur-_ so I can see what happens just before the SIGSEGV
09:06 arthur-_ ok I try
09:06 moritz_ and after the segfault, type   bt
09:07 sorear the tool you're looking for is called strace
09:07 sorear but gdb will probably work better
09:07 arthur-_ Program received signal SIGSEGV, Segmentation fault.
09:07 arthur-_ 0x00000000023d2770 in ?? ()
09:07 sorear ltrace might also be useful
09:08 arthur-_ ok I try these
09:08 * sorear summons cognominal
09:09 arthur-_ fsync(1)                                = -1 EINVAL (Invalid argument)
09:09 arthur-_ fsync(2)                                = -1 EINVAL (Invalid argument)
09:09 moritz_ did you obtain the backtrace?
09:10 arthur-_ with strace yes
09:10 moritz_ I meant the backtrace you get from gdb
09:10 moritz_ strace doesn't give you backtraces
09:10 moritz_ just system calls
09:11 arthur-_ moritz_: I'm not familiar with gdb
09:11 moritz_ 10:06 < moritz_> and after the segfault, type   bt
09:11 arthur-_ oh ok
09:11 arthur-_ thanks
09:11 sorear learning gdb is not optional
09:11 sorear if you're going to do NativeCall stuff, you need to be able to debug at a low level
09:12 arthur-_ http://pastebin.com/CfLGeWhU
09:15 moritz_ so it segfaults while throwing an exception. Superb.
09:16 sorear no, it segfaults during global destruction
09:16 sorear which is really to be expected
09:16 sorear parrot global destruction is incredibly fragile
09:17 arthur-_ oh
09:17 moritz_ but global destruction is the result of an exception, no?
09:17 arthur-_ moritz_: no, just normal end of the script
09:17 sorear I would say that "... while throwing an exception" ends when die_from_exception catches it
09:17 arthur-_ last line is : 'done'.say;
09:17 arthur-_ and it is said ok
09:18 moritz_ ok, then it's really global destruction
09:18 sorear you seem to have thrown an exceptin from inside a callback
09:18 moritz_ try to add an exit(0) at the end
09:18 sorear or otherwise escaped
09:18 moritz_ nested runloops?
09:18 sorear yes
09:18 moritz_ yikes
09:18 sorear wait, no
09:18 arthur-_ same error with exit(0)
09:19 sorear there's only one runops
09:19 jnthn note that exit works by throwing an exception...
09:19 moritz_ jnthn: still rakudo uses that trick at the end of programs
09:20 arthur-_ bt with exit(0) : http://pastebin.com/MJqqh4Ga
09:20 moritz_ src/Perl6/Compiler.pir line 232
09:20 moritz_ last I tried to remove it, several spectests looped
09:21 jnthn How...odd. :/
09:22 moritz_ well, it's there for a reason :(
09:25 sorear ok
09:25 sorear I have two meta-issues left before STD can be 100% functional on niecza
09:26 sorear 1. Interaction of variables an LTM, whcih I asked TimToady about this morning but have not yet gotten a responce
09:26 sorear 2. JSYNC spec nits, which I asked ingy about last night but have gotten no more than a "let me get back to you"
09:26 * sorear -> sleep
09:27 daxim joined #perl6
09:27 cxreg what's the interaction between variables and LTM?
09:27 cxreg wasn't that part of the purpose of LTM?
09:28 arthur-_ moritz_: so any chances I can fix this from my side or is this a rakudo||parrot bug ?
09:29 sorear It's a Parrot bug that #parrot denies the existance of
09:29 sorear one that I've battled in the past and am still bitter over
09:29 arthur-_ oh
09:30 sorear cxreg: S05:1225
09:30 sorear I need clarification of that
09:31 cxreg i havent actually cloned the new github repo
09:31 cxreg good time to do so
09:31 cxreg specs, that is?
09:31 sorear yes
09:33 cxreg moritz++
09:33 moritz_ huh, why do I get karma?
09:33 cxreg githubbing the specs
09:33 moritz_ sorear++ has been asking all the interesting questions :-)
09:33 moritz_ oh, that's old history
09:33 cxreg lol
09:34 cxreg i've been lazily evaluating perl 6 news
09:35 cxreg sorear: that seems awfully squishy
09:36 cxreg istr ingy saying something about this when he had his pegex revelation
09:37 dakkar joined #perl6
09:40 kanishka left #perl6
09:44 wallberg left #perl6
09:44 wallberg joined #perl6
09:58 steelsamurai joined #perl6
10:02 steelsamurai left #perl6
10:13 QinGW left #perl6
10:18 wamba joined #perl6
10:26 mavrc left #perl6
10:28 masonkramer_ joined #perl6
10:28 masonkramer left #perl6
10:29 masonkramer_ is now known as masonkramer
10:29 mavrc joined #perl6
10:30 pnu left #perl6
10:34 pnu joined #perl6
10:57 rurban left #perl6
11:01 kanishka joined #perl6
11:10 cognominal sorear?
11:44 ggoebel joined #perl6
11:51 masak joined #perl6
11:51 masak oh hai, #perl6
11:51 phenny masak: 07 Nov 23:17Z <lue> tell masak Here's your Yapsi patch: https://gist.github.com/667105
11:52 * masak looks
11:53 masak wow. I'm impressed.
11:53 colomon o/
11:55 satyavvd left #perl6
11:55 masak phenny: tell lue thanks for the patch at https://gist.github.com/667105 -- I see one tiny error on L28 (which is easy to correct), and I'd like to discuss how strings interact with ++ and --. apart from that, it looks very good.
11:55 phenny masak: I'll pass that on when lue is around.
11:58 agentzh left #perl6
11:58 Trashlord left #perl6
12:07 flussence_ is now known as flussence
12:12 jnthn o/ masak
12:13 masak another glorious day in #perl6. :)
12:15 jnthn The sun is shining and I just ate Falafel.
12:16 masak my weather widget says rain, but that's because I've forgotten to reset it from Vienna to Uppsala. outside, the sun is shining.
12:19 masak left #perl6
12:19 masak joined #perl6
12:26 patspam joined #perl6
12:26 patspam left #perl6
12:27 Trashlord joined #perl6
12:30 flussence left #perl6
12:31 flussence joined #perl6
12:36 jnthn masak: Generally, looking out of the window is more reliable, yes. :)
12:37 masak :)
12:38 jnthn Heh. Some of the folks I work with are complaining its too cold. Others of us (me included) think it's just fine. :)
12:38 colomon how cold is it?
12:39 jnthn 4C
12:39 colomon luxury!
12:39 colomon 0C here
12:39 jnthn :)
12:39 colomon (well, 32F, but, you know.  ;)
12:39 jnthn Yeah, 4C is fine by me. :)
12:40 masak this is nothing.
12:40 masak we're just, um, warming up.
12:41 masak maybe we'll have another Extreme Winter, like we did last year.
12:43 legitusr joined #perl6
12:47 legitusr left #perl6
12:49 daxim left #perl6
12:53 jnthn Was it really that extreme? :)
12:53 moritz_ extremely mild?
12:53 daxim joined #perl6
12:54 masak jnthn: it caused prolonged traffic havoc in Stockholm.
12:57 jnthn Huh, we have railway traffic chaos most days here in Skane. :P
12:59 masak so it seems. apparently the Stockholmers are used to higher standards. there was much wailing and gnashing of teeth.
12:59 moritz_ because every day the railroad company is surprised how many people want to take the train?
13:00 masak they seemed surprised about the cold, the snow, and the ice, in this case.
13:00 moritz_ snow and ice in sweden. Inconceivable!
13:01 masak you keep using that word. :)
13:01 wallberg left #perl6
13:01 dnl joined #perl6
13:02 moritz_ according to http://irclog.perlgeek.de/search.pl?channel​=perl6&amp;nick=moritz_&amp;q=inconceivable this was my first use in #perl6
13:03 masak yeah, sorry; quoting a movie.
13:03 masak http://www.imdb.com/title/​tt0093779/quotes?qt0482717
13:04 jnthn masak: I can't say I disapprove of the Stockholmer's higher expectations. Especially if they usually get delivered on. :)
13:05 masak lunch &
13:06 moritz_ masak: ah, cultural reference. A college of mine keeps using it though :-)
13:06 szabgab gentlman, so I amhappy to let you now we have the budget for the Perl 6 hackathon at FOSDEM
13:07 szabgab That means we can finance the travelc cost and the accomodation of a few of you
13:07 moritz_ \o/
13:07 jnthn \o/
13:07 jnthn szabgab++
13:07 moritz_ szabgab++
13:07 jnthn szabgab: When should talks be submitted by? I was gonna submit one...
13:07 frettled Woohoo!
13:07 frettled szabgab++
13:07 * szabgab can now go to ha lunch with enough karma in his pocket
13:08 szabgab jnthn: talks, you can start submitting them to the events mailing list
13:08 szabgab I look at the deadline soon
13:08 moritz_ oh... FOSDEM is 4 days after ETA for the offspring
13:09 szabgab moritz_: so it is time to get away :)
13:09 moritz_ lol
13:09 dnl left #perl6
13:10 szabgab let me setup a page on the wiki where you can add your names if you are committed to come and to let me know how much sponsoring you need
13:11 jnthn OK. I never did FOSDEM before, so quite keen to come. :)
13:11 colomon hmmm, the fifth day after H's birth was probably the hardest for us.
13:11 moritz_ lightning talks are up to 15min it seems
13:11 jnthn colomon: Did you go to an open soruce conference? ;-)
13:11 jnthn Slowest lightning ever!
13:11 colomon no, and thank heavens.
13:12 moritz_ my wife would kill me. And I'd totally understand that
13:13 takadonet joined #perl6
13:13 takadonet hey all
13:16 mtk joined #perl6
13:16 colomon o/
13:17 colomon what's the current state of text wrap?
13:17 szabgab We cannot run the hackathont at the same space where FOSDEM is going to happen
13:17 tzhs left #perl6
13:17 lidden joined #perl6
13:17 szabgab though I am sure you can find a corner to sit and hack there too
13:17 szabgab The hackathon can be 2-3 days either before or after FOSDEM
13:17 szabgab any preferences?
13:18 szabgab moritz_: I think we'll organize another one for you too :)
13:18 szabgab https://www.socialtext.net/perl​5/index.cgi?events_2011_fosdem
13:18 moritz_ ++szabgab
13:19 szabgab please add your name to the wiki under the hackathon section if you are interested to come
13:20 MayDaniel joined #perl6
13:22 Patterner left #perl6
13:26 sftp joined #perl6
13:29 MayDaniel left #perl6
13:29 icwiener joined #perl6
13:31 _twitch joined #perl6
13:31 cosimo left #perl6
13:32 cosimo joined #perl6
13:32 kaare_ left #perl6
13:33 Psyche^ joined #perl6
13:33 Psyche^ is now known as Patterner
13:42 estrabd_aftmfk is now known as estrabd
13:50 colomon githhub problems?
13:50 Chillance joined #perl6
13:50 icwiener left #perl6
13:50 colomon or neutro problems?
13:52 colomon https://gist.github.com/667707
13:53 colomon looks like github's switch to https broke neutro.
13:54 plobsing ping arthur-_
13:54 phenny plobsing: 08:58Z <arthur-_> tell plobsing : indeed, it does not load the lib : Couldn't loadlib 'libjit_fb' , but I don't know how to fix that/look for what is not done right
13:54 Guest22875 left #perl6
13:54 tzhs joined #perl6
13:55 [Sec] joined #perl6
14:00 plainhao joined #perl6
14:04 mtk left #perl6
14:06 Guest22875 joined #perl6
14:11 am0c left #perl6
14:13 colomon masak: for sure there is stuff in Rakudo that is slow just because it is poorly coded.  some of it doesn't matter much, and some of it is probably adversely affecting performance.  without a lot of timed end-user code,  and no profiler, it's hard to figure out these things.
14:13 plobsing phenny: tell arthur-_ did you run parrot setup.pir build / parrot setup.pir install? you should be able to find the extension in parrot's dynext library directory (find $PARROT_LIB_PATH -name libjit_fb.so)
14:13 phenny plobsing: I'll pass that on when arthur-_ is around.
14:14 moritz_ also note that my primary motivation for having .trans was to be able use it in the book :-)
14:14 masak colomon: I was talking about the parts that are evidently under-performant.
14:15 masak moritz_: what do you mean? we had .trans before, as PIR.
14:15 moritz_ masak: in alpha, yes
14:15 masak oh.
14:16 moritz_ and I was loath to port some code that I didn't understand at all
14:16 moritz_ and nobody else did it :-)
14:16 ggoebel left #perl6
14:18 colomon masak: but generally, parts aren't evidently under-performant until they are actually used.
14:18 masak ooh! http://twitter.com/parrotv​m/status/1637910096904192
14:18 dukeleto masak:  :)
14:19 moritz_ sadly parrot-dev is down, so notifying all devs is a bit of a gamble
14:19 masak colomon: that's not entirely true. had I been doing a code review of the core with a view towards performance, I probably would have found the thing in .trans
14:21 colomon masak: sure, obnoxious things can be identified without timing them.
14:21 colomon but I'd argue you don't know what they really mean without some sort of real world analysis.
14:22 moritz_ masak: then maybe you should do a performance oriented code review of src/core/*.pm
14:22 ggoebel joined #perl6
14:22 masak moritz_: yes. I'm considering doing that.
14:23 masak ggoebel: hi!
14:23 moritz_ masak++ # having error bars in the chart in the last blog post
14:24 masak it has been said that averages alone aren't worth much without some kind of measure of how spread-out the distribution is.
14:25 moritz_ otoh... it seemed the drift was mostly systematic error, not statistical deviations
14:27 masak hard to be sure.
14:27 masak it wasn't a strict increase either.
14:27 colomon left #perl6
14:28 moritz_ there's an easy-ish way to find out
14:29 moritz_ run the experiment $n times, and average over all times from all experiments
14:30 moritz_ if it's a strictly statistic error, the standard deviation should grow like $n.sqrt
14:30 masak you mean average all runs 1, all runs 2, etc?
14:30 moritz_ no, the values from all runs
14:31 masak ok.
14:31 masak well, I'm pretty sure the error is partly systematic.
14:31 masak question is how big a part.
14:31 moritz_ if the values mostly increase during each run, you won't get the accumulation around the mean value that you usually get in standard deviations
14:31 moritz_ afk
14:35 HarryS left #perl6
14:35 dukeleto Public Announcement: Parrot SVN is read-only. We are working on making Github canonical.
14:35 jnthn mmmm...$dayjob provided cake
14:36 moritz_ jnthn: funny, that's happening here too
14:36 masak moritz_: ah, so run the experiment $n times without restarting Rakudo between runs?
14:37 moritz_ no, with restarting
14:37 moritz_ if it's a mainly statical error, you'll get a Gaussian distribution
14:37 masak so, 10 runs each time, $n times. restart between each 10-run experiment.
14:37 moritz_ right
14:38 masak average all runs.
14:38 moritz_ correct
14:38 masak accumulatively, so to speak. i.e. do a new average after each completed experiment.
14:38 moritz_ right
14:38 masak check whether the standard deviation grows like $n.sqrt.
14:38 moritz_ and a new standard deviation
14:38 moritz_ right
14:39 masak I'm tempted to do it now. :)
14:39 moritz_ resist!
14:41 domidumont joined #perl6
14:44 arthur-_ plobsing: it looks like it is installed, I think ... see : http://pastebin.com/eh5iEdSt
14:44 phenny arthur-_: 14:13Z <plobsing> tell arthur-_ did you run parrot setup.pir build / parrot setup.pir install? you should be able to find the extension in parrot's dynext library directory (find $PARROT_LIB_PATH -name libjit_fb.so)
14:46 dakkar left #perl6
14:47 Bzek joined #perl6
14:49 PacoLinux joined #perl6
14:53 dnl joined #perl6
14:55 dnl moins0rn
14:56 moritz_ moinon be with you, dnl
14:57 masak moin, mon.
14:58 kjeldahl left #perl6
15:03 araujo joined #perl6
15:03 araujo left #perl6
15:03 araujo joined #perl6
15:04 colomon joined #perl6
15:05 plobsing arthur-_: unless you've set $PARROT_LIB_PATH, it expands to '', meaning find will look in $CWD. since you're running that command from the build directory, it'll find the built (but potentially not installed) copy.
15:06 plobsing I used $PARROT_LIB_PATH in hopes that you would expand it yourself. I had no information at this time about where your parrot was installed.
15:07 plobsing You'll want to run 'find /usr/lib/parrot -name libjit_fb.so'.
15:09 alester left #perl6
15:10 alester joined #perl6
15:14 dakkar joined #perl6
15:23 kjeldahl joined #perl6
15:23 MayDaniel joined #perl6
15:23 wamba left #perl6
15:25 mkramer I want coffee much too much
15:25 mkramer I need to do something about this
15:25 x3nU left #perl6
15:25 mkramer the problem is, I can't do any at all, including quit caffeine, until I've had a cuppa
15:26 x3nU joined #perl6
15:26 arthur-_ plobsing: /usr/lib/parrot/2.9.1-devel/dynext/libjit_fb.so
15:26 x3nU left #perl6
15:27 x3nU joined #perl6
15:33 plobsing arthur-_: what is the result of running this PIR script? http://nopaste.snit.ch/25395
15:36 arthur-_ arthur@aquarelle /t/parrot-libjit-fb> parrot test.pir
15:36 arthur-_ Undef
15:36 plobsing so it isn't loading the lib for some reason.
15:40 plobsing can you confirm that there other things (eg: bit_ops.so) under /usr/lib/parrot/2.9.1-devel/dynext/
15:41 plobsing and that these are loadable (eg: change loadlib line from 'libjit_fb' to 'bit_ops')
15:49 colomon huh.  neutro works on Linux, fails on OS X?
15:50 colomon oh, nope, fails on both
15:52 spq1 joined #perl6
15:55 justatheory joined #perl6
16:02 colomon woah, when did we get LWP::Simple in p6?!
16:03 moritz_ a few months ago
16:03 moritz_ cosimo++
16:03 jnthn I'm guessing it doesn't support SSL?
16:03 moritz_ nope, don't think so
16:04 HarryS joined #perl6
16:09 colomon any bright ideas how to quickly fix the neutro issue?  (which, yeah, looks to boil down to https:// support.)
16:09 moritz_ use a command line clinet with SSL support
16:09 jnthn Host a HTTP => HTTPS proxy somewhere
16:10 cosimo jnthn: no, it doesn't...
16:10 jnthn Does GitHub really give no way at all to say "I can't do HTTPS, give me HTTP"
16:10 jnthn ?
16:13 colomon moritz_: I was having issues with wget as well.
16:13 colomon though I'm not exactly a power wget user, so maybe I was missing something.
16:14 moritz_ wget --no-check-certificate https://github.com/
16:14 colomon moritz_: that didn't actually work
16:15 colomon well, let me try it to double check
16:16 colomon I take that back, it works beautifully.  :)
16:17 risou joined #perl6
16:22 Ross joined #perl6
16:22 Ross left #perl6
16:22 Ross joined #perl6
16:27 tzhs left #perl6
16:30 Ross left #perl6
16:31 rgrau_ joined #perl6
16:38 dukeleto Can I ask somebody in here to test out the new parrot repo at https://github.com/parrot/parrot/ ? We are about to let the masses start cloning it, but would like some Rakudo/Perl 6 eyes on it
16:38 dukeleto moritz_: ^^^
16:38 dukeleto basically just clone it and make sure that it doesn't set your dog on fire
16:38 * masak .oO( hate when that happens )
16:38 moritz_ dukeleto: I'm cloning it right, but have to run soon, and will be offline for 2.5H or so
16:39 dukeleto moritz_: thanks! I am asking a few different peeps, so no worries :)
16:42 moritz_ at least Configure.pl doesn't complain about the parrot-installed-from-github
16:48 _twitch left #perl6
16:49 colomon rakudo: qx/ls/
16:49 p6eval rakudo 2c66f9: OUTPUT«Operation not permitted in safe mode␤  in 'Safe::forbidden' at line 2:/tmp/L92AS6Fx1A␤  in main program body at line 10:/tmp/L92AS6Fx1A␤»
16:51 colomon qx{wget --no-check-certificate https://github.com/perl6/ecosy​stem/raw/master/projects.list};  instead of the LWP::Simple.new.getstore call will fix neutro
16:52 _kaare joined #perl6
16:53 dukeleto Parrot.git is live. Commence enjoyment.
16:53 colomon \o/
16:53 arnsholt Gaudeamus igitur!
16:54 dukeleto Beware: our languages repo is not converted to git, and none of the split-out languages on github should be considered stable, yet. But the main parrot.git repo is ready for public consumption.
17:00 arthur-_ plobsing: arthur@aquarelle /t/parrot-libjit-fb> ls /usr/lib/parrot/2.9.1-devel/dynext/
17:00 arthur-_ bit_ops.so*  debug_ops.so*  deprecated_ops.so*  dynlexpad.so*  file.so*  gziphandle.so*  io_ops.so*  libjit_fb.so*  math_ops.so*  obscure_ops.so*  os.so*  rational.so*  sys_ops.so*  trans_ops.so*
17:01 masak dukeleto++
17:01 timbunce joined #perl6
17:01 arthur-_ plobsing: with the gziphandle lib, your test script gives : arthur@aquarelle /t/parrot-libjit-fb> parrot test.pir
17:01 arthur-_ ParrotLibrary
17:12 colomon Hmmm, I can get my Linux version of neutro working fully with the above hack, it's failing install in perl6-File-Tools on OS X.
17:14 * masak goes swimming
17:14 masak left #perl6
17:17 colomon ack!
17:18 colomon giving up on neutro for now.  :(
17:18 Bzek_ joined #perl6
17:18 rgrau_ left #perl6
17:20 Bzek left #perl6
17:25 wtw left #perl6
17:25 cjk101010 left #perl6
17:27 dalek specs: c96afc6 | TimToady++ | S05-regex.pod:
17:27 dalek specs: Regex vars declarative iff declared constant
17:27 dalek specs:
17:27 dalek specs: Making the LTM engine track whether a variable has changed is
17:27 dalek specs: not friendly to most VMs.  The spec was engaged in P5-Think of the
17:27 dalek specs: there's-only-one-implement​ation-so-we-can-get-fancy kind.  sorear++
17:27 dalek specs: review: https://github.com/perl6/specs/commit/c​96afc62b441672e5291aa8d2333e1a536b53a94
17:31 rurban joined #perl6
17:39 ashleyde1 is now known as ashleydev
17:40 Bzek_ left #perl6
17:46 rurban left #perl6
17:47 impious joined #perl6
17:47 quetsch[M6] joined #perl6
17:51 rurban joined #perl6
17:54 quetsch[M6] left #perl6
17:56 cdarroch joined #perl6
17:56 cdarroch left #perl6
17:56 cdarroch joined #perl6
18:00 dakkar left #perl6
18:02 rgrau_ joined #perl6
18:06 mberends joined #perl6
18:09 timbunce left #perl6
18:14 impious left #perl6
18:23 wamba joined #perl6
18:27 * TimToady wonders whether .perl should default to pretty, or whether there should be a different method for that
18:28 colomon Despite using it every day, I haven't really figured out what .perl is for yet.  :)
18:29 takadonet colomon: glad I'm not the only one
18:29 colomon .... which leads me to think "pretty"
18:35 kjeldahl left #perl6
18:36 sorear Good * #perl6
18:40 takadonet sorear: yo
18:40 TimToady o/
18:40 * TimToady is recovering from the Hackers Conference....
18:41 dnl left #perl6
18:42 flussence .perl should probably be minimalist, then anyone can write a multi that does .perl(:indented) or whatever
18:42 sorear see S02
18:42 sorear I wrote some conjectural stuff there about a .pretty method
18:43 sorear which is intended for debugging
18:43 colomon what's the use case for .perl if not for debugging?
18:43 sorear colomon: serialization
18:43 wooden joined #perl6
18:43 wooden left #perl6
18:43 wooden joined #perl6
18:44 colomon sorear: I've been told repeatedly that that is a very bad idea, and I'm convinced that is correct.
18:45 daxim left #perl6
18:46 sorear So am I.
18:46 TiMBuS left #perl6
18:47 daxim joined #perl6
18:47 TiMBuS joined #perl6
18:47 sorear TimToady: How does a variable get declared as a constant?
18:47 flussence is ro?
18:48 TimToady with the constant declarator
18:49 TimToady flussence: ro is something else
18:49 sorear I think you just broke STD
18:50 TimToady hmm, as in starters and stoppers?
18:50 sorear Possibly
18:50 sorear I don't remember exactly what's going on, but I remember _PARAMS
18:50 TimToady yes, that's the starter/stopper role stuff
18:50 sorear When I was redoing LTM using automatons earlier, STD couldn't bootstrap until _PARAMS was working
18:51 TimToady but I think we can consider that those are constants instantiated in an eval-ish way
18:51 ggoebel left #perl6
18:51 flussence .oO( "is ro" isn't even a real thing... /facepalm )
18:51 TimToady well, it'd be 'is readonly'
18:52 TimToady ::= is the usual sugar
18:53 sorear Can you remember what the case is where stopper LTM is needed?
18:53 sorear «foo» parsing seems to work fine without it
18:53 wamba left #perl6
18:53 wamba joined #perl6
18:54 TimToady stdstopper and infixstopper
18:55 TimToady both call <?stopper>
18:57 ggoebel joined #perl6
18:58 sorear hmm, / <foo: 2 + 2> / isn't doing it
18:58 TimToady the roles at line 377 should be treating those as constants somehow, since roles instantiated with a constant parameter should consider those parameters to be consatnts
18:58 rurban left #perl6
18:59 risou left #perl6
18:59 TimToady _PARAMS was just a hack to get around the fact that Moose doesn't (or at least didn't) do parameterized roles
19:00 TimToady if it isn't doing it, how does it avoid parsing that > as a greater than?
19:02 TimToady anyway, the usage of those in STD should be considered "constant" by the last spec change
19:04 ggoebel masak: using the new version of psyde. Noticably faster :)
19:05 ggoebel masak: I sent you back a copy of psyde, post.html and default.atom which perform substitutions putting author in the right places...
19:07 eggled joined #perl6
19:16 snearch joined #perl6
19:28 dalek specs: 8d7691d | TimToady++ | S05-regex.pod:
19:28 dalek specs: generics can produce constants without declarator
19:28 dalek specs:
19:28 dalek specs: For the purposes of determining whether a variable is declared
19:28 dalek specs: constant, it is not enough to consider whether the C<constant>
19:28 dalek specs: declarator has been used.  Generic code that instantiates parameters
19:28 dalek specs: with constant arguments can also produce variables that are known by
19:28 dalek specs: the compiler to be immutable.
19:28 dalek specs: review: https://github.com/perl6/specs/commit/8​d7691d201467a12a5110dff5533c5cf3c88a27f
19:28 cotto_work joined #perl6
19:35 simon` joined #perl6
19:36 cotto_work left #perl6
19:36 cotto_work joined #perl6
19:37 daxim left #perl6
19:38 dnl joined #perl6
19:44 sorear std: / <foo: anon $> /
19:44 p6eval std a194beb: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unsupported use of $> variable; in Perl 6 please use $*EUID at /tmp/oJ9Pb8F6uP line 1:␤------> [32m/ <foo: anon $>[33m⏏[31m /[0m␤Parse failed␤FAILED 00:01 122m␤»
19:53 plobsing arthur-_: this should not be happening without some kind of error message giving a reason for the failure to load the library. this feels like a parrotbug.
19:54 plobsing arthur-_: can you describe your platform (OS/OS version/distro/c compiler/cc version/parrot revision/rakudo sha1/anything else you might think is relevant) so that I can replicate it for debugging?
19:59 masak joined #perl6
19:59 masak ahoy!
19:59 moritz_ o/
19:59 colomon \o
20:00 takadonet o/
20:02 sorear masak!
20:02 masak I'm only staying for a brief while; then I'm going eating, then I'll come back to blog.
20:03 * takadonet has been waiting for masak to write his blog
20:04 masak I'm writing in it daily :)
20:04 masak by the way, ggoebel++ submitted a patch to psyde today, so he's per definition a co-author of psyde.
20:04 simon` left #perl6
20:04 takadonet waiting for today post!
20:05 masak will be a few more hours.
20:05 sorear TimToady: How much hope is there for PL_sawampersand stuff in Perl6?
20:06 TimToady hope?
20:07 sorear I saw some stuff in the Perl4 changelog to turn $foo =~ /x/ into index($foo, "x") if sawampersand == FALSE
20:07 sorear I'm wondering if I can do that here
20:10 TimToady if the caller doesn't use $/, and uses the return value as boolean, sure; $/ isn't global like P5's current match, so there's no need for a global sawampersand pessimizer
20:11 TimToady this is why $/ is lexically scoped now, so we take at most one dynamic caller into account
20:11 TimToady that's my story, and I'm sticking to it (for now)
20:15 plainhao left #perl6
20:21 * sorear will have to think about this
20:21 sorear unrelatedly, I'm pondering the most elegant way to do add_categorical without eval
20:23 masak left #perl6
20:32 rurban joined #perl6
20:32 MayDaniel left #perl6
20:38 snearch left #perl6
20:46 Guest22875 left #perl6
20:47 fhelmberger left #perl6
20:55 dnl left #perl6
20:59 maybehuman_ joined #perl6
21:00 maybehuman_ left #perl6
21:08 mavrc left #perl6
21:11 arthur-_ plobsing: Ubuntu Linux 10.10 ( not fresh, 5 succesive updates ), gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5), parrot/rakudo are latest from git ( yesterday ), tell me if you need anything else, I'm not sur what is relevant.
21:11 arthur-_ thanks a lot for looking into this
21:11 stkowski joined #perl6
21:14 stkowski left #perl6
21:20 envi_ left #perl6
21:20 plobsing arthur-_: x86/amd64/other? (sorry, forgot to ask before)
21:21 masak joined #perl6
21:21 masak mmm, nom.
21:21 mavrc joined #perl6
21:23 envi joined #perl6
21:24 dnl joined #perl6
21:28 estrabd is now known as estrabd_afk
21:32 arthur-_ plobsing: amd64
21:33 arthur-_ ( when you get asked questions like that, it means it's serious business ... )
21:34 dalek mu: 4adeadd | sorear++ | misc/dalek-conf.json:
21:34 dalek mu: Commit a new dalek-conf with wiki scrapings
21:34 dalek mu: review: https://github.com/perl6/mu/commit/4ad​eadd1a7554feb8ae804f1298be9f973afa7f2
21:36 masak left #perl6
21:36 masak joined #perl6
21:39 molaf_ left #perl6
21:42 xomas_ joined #perl6
21:42 xomas_ is now known as xomas
21:52 masak we should be doing more of this with Perl 6: http://bieh.net/2010/11/08/xkcd-576/
21:52 dual joined #perl6
21:52 colomon I'm not sure I'd yet trust Perl 6 to spend my money.  ;)
21:53 frettled masak: use xkcd.com instead, so you get the mouseovers.
21:53 frettled masak: http://xkcd.com/576/
21:53 colomon frettled: no, the point is the article around the xkcd comic.
21:53 masak frettled: I wanted to link to the actual implementation deatils.
21:53 frettled colomon: oh.
21:53 colomon not that the comic isn't cool.
21:53 frettled /o\
21:53 * frettled looks suitably embarassed.
21:54 toebu joined #perl6
21:54 * masak hugs frettled
21:54 * frettled thanks masak.
21:54 colomon masak: mind you, it is exactly the sort of thing that Perl 6 could look good doing.  do we have a twitter module yet?
21:54 masak not to my knowledge.
21:55 colomon that seems like it would be a good project to tackle just in terms of publicity like this.
21:55 masak yes.
21:56 colomon and tackling modern things to do early on instead of just duplicating all of CPAN.  :)
21:57 colomon rakudo: my %hash = a => 1, b => 2; say (%hash >>+>> 1).perl
21:57 p6eval rakudo 2c66f9: OUTPUT«{"a" => 2, "b" => 3}␤»
21:57 * colomon is glad that works.
21:57 toebu is now known as TobiOetiker[M8]
21:58 colomon rakudo: my $a = Set.new(1, 2, 3, 4); say $a.perl;
21:58 p6eval rakudo 2c66f9: OUTPUT«set(1, 2, 3, 4)␤»
21:58 colomon rakudo: my $a = Set.new(1, 2, 3, 4); say ($a <<+>> Set.new(2, 42)).perl;
21:58 p6eval rakudo 2c66f9: OUTPUT«{"2" => 2}␤»
21:59 colomon okay, that's officially not at all what I expected
21:59 masak huh?
21:59 * masak submits rakudobug
22:00 colomon masak++
22:00 colomon rakudo: my $a = Set.new(1, 2, 3, 4); say ($a <<||>> Set.new(2, 42)).perl;
22:00 p6eval rakudo 2c66f9: OUTPUT«{"2" => Bool::True}␤»
22:00 colomon oh, that almost makes sense
22:00 masak try the (|) and (&) operators.
22:01 masak if you're trying to do what I think you are.
22:01 colomon it loses its Set-hood because hyper doesn't do that yet.
22:01 masak probably, yes.
22:01 colomon masak: I'm just trying to see what happens, no goal yet.
22:01 masak I'll put in the bug that hypers don't make sense yet.
22:01 colomon for sure, unless someone did a major upgrade to the hypers while I wasn't looking.
22:02 colomon for what it's worth, I think the p6l stuff commentary has been misguided.
22:02 colomon at least as I understand things.
22:03 colomon Set and Bag do associative, and hypers treat associative things like Hashes.
22:03 masak aye.
22:03 colomon (I mean, for sure they do now in Rakudo, but I think they do / should do in theory as well.)
22:03 masak the discussion, like lots of p6l discussion, is misguided but well-meaning.
22:03 spq1 left #perl6
22:04 masak I've been cheering it on anyway, because I think that space needs to be explored.
22:04 colomon masak: you assume no one there is trying to actively sabotage p6.  ;)
22:04 masak Set and Bag are great, but they haven't "landed" yet. they probably won't in a couple years.
22:04 masak colomon: yes, I do.
22:05 colomon oooo, there is a specific example in the spec of Bag not working like a hash
22:05 masak part of the problem with Set and Bag, besides giving them a natural-feeling semantics, is that the advantage they give over hashes and arrays is very slight.
22:05 colomon Bag(3,8,[2,Seq(9,3)],8) >>->> 1;         # Bag(2,7,[1,Seq(8,2)],7)
22:05 masak so they work more like arrays in that case.
22:06 colomon yes
22:06 colomon apparently Iterable-ness overrides hash-y-ness
22:06 colomon unless you are actually a Hash
22:07 masak someone (not me) should declare themselves resident Set-and-Bag monk, enter a monastery for two years, and then come back and tell us what to do.
22:07 masak middle step optional.
22:07 jnthn Optional? That's the fun bit!
22:07 mkramer re: Thomas's reply: are sigils actually about storage?
22:07 jnthn No, sigils are about an interface contract.
22:07 masak no.
22:07 masak but he's got a point.
22:07 masak I agree with him more than I usually do.
22:08 masak well, tbh, usually he just confuses the heck out of me.
22:08 mkramer I have no idea why people are talking about >>/<< in the thread
22:08 mkramer I never mentioned >>
22:08 masak that's a fearsome operator. I've never used it.
22:08 mkramer I'm pretty sure >> behavior is undefined for bags, no matter how they wind up
22:09 masak rakudo: .say for (1, 2, 3) >>/<< (2, 1, 0)
22:09 p6eval rakudo 2c66f9: OUTPUT«0.5␤2␤Inf␤»
22:09 masak mkramer: see colomon's spec quotation above.
22:09 colomon even though the quotation really makes my brain hurt.  It's obviously a glitch in the spec
22:10 colomon because what does Bag.new(1, 2, 3) >>/<< Bag.new(2, 1, 0) do?!
22:10 masak colomon: and you're willing to fix it? colomon++
22:10 colomon masak: I'm more than willing to fix it, as soon as I know how.  :)
22:10 masak bags are unordered, so obviously it does something quite wild.
22:11 masak hey! I got a MAILER-DAEMON message back from rakudobug.
22:11 mathw good way to make sure people don't depend on ordered bags: insert debug-mode code which explicitly randomises them every time the elements are accessed :)
22:12 masak somebody please fix this really soon, or I'll explode. :(
22:12 jnthn masak: Excessive usage? ;-)
22:12 mathw lol
22:12 masak hardly.
22:12 masak it's not even high season for bugs.
22:12 mathw that means jnthn isn't writing enough code :)
22:12 mkramer masak: What's his point?
22:12 mathw jnthn: how's 6model going?
22:13 wallberg joined #perl6
22:14 jnthn mathw: Slowly in recent days due to $dayjob-panic :/
22:14 masak mkramer: the spec mentions >>->> on Bags.
22:14 mkramer if sigils are an interface contract, what do they promise?
22:14 mathw jnthn: :(
22:15 jnthn mathw: Recent high points include sorting out the multi stuff, getting the underlying primitive for "use" working on the 6model on .Net implementation and getting an Mu in place, so I can actually pass class tests now there.
22:15 mathw nice
22:15 mathw I did see the multi stuff going by
22:15 jnthn Yeah
22:15 mathw at least, the spec changes
22:15 jnthn Oh, I got an implementation together of the spec changes.
22:15 masak mkramer: not much. basically .[] and .{} methods
22:15 jnthn It worked out *really* nicely.
22:16 jnthn Now I "just" need to port it over to Parrot...
22:16 mathw heh
22:16 moritz_ mkramer: @ and % sigils promise flattening
22:16 mathw jnthn: I must admit I'm very excited that this could be the groundwork for a .NET implementation
22:17 mathw running Rakudo on multiple VMs is a very cool thing
22:17 mkramer moritz_: yay.  Ok, that's what I was thinking they promised
22:17 wallberg left #perl6
22:17 mathw but something I always assumed would be ridiculously difficult and not worth the effort
22:17 mkramer So what I promised makes sense if @ promises flattening, but not if @ promises []
22:17 mkramer *was suggesting
22:18 colomon rakudo: say Bag.new(1, 1, 2, 3, 4).perl
22:18 p6eval rakudo 2c66f9: OUTPUT«Could not find sub &Bag␤  in main program body at line 22:/tmp/I_ztzT1uLe␤»
22:19 jnthn mathw: It's turning out that the .Net runtime layer I have is very hackable and making it easy to add stuff.
22:19 mkramer Bags aren't implemented heh
22:19 mathw jnthn: that's cool
22:19 mathw jnthn: it's always nice to have a good, flexible playground
22:19 colomon Bags are implemented, they're not integrated.  :)
22:19 mathw jnthn: been trying to set up something akin to that at work but it's not so easy in C++
22:20 mkramer moritz_: just to be clear though, what does flattening mean?
22:20 mkramer I think I know, but I don't want to assume
22:20 cotto_work left #perl6
22:21 moritz_ rakudo: my @a = 1, 2, 3; .say for @a
22:21 p6eval rakudo 2c66f9: OUTPUT«1␤2␤3␤»
22:21 cotto_work joined #perl6
22:21 moritz_ rakudo: my $a = (1, 2, 3); .say for $a
22:21 mkramer Ok, that's what I thought
22:21 p6eval rakudo 2c66f9: OUTPUT«1 2 3␤»
22:22 mkramer Bags definitely need to flatten
22:22 wooden left #perl6
22:22 Tene what order do they flatten in?
22:22 moritz_ Bags do Positional, no?
22:22 mkramer no
22:22 moritz_ erm, Associative, sorry
22:22 Tene No, Positional implies Ordered
22:22 mkramer yes
22:22 moritz_ so they can be stored in % - variables
22:23 moritz_ which then control the flattening
22:23 mkramer rakudo: my %h = < foo bar baz qux >; .say for %h;
22:23 p6eval rakudo 2c66f9: OUTPUT«foo       bar␤baz qux␤»
22:24 masak rakudo: grammar G { regex foo { foo } }; given "foo" { when G.parse("foo", :rule<foo>) { say "OH HAI" } }
22:24 p6eval rakudo 2c66f9: OUTPUT«OH HAI␤»
22:24 masak this works, but I feel it's a bit redundant. any suggestions for improvements?
22:24 cotto_work left #perl6
22:25 * masak is patching up Druid
22:26 Tene masak: That program can be reduced hugely... just: say "OH HAI";
22:26 Tene ;)
22:26 * colomon is going to make the spec explicitly say that you cannot use a Bag on one side of a hyper and anything with more than one element on the other.  errr, probably post- nom and getting a working clone of Spec.
22:26 masak Tene: you're always such a big help. :)
22:27 masak colomon++
22:27 Tene masak: is the topic supposed to be affecting the name of the rule matched?
22:27 colomon if someone disagrees with that, they're welcome to try to come up with something consistent and sane.  ;)
22:27 masak Tene: it was in my original code. regardless, I still need something much like a given/when.
22:28 Tene masak: Did you mean, perhaps, G.parse($_, :rule<foo>); or maybe G.parse('foo', :rule($_)); ?
22:28 masak colomon: that's usually a good way to move forward.
22:28 mkramer Sure, put it in there, but it should go without saying
22:28 masonkramer left #perl6
22:28 mkramer that's odd
22:29 masonkramer joined #perl6
22:29 masak Tene: the former. thanks.
22:29 Tene Ah, yes, that's better.
22:29 colomon mkramer: if you're talking to me, it definitely doesn't go without saying.
22:29 masak Tene++
22:29 Tene masak: you could add a TOP to the grammar, and then just: when G { ... };
22:29 cotto_work joined #perl6
22:29 colomon and I think it turns up a hole in the type system.
22:29 dalek mu: 4a96328 | sorear++ | misc/dalek-conf.json:
22:29 dalek mu: Add Parrot to tracked git repositories
22:29 dalek mu: review: https://github.com/perl6/mu/commit/4a9​63286691a2395e30ab7b85216c4b2c240a946
22:30 masak Tene: yeah, but I have several whens and several rules.
22:30 colomon because I don't think we have a generic way of saying "Iterable but not ordered"
22:30 timbunce joined #perl6
22:30 mkramer Iterable but not Positional?
22:30 Tene masak: If there are many alternatives, you could add a TOP to the grammar that alternates over them, and then dispatch on the match, if that's all you're alternating on.
22:30 masak colomon: why? does Iterable imply Positional?
22:31 colomon Iterable does not imply positional.
22:31 mkramer It doesn't
22:31 masak Tene: that's an idea worth exploring.
22:31 Tene grammar G { token TOP { ... | ... | ...}; ... }; given "foo" ~~ G { when $_<foo> { ... }; };
22:31 Tene like that.
22:31 colomon But there are two things here: Iterable and every time you get the same ordering, and Iterable and the ordering is arbitrary
22:31 Tene That doesn't help if you want to vary over anything else, though.
22:32 _kaare left #perl6
22:32 mkramer I think Positional means ordered and nothing more or less, please correct me if I'm wrong
22:33 mkramer of course, ordered means [], but that's an implementation detail
22:33 Tene masak: Write a macro to handle it for you, implementing a grammar-test keyword: grammar-test G, 'foo' { when 'foo' { ... } }
22:34 masak Tene: I think I can get away with doing it like that.
22:34 jnthn mkramer: Positional implies the existence of a postcircumfix:<[ ]> method.
22:34 colomon what jnthn said
22:34 masak :)
22:34 jnthn Which wouldn't make much sense if the thing wasn't ordered, I guess. :-)
22:35 masak @ sigil implies Positional implies a .[] method
22:35 mkramer the spec leaves it up in the air whether @ implies Positional or Iterable
22:35 masak I'm getting error messages at a higher line number every time, which is a good sign...
22:35 mkramer This is the point I'm trying to raise here
22:36 mkramer I guess it would be annoying not to be able to look at a @thing and know that I can index that @thing with postcircumfix:<[]>
22:36 mkramer *and not to know that
22:37 masak no, @ implied Positional.
22:37 masak s/d/s/
22:37 jnthn Rakudo certainly believes it means Positional. Additionally, it's tied into typed arrays.
22:37 jnthn We'd be breaking a lot of nice symmetries and probably cause other issues if it implied Iterable.
22:38 colomon Iterable needs to be able to include things that aren't ordered, for sure.
22:38 jnthn (e.g. all of @, % and & imply roles which in turn imply the existence of given postcircumfixes)
22:38 masak alpha: say elems [1,2,3]
22:38 p6eval alpha : OUTPUT«1␤»
22:38 colomon Positional implies postcircumfix:<[]>
22:38 masak alpha: say elems 1, 2, 3
22:38 p6eval alpha : OUTPUT«3␤»
22:38 masak rakudo: say elems 1, 2, 3
22:38 p6eval rakudo 2c66f9: OUTPUT«Could not find sub &elems␤  in main program body at line 22:/tmp/LRif7w_7pN␤»
22:38 * masak submits rakudobug
22:38 colomon it seems to me we need something in between that implies "stable iterable"
22:39 masak ha-haa!
22:39 masak oh wait :(
22:39 masak someone please fix the rakudobug email addy :(
22:39 masak :( :( :(
22:39 masak who should I contact? what must I do?
22:41 masak rakudo: say elems: 1, 2, 3
22:41 p6eval rakudo 2c66f9: OUTPUT«===SORRY!===␤Confused at line 22, near "say elems:"␤»
22:41 masak rakudo: say elems: (1, 2, 3)
22:41 p6eval rakudo 2c66f9: OUTPUT«===SORRY!===␤Confused at line 22, near "say elems:"␤»
22:41 mkramer colomon: why doesn't Positional serve?
22:41 masak std: say elems: (1, 2, 3)
22:41 p6eval std a194beb: OUTPUT«ok 00:01 121m␤»
22:41 mkramer colomon: for "stable iterable"
22:41 jnthn masak: I'd guess whoever looks after RT, which may be robrt or ask.
22:41 * masak czechs
22:41 jnthn masak: Given it's used for Perl 5 bug submission too, I'd imagine it'll get picked up
22:42 jnthn Well
22:42 colomon mkramer: because then you're forcing anyone who wants to create a stable iterable class to overload postcircumfix:<[]>
22:42 jnthn Provided it's a general issue with the mail to RT gateway
22:42 jnthn Note that hashes are iterable
22:42 mkramer colomon: why would any class that iterates in a single, well-defined order not also implement []?
22:42 jnthn If you made @ mean Iterable then a hash could bind the @foo :-)
22:42 Tene colomon: if it's stable iterable, why doesn't [] make sense?
22:43 colomon because requiring people to overload a postcircumfix operator is a pain in the tuckus
22:43 mkramer compared to what?
22:43 colomon compared to not.
22:44 timbunce left #perl6
22:44 timbunce joined #perl6
22:44 sorear users should never define postcircumfix:sym<[ ]> - define at_pos instead
22:44 sorear or at-pos, which I call it, because my parser isn't limited to _
22:45 timbunce Anyone seen this kind of failure before: "Couldn't load class (Catalyst::Exception::Basic) because: Can't use an undefined value as a HASH reference ..." http://www.cpantesters.org/cpan/report​/53d95c80-e917-11df-a5b8-c5d4f05f9827
22:45 colomon I rest my case.  :)
22:45 sorear also postcircumfix:sym<[ ]> is a sub
22:45 sorear but rakudo implements it as a method for some reason
22:45 masak sorear: isn't it an underscore because it's "low-level"?
22:45 * timbunce slaps head for posting to wrong channel
22:46 * masak hugs timbunce
22:47 * timbunce smiles thankfully while waiting for his third flight in a day
22:47 kensanata joined #perl6
22:47 masak timbunce: getting lots of coding done while waiting?
22:48 timbunce masak: no, just tinkering with loose ends, like test failures
22:48 masak same here.
22:48 masak I think I exhausted myself swimming today.
22:48 masak either that, or I fried my brain in the sauna.
22:49 masak o.O all Druid tests successful?!
22:49 masak \o/
22:49 masak that's it. I'm committing and blogging. :)
22:49 * sorear thinks he's done hacking dalek for a bit
22:50 timbunce left #perl6
22:50 mavrc left #perl6
22:50 masak yay, and the ./druid script works now!
22:51 masak but... boy, have lists gotten slower.
22:51 masak or something. it was never thigs slow.
22:51 masak someone willing to help me confirm a slowness? volunteer? anyone?
22:52 colomon easy or hard, mas?
22:52 colomon masak?
22:52 masak colomon: easy. just git pull a thing, make, and run it.
22:53 colomon what?
22:53 masak druid, branch ng-compat
22:53 * sorear has an implementation of lists that is 900 times faster than Rakudo 2010.07, and encourages stealing
22:54 colomon with normal rakudo?
22:54 masak yes.
22:54 sorear .09 sorry
22:54 masak sorear: I have no trouble believing that.
22:54 colomon .09 times faster?  That's really slow!
22:54 Raynes left #perl6
22:54 masak this is the first evidence of a significant slowdown of anything that I've seen going from alpha to ng.
22:55 masak colomon: :)
22:55 colomon masak: can you get me the git info?  (busy cooking and setting table at the moment)
22:55 masak colomon: no, it's just not that much faster :P
22:55 meppl left #perl6
22:55 masak colomon: sure. hold on.
22:55 masak colomon: git://github.com/masak/druid.git
22:56 masak the branch is called ng-compat.
22:56 masak ufo && make && ./druid # should do it
22:56 colomon git branch ng-compat?
22:57 colomon git checkout -b ng-compat (I hope)
22:57 masak that creates a new local branch, no?
22:57 * masak tries to recall how this was done
22:57 colomon oh, maybe.
22:58 arnsholt checkout branch, no?
22:58 masak 'git checkout -b ng-compat origin/ng-compat'
22:58 masak might be there are simpler ways.
23:00 jnthn masak: Got any idea of the area of the code that seems especially slow?
23:01 TobiOetiker[M8] left #perl6
23:01 masak jnthn: yes, it's the one that prints the small boards.
23:01 masak jnthn: I could point you to the lines in question. hold on.
23:01 jnthn ok
23:03 colomon want me to time ./druid?
23:03 masak colomon: no, just run it and look. and tell me what you see.
23:04 masak jnthn: https://github.com/masak/druid/blob/n​g-compat/lib/Druid/View/Text.pm#L194
23:08 colomon ./druid: Permission denied
23:08 colomon ;)
23:09 masak env PERL6LIB=... perl6 druid
23:10 jnthn masak: Grr. I'll have to look at it more carefully when I haven't got a headache.
23:10 masak nodnod.
23:10 masak I might make it tomorrow's blogging quest.
23:10 jnthn masak: If an isolated script could be extracted that simulates this though...
23:10 masak yeah.
23:10 jnthn It'd be far easier to look at.
23:10 colomon masak: there's a board, and now it says "vertical"
23:11 masak colomon: right, there are three boards, no.
23:11 masak two small ones.
23:11 colomon yes
23:11 masak were the small ones printed at great speed?
23:12 colomon I didn't notice, I was running around the kitchen.
23:12 masak ah.
23:12 masak please ^C, do it again, and notice :)
23:12 colomon no, pretty un-snappy, I'd say
23:12 masak right.
23:12 masak definitely slower than in alpha.
23:12 masak thanks. colomon++
23:12 colomon not terrible terrible, but not instant by any means.
23:12 masak it wasn't always that slow, that's my point.
23:13 masak it's too slow to be taken seriously. I would have reacted if it were that slow when I wrote it.
23:15 xabbu42 left #perl6
23:21 jnthn rest &
23:24 xinming left #perl6
23:33 masak my email to perlbug-admin bounced :(
23:33 * masak cries
23:34 risou joined #perl6
23:36 masak blog post! http://strangelyconsistent.org/blog/n​ovember-8-2010-druid-is-back-in-town
23:36 masak takadonet: just for you this time :)
23:42 sorear ask on #toolchain or #p5p
23:43 masak thanks. I'll try that.
23:45 dalek niecza: 4b41ecf | sorear++ | / (3 files):
23:45 dalek niecza: Implement non-string-parametrized roles
23:45 dalek niecza: review: https://github.com/sorear/niecza/commit/​4b41ecf3e5f273377fb7d35cb1a5206434dd7832
23:49 [particle] left #perl6
23:53 masak left #perl6
23:56 aindilis joined #perl6

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs