Camelia, the Perl 6 bug

IRC log for #parrot, 2008-12-06

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:05 allison joined #parrot
00:07 Limbic_Region joined #parrot
00:09 AndyA joined #parrot
00:15 bacek joined #parrot
00:33 stockwellb joined #parrot
00:44 chromatic I like this look:
00:44 kid51 joined #parrot
00:44 chromatic http://wardley.org/use.perl.org/test.html
00:47 jonathan It's certainly an improvement. :-)
00:47 jonathan Fixing the Recent Journals box that disappeared would be a Good Thing to.
00:47 jonathan *too
00:48 jonathan Of course, I'm preaching to the choir here...
00:49 contingencyplan joined #parrot
00:50 dalek r33528 | jkeenan++ | testparrottest:
00:50 dalek : 1.  Move sub generate_languages_functions() farther down in file for ease of
00:50 dalek : editing.  (We'll probably move this out of this package eventually, as it
00:50 dalek : pertains only to languages built on Parrot, and not to PASM, PIR or C.)
00:50 dalek : 2.  Throw in some print STDERR statements to facilitate debugging in
00:50 dalek : _run_test_file and related unit tests.
00:50 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33528
00:51 jonathan http://use.perl.org/~Jonath​anWorthington/journal/38035 # ramblings about my adventures in parrot today
00:58 bacek rakudo: say "hi"
00:58 polyglotbot No output (you need to produce output to STDOUT)
00:58 bacek jonathan++ # making Rakudo better
00:58 bacek <bacek> perl6: token CommentContent { .* }; token Comment { '(:' <CommentContent>? ':)' }; say "(: Hi :)" ~~ / <Comment> /; say ~$/
00:58 bacek <p6eval> rakudo 33527: OUTPUT[␤␤]
00:59 bacek Why <Comment> didn't matched?
01:01 lathos jonathan++ # Fixing block segfaults. Now I can write much nicer code.
01:03 dalek r33529 | jkeenan++ | testparrottest:
01:03 dalek : Improve debugging statements.
01:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33529
01:04 jonathan bacek: Becuase it's a token and it doesn't backtrack.
01:04 jonathan So the .* swallows up the last :)
01:05 bacek jonathan: ah. ok
01:05 Infinoid has anyone worked on JIT on x86-64?
01:06 Infinoid I'm betting the NX bit stuff would have gotten in the way of that
01:14 bacek <bacek> rakudo: token CommentContent { <- [ '(:' | ':)']>* }; token Comment { '(:' <CommentContent>? ':)' }; say "(: Hi: There :)" ~~ / <Comment> /;
01:14 bacek <p6eval> rakudo 33527: OUTPUT[␤]
01:15 dalek r33530 | jkeenan++ | testparrottest:
01:15 dalek : Improve debugging message.
01:15 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33530
01:16 bacek jonathan: why this one failing? (It works for comment without :
01:20 jonathan I suspect because you're trying to make a character class...even so, hmm.
01:20 dalek r33531 | simon++ | trunk:
01:20 dalek : Fixes to column-lookup code, and some more tests
01:20 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33531
01:20 jonathan Maybe negated cc's ain't done yet...
01:21 bacek jonathan: np. thei0s on #perl6 explained me already.
01:21 bacek .*? <before '(:'>
01:22 jonathan Yes, that should work. :-)
01:22 bacek jonathan: it actually works! :)
01:24 bacek Files=6, Tests=193, 30 wallclock secs ( 0.08 usr  0.00 sys + 28.56 cusr  0.56 csys = 29.20 CPU)
01:24 bacek ...but slowly...
01:26 jonathan bacek: What are you working on?
01:26 bacek I learning perl6. By implementing XQuery :)
01:27 jonathan Cool!
01:27 * jonathan should write some Perl 6 some day.
01:28 bacek jonathan: perl6 is very cool language. You'll like it :)
01:28 Limbic_Region jonathan - prelude now supports inline PIR ;-)
01:28 * jonathan has some evil ideas
01:30 bacek jonathan: btw, 'conquer the world' is mine!
01:33 allison joined #parrot
01:33 Infinoid eh, it's been done.
01:34 jonathan Yeah. I'll go for something more challenging.
01:35 lifeless left #parrot
01:36 Limbic_Region jonathan: a perl 6 implementation that is a self-bootstrapping quine that is feature complete?
01:37 jonathan I didn't mean *that* much more challenging!
01:38 Infinoid and 32.5% more evil than a quine
01:38 cotto self-bootstrapping?
01:38 Limbic_Region parses and executes itself
01:38 Limbic_Region without the need to first be parsed and executed in an intermediate language
01:39 * cotto runs away
01:39 Limbic_Region er s/$/first/
02:10 dalek r33532 | Whiteknight++ | calling_conventions:
02:10 dalek : [calling_conventions] update to trunk r33531. No fixes
02:10 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33532
02:12 wknight8111 this branch is supremely frustrating
02:19 rdice left #parrot
02:19 jonathan wknight8111: Parrot guts often can be, especially bits like those you're working on. :-(
02:20 wknight8111 jonathan, you have time to look at an interesting problem?
02:20 wknight8111 because the calling_conventions branch could use a fresh set of eyes
02:21 jonathan wknight8111: It's 3:20am here, so I've really not got the concentration right now - I already gave up on some (vastly more trivial) Rakudo hacking earlier.
02:22 jonathan Another time though, I can try and take a look.
02:22 wknight8111 yeah, you need to get some rest then
02:22 wknight8111 I saw your blog post today, good job! jonathan++
02:23 jonathan Yeah, had some "fun" with Parrot guts stuff.
02:23 jonathan Was a couple of things that worked because something else didn't.
02:28 nopaste "pmichaud" at 72.181.176.220 pasted "...why doesn't this work?" (30 lines) at http://nopaste.snit.ch/14831
02:31 tak joined #parrot
02:42 jonathan pmichaud: Ah, is that the ".incldue didn't work out" thing?
02:42 jonathan I think I saw you mention that, but forgot about it...
02:43 jonathan pmichaud: What error gives it?
02:44 nopaste "pmichaud" at 72.181.176.220 pasted "error from converting 'cat' to a sequence of .includes" (8 lines) at http://nopaste.snit.ch/14832
02:47 jonathan I'm really not sure. .include isn't meant to do anything clever - I thought it even operated at the lexer level...
02:47 bacek Is <cut> implemented in Rakudo?
02:47 pmichaud right, that's what I was thinking also.
02:47 pmichaud bacek: no.
02:47 jonathan Well, don't have the engergy for it now, but it'd be maybe good to fix that.
02:47 pmichaud yeah, it kinda bugs me that it gives an error at all.
02:47 bacek pmichaud: sigh...
02:47 purl there's no crying in perl programming!
02:47 jonathan Same...I can't think why it'd do that.
02:49 pmichaud it's failing in the 'init' :vtable method of Perl6::Compiler, though.  And I'd prefer that Perl6::Compiler not have an 'init' :vtable method, so maybe if I clean that up it'll avoid whatever bug we're tickling.
02:50 pmichaud switching to laptop
02:50 pmichaud brb
02:50 jonathan If it does clear it up, it'll give us a hint...
03:02 pmichaud it doesn't appear to clear it up
03:15 dalek r33533 | pmichaud++ | trunk:
03:15 dalek : [rakudo]:  Convert an :init vtable to run at :load :init instead.
03:15 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33533
03:15 dalek r33534 | jkeenan++ | testparrottest:
03:15 dalek : Place POD for 'SEE ALSO' in correct location.
03:15 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33534
03:16 jonathan pmichaud: OK. I need to sleep now
03:16 pmichaud sure thing -- see you tomorrow.
03:16 pmichaud I'll probably do the same soon.
03:16 jonathan Given it's 4am here, don't think I'll be doing an early one tomorrow. ;-)
03:16 * jonathan is so much more a night person...
03:16 pmichaud you'll still probably be up before me :-)
03:16 jonathan :-)
03:16 jonathan night
03:16 pmichaud great work today
03:17 jonathan Thanks, was less -Ofun, and but -Oneeded
03:17 jonathan s/but/more/
03:17 * jonathan -> sleeeep
03:22 bacek pmichaud: Is there any way to prevent backtracking after certain position?
03:26 pmichaud sure, :: or ::: will do it
03:26 pmichaud also <commit>
03:30 dalek r33535 | jkeenan++ | testparrottest:
03:30 dalek : Reposition debugging statement
03:30 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33535
03:48 tak_ joined #parrot
04:01 jimmy joined #parrot
04:02 elmex joined #parrot
04:05 stockwellb joined #parrot
04:16 * Infinoid loses focus and makes stupid mistakes
04:16 Infinoid time to call it a day.
04:16 stockwellb joined #parrot
04:25 * kid51 must sleep
04:25 purl $kid51->sleep(8 * 3600);
04:25 dalek r33536 | jkeenan++ | testparrottest:
04:25 dalek : Insert some inline comments to help diagnose excessively long subroutine.
04:25 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33536
04:34 Coke pmichaud: want a Configure.pl of perl6's own?
04:35 pmichaud Coke: I copied the tcl one earlier, it works great (after I remembered to change 'tcl' to 'perl6')
04:35 pmichaud but didn't get a chance to ci it
04:35 pmichaud short answer: "yes, please!"  :-)
04:35 Coke brt.
04:35 pmichaud actually, I'm thinking we should add one to mk_language_shell.pl, too :-)
04:38 dalek r33537 | coke++ | trunk:
04:38 dalek : [perl6] add a Configure.pl for perl6; use this to regenerate the Makefile.
04:38 dalek : - also, regen MANIFEST.
04:38 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33537
04:57 particle joined #parrot
05:15 YJH joined #parrot
05:22 YJH left #parrot
05:30 * Coke wonders why switching rakudo's builtins to be .include'd instead of inlined fails.
05:31 Coke fails trying to find the P6 compiler when turning Test.pm into Test.pir
05:33 dalek r33538 | coke++ | trunk:
05:33 dalek : [perl6] - ignore more generated files (OS X)
05:33 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33538
05:35 apeiron joined #parrot
05:43 Coke AHA.
05:45 cotto aha++
05:51 Coke there. rakudo's src/gen_builtins.pir is now .includes instead of duplicated code.
05:52 dalek r33539 | coke++ | trunk:
05:52 dalek : [perl6] Convert src/gen_builtins.pir to be .include instead of inline copies.
05:52 dalek : (This makes IMCC report line numbers you can fix instead of lines in a copy of a file you shouldn't edit.)
05:52 dalek : Only issue preventing this was a missing =cut tag in one of the builtins.
05:52 dalek : Also fixup manifest.
05:52 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33539
06:00 dalek r33540 | coke++ | trunk:
06:00 dalek : [CAGE] pass t/distro/*meta*
06:00 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33540
06:07 rhr joined #parrot
06:17 jimmy #!/home/tewk/srcs/parrot/perl6 ??
06:19 Theory joined #parrot
06:20 jimmy does it really work?
06:21 cotto If there's an exectuable at that location, it will work.
06:23 jimmy yes :)
06:24 jimmy rev=33540 , i don't think there is
06:25 jimmy i should say it's wrong at r33540
06:26 cotto That's probably not a standard location for the perl6 exectuable.
06:49 dalek r33541 | infinoid++ | trunk:
06:49 dalek : [CAGE] Remove trailing whitespace from 5 source files.
06:49 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33541
06:49 dalek r33542 | infinoid++ | trunk:
06:49 dalek : [CAGE] Fix 15 failures of t/codingstd/c_parens.
06:49 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33542
06:54 dalek r33543 | infinoid++ | trunk:
06:54 dalek : [CAGE] Fix a linelength.t failure in perl6multisub.pmc
06:54 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33543
06:54 dalek r33544 | infinoid++ | trunk:
06:54 dalek : [CAGE] Fix a couple of t/codingstd/c_code_coda.t failures.
06:54 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33544
06:54 dalek r33545 | infinoid++ | trunk:
06:54 dalek : [CAGE]
06:54 dalek : * Fix a couple of t/codingstd/c_header_guards.t failures.
06:54 dalek : * Fix several t/codingstd/c_operator.t failures.
06:54 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33545
07:05 Hadi joined #parrot
07:05 Hadi left #parrot
07:09 Infinoid does rakudo have "use strict" and "use warnings"?  perlcritic.t is complaining about them being missing from the new perl6 SQLite libraries, but that seems unlikely to be valid
07:18 johbar joined #parrot
07:23 MariachiElf joined #parrot
07:40 dalek r33546 | duff++ | trunk:
07:40 dalek : [rakudo] Add :nth() and :x() flags to .subst($str,$repl) and .subst($regex,$repl)
07:40 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33546
07:55 Hadi joined #parrot
07:56 Hadi left #parrot
07:58 jimmy joined #parrot
08:42 iblechbot joined #parrot
09:20 particle joined #parrot
10:06 dalek r33547 | fperrad++ | trunk:
10:06 dalek : [Lua] mathx
10:07 dalek : - more tests
10:07 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33547
10:12 TiMBuS joined #parrot
10:15 moritz Infinoid: both are enabled by default
10:31 dalek r33548 | moritz++ | trunk:
10:31 dalek : [rakudo] remove debugging output. Closes RT #61078. ihrd++
10:31 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33548
10:40 Hadi joined #parrot
10:41 Hadi left #parrot
11:57 lu_zero joined #parrot
11:58 register joined #parrot
12:01 Theory joined #parrot
12:10 PacoLinux joined #parrot
12:34 jimmy can anybody process https://trac.parrot.org/parrot/ticket/19 ? it blocks me to create another patch.
12:35 contingencyplan joined #parrot
12:39 moritz jimmy: why do we need those '=cut's? it works fine without...
12:39 jimmy doesn't
12:40 jimmy try make html under docs
12:40 dalek r33549 | julianalbo++ | trunk:
12:40 dalek : fix exception.pmc:get_bool
12:40 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33549
12:40 jimmy it is necessary for pod docs in  /* */
12:40 purl Hmm.  No matches for that, jimmy.
12:42 dalek r33550 | moritz++ | trunk:
12:42 dalek : [cage] trailing whitespaces
12:42 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33550
12:42 jimmy and some method missed docs
12:44 moritz if the cuts are needed, we should have a codingstd test for them
12:44 jimmy unfortunately, no
12:45 riffraff joined #parrot
12:45 jimmy you can consult related pods
12:45 riffraff hello
12:45 purl niihau, riffraff.
12:46 moritz jimmy: first I'm trying to clean up some other codingst failures, then I'll take a look at your patch
12:46 dalek r33551 | moritz++ | trunk:
12:46 dalek : [cage] some missing copyright and $Id$ lines (more to come)
12:46 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33551
12:46 particle joined #parrot
12:46 jimmy moritz: ok, without the patch ,make html will build wrong html docs
12:47 jimmy i.e. macro.hmlt
12:47 jimmy i.e. macro1.html
12:48 dalek r33552 | moritz++ | trunk:
12:48 dalek : [cage] fix $Id$ statements, moritz--
12:48 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33552
12:51 dalek r33553 | moritz++ | trunk:
12:51 dalek : [cage] clean up codingstd failures in ext/SQLite3/
12:51 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33553
12:52 particle joined #parrot
12:53 dalek r33554 | moritz++ | trunk:
12:53 dalek : [cage] clean up two Configure.pl's  (svn id, copyright)
12:53 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33554
12:56 masak joined #parrot
12:56 moritz jimmy: I can't find a macro.html or macro1.html - where should it be?
12:57 jimmy masak: some of your journal using chinese ,funny
12:57 jimmy moritz: it is macro1.html under docs/html
12:57 masak jimmy: funny-nice, or funny-unreadable?
12:57 jonathan morning^Wafternoon all
12:57 masak jonathan: dito
12:58 jimmy masak: funny-nice
12:58 moritz jonathan: haha, I sleep to 11:00, it' still morning for me ;-)
12:58 masak jimmy: great :)
12:58 masak thanks
12:58 particle1 joined #parrot
12:58 jimmy masak: http://use.perl.org/~masak/journal/37976 here
12:59 masak jimmy: for some reason, I think that conveys laughter much better than does "haha"
12:59 jimmy charset=iso-8859-1, though.
12:59 jimmy and O(∩_∩)O哈哈~
12:59 masak huh? not here.
12:59 jimmy or (*^__^*) 嘻嘻……
12:59 masak jimmy: oh, you mean I should have written it like that? :)
13:00 * masak first thought O(n_n) was a complexity measure
13:00 jimmy as you like it.
13:01 masak jimmy: still learning Asian emoticons, I'm afraid ^_^
13:01 jimmy should be O(∩_∩)O, it's like  face of laughing
13:01 masak yes, I see that now.
13:01 masak they're so strange, they're all rotated 90 degrees clockwise :)
13:02 jimmy it's not the part of chinse, just like : ) on the web
13:02 masak jimmy: 我知道
13:02 dalek r33555 | moritz++ | trunk:
13:02 dalek : add '=cut' lines to some POD documents. Closes trac #19, jimmy++
13:02 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33555
13:03 jimmy hmm,it's outputed from sogou shuru fa.
13:03 masak sogou?
13:04 masak I know "shuru fa", but what's "sogou"?
13:04 jimmy www.sogou.com
13:04 jimmy it's http://pinyin.sogou.com/
13:05 jimmy and you will see it.
13:07 jimmy it's one of the best shurufa in china now.
13:08 lathos masak: They're rotated clockwise because Chinese and Japanese traditionally read top to bottom not left to right.
13:08 masak jimmy: what makes it so great?
13:08 masak lathos: oh, so it has nothing to do with real faces normally being rotated that way? (I was trying to be funny when I said the above.)
13:08 lathos (I just made that up but it sounds believable.)
13:08 alvar joined #parrot
13:08 masak lathos: ah.
13:09 jimmy moritz: so i think there should be code standard for missing '=cut'
13:09 masak lathos: Chinese ideograms of animals are normally rotated 90 degrees clockwise, i.e. the opposite direction from smilies.
13:09 moritz jimmy: patches welcome
13:09 purl That's swahili for "Put up or shut up."
13:10 jimmy lathos: should be top to bottom and left to right.
13:11 jonathan lathos: You're in Japan, IIRC?
13:12 * jonathan is pondering doing YAPC::Asia this year...and guesses it will be in Japan.
13:12 jonathan Well, next year
13:12 purl next year is the first year nordakker have tax write-offs
13:12 lathos I am.
13:12 jonathan 2009. :-)
13:12 lathos But next year I will be in the UK. :)
13:12 lathos COming back in 2010.
13:12 jonathan Ah, OK.
13:12 jimmy masak: it is so great, for humanity and creativity and so and so
13:12 lathos This year's YAPC::Asia was excellent.
13:12 jonathan I'll not see you there, then. ;-)
13:12 jonathan Yes. I've not seen any dates for the 2009 one yet, but will keep an eye out.
13:13 lathos They were talking about having it in Kyoto.
13:13 lathos If I get a job and do interesting Perl things between now and then I may come back for it.
13:14 masak jimmy: by "humanity", do you mean "humane user interface"?
13:14 jonathan OK. If I go I'll probably spend 2 weeks or so over in Japan.
13:14 jonathan And visit a few places.
13:14 jonathan So I won't mind which city it's in. :-)
13:14 lathos Cool.
13:14 jonathan Never been there before, and would really like to.
13:14 lathos Top tips: Tokyo and Osaka are not worth much time. Kyoto, Nara, Hiroshima are the places to go.
13:15 jimmy masak: i think i should say 'be close to humanity', my poor english though.
13:15 masak jimmy: 'close to humanity' is still poor English, I'm afraid.
13:15 masak jimmy: do you mean 'easy to use, because it's designed according to the way people think'?
13:16 jonathan Thanks - good to know.
13:16 jimmy hmm, i should say 'be close to human's custom.
13:16 masak jimmy: that's what I thought.
13:16 jimmy or 人性化
13:16 masak jimmy: it's usually just called 'useable' or 'user-friendly'.
13:16 lathos Intuitive.
13:16 purl rumour has it intuitive is in the brain of the beholder or EXCEPT NIPPLES. EVERYONE understands nipples. or a word people apply to interfaces they're familiar with (or nipples) or http://use.perl.org/~petdance/journal/12908
13:17 jonathan ...that wasn't quite what I was expecting...
13:17 jimmy masak: or humanization? it is right ?
13:17 ruoso joined #parrot
13:17 jonathan purl++ # keeping us surprised
13:17 masak jimmy: not that I've heard.
13:17 masak jimmy: sounds like you're trying to transform something into a human.
13:17 lathos 人生化 is literally humanizing, but what you mean is "intuitive".
13:18 masak aye.
13:18 jimmy so i should say ' it is humanized'
13:18 lathos Intuitive.
13:18 purl intuitive is in the brain of the beholder or EXCEPT NIPPLES. EVERYONE understands nipples. or a word people apply to interfaces they're familiar with (or nipples) or http://use.perl.org/~petdance/journal/12908
13:19 jimmy lathos: your know chinese? good, a new one
13:19 jimmy s/your/you/
13:19 jimmy it is humanized. it is right ?
13:19 lathos I know 漢字
13:19 lathos Intuitive. Not going to say it again.
13:20 jimmy be good at it ?
13:20 lathos Well, I can read Japanese. I can read a little bit of Chinese.
13:20 jimmy there were so many words in english. and there were 4000 word in chinese. my memory was full.
13:20 bacek joined #parrot
13:21 riffraff question wrt HLLCompiler.pir
13:22 riffraff should'nt the interactiveroutine have a "print" phase?
13:22 jimmy lathos++
13:22 lathos jimmy: There are 4000 letters in Chinese. There are 26 letters in English. :)
13:22 jimmy that not letter
13:23 jimmy that was a half of word
13:23 riffraff as of now it does read, eval, possibly print PAST/PIR/POST, loop. IMHO it should also print the result of the last step
13:23 jimmy or it is a word sometimes
13:24 jonathan riffraff: You can insert your own stages.
13:24 jonathan riffraff: See Rakudo, we have a check phase too
13:25 jimmy just like 人 means person or people, and 人类 means human or human being
13:25 lathos Yep. So much more than 4000 words.
13:26 jimmy and no peoples or humans or persons with 's'
13:27 ElPenguin joined #parrot
13:28 riffraff jonathan, yes, but I have the feeling that the default should be to have a print of the operation result, I think it's the expected behaviour in all the interactive interpreters I know
13:28 riffraff (in rakudo too :) )
13:28 jonathan Yeah, Pugs I think did work like that
13:28 riffraff (err.. meaning "it would be nice to have")
13:29 jonathan I wouldn't object to Rakudo's REPL having that.
13:29 jonathan Especially if it showed the type of the thingy that resulted too.
13:29 * jonathan had his first REPL experience with ML
13:29 jonathan Maybe I've been unduly influenced. :-)
13:31 riffraff :)
13:32 ElPenguin it does seem like most interactive interpreters do that
13:32 Whiteknight joined #parrot
13:32 ElPenguin most lisp REPLs are just (loop (print (eval (read))))
13:32 riffraff another small thing, again in the HLLCompiler interactive method.. it seems to be setting the prompt at every iteration, shouldn't that be done only once at start?
13:33 jonathan I think it is useful to be able to per iteration
13:34 lathos That's not a REPL, that's a LPER.
13:34 jonathan Like, it'd be good if we could support typing
13:34 lathos If you did "{print (eval read)} loop" would it be a PERL?
13:34 jonathan > class Foo {
13:34 jonathan -    has $x;
13:34 jonathan - }
13:34 jonathan As in, you get a difference prompt when you open a curly.
13:34 lathos "Foo>"
13:35 jimmy moritz: https://trac.parrot.org/pa​rrot/attachment/ticket/20 i think i should tell you.
13:35 ElPenguin lathos: if you make function calls (args)funcname then it could be read eval print loop ;)
13:35 riffraff ah makes sense
13:35 jonathan We don't do that yet.
13:35 jonathan I'd love it if we did. :-)
13:46 particle joined #parrot
13:48 jimmy I really know nothing of the difference between humanization and humanizing.
13:52 masak jimmy: neither of them is a good translation of "人生化", as lathos pointed out. it is a _literal_ translation, but not a good one.
13:54 jimmy thanks. should be '人性化'. but, is there different between these two words?
13:54 masak which two words?
13:55 masak the point is that '人性化' is best translated as 'intuitive' or 'user-friendly' in English.
13:55 jimmy humanization and humanizing
13:55 lathos humanization is a noun, humanizing is adjective or participle.
13:55 masak the translation 'humanizing' conveys what the individual hanzi mean, but that is not relevant in an English translation.
13:56 lathos s/adjective/adverb/
13:56 masak lathos: no, adjective
13:56 lathos Yes. I'm confused.
13:56 lathos So 名詞 versus 形容詞 if that makes sense in Chinese.
13:57 jimmy hmm, with ing sometime it is noun too.
13:57 lathos Normally it's a participle used as a noun.
13:58 lathos "Surfing" is actually a participle, it just looks like a noun.
14:00 jimmy lathos: aye. to make us understanding the accidence, participle was re-named to noun in dict.
14:01 jimmy it is so called 'verb-noun'
14:01 mfredrickson joined #parrot
14:04 kj joined #parrot
14:11 jimmy I think, the handicap of learning chinese pronunciation and the handicap of learning english should be vocabulary.  i was always confused with the same meaning of words such as barrier,obstruction  and handicap.
14:17 lathos English is not the only language that has synonyms.
14:17 lathos 人生, 生涯, 生活 are all "life" in English.
14:18 lathos Oh, and so are 生命 and 命.
14:18 * ElPenguin is curious about how you input chinese characters
14:18 jimmy using chatzilla
14:19 jimmy hmm. 生活 is noun and verb, it is life and live
14:21 jimmy 生涯 means career . i.e: lathos's career
14:22 jimmy 生命 is a noun and 生 is verb
14:23 jimmy 人生观 means philosophy
14:25 jimmy 生 usually is not used  as a word
14:25 jimmy such as 'membership-based'
14:25 * bacek want LTM...
14:25 bacek badly
14:27 jimmy lathos: re-name means ‘重-命名’, the word 're' just like a word in chinese. and there were difference of 're' and build the word
14:28 bacek "Curiosity killed the cat".
14:29 bacek Guys, it's #parrot, not #chinese
14:29 jimmy sorry. i was just learning english.
14:29 jimmy i was chinese.
14:31 jimmy bacek: are you free now?
14:31 bacek jimmy: yes
14:32 jimmy and please deal with https://trac.parrot.org/pa​rrot/attachment/ticket/20. i was always blocked to create another patch for my patch.
14:33 bacek jimmy: Sorry, I'm not commiter...
14:33 dalek r33556 | moritz++ | trunk:
14:33 dalek : [tools/dev/mk_language_shell.pl] use tokens for matching literals.
14:33 dalek : Patch courtesy by Gabriele Renzi, riffraff++. Closes RT #61086
14:33 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33556
14:34 bacek jimmy: You can ask moritz :)
14:35 jimmy i am reading all over the docs. and finding some bugs, sometimes for my poor english, there was outdated docs with little change to make it's right, and i don't know how to describe it.
14:36 riffraff thanks moritz  :)
14:37 jimmy i should say rewrite it.
14:40 dalek r33557 | kjs++ | trunk:
14:40 dalek : [pirc] fix bugs in bytecode generator.
14:40 dalek : + can emit string constants, num constants
14:40 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33557
14:44 moritz afk
14:45 stockwellb joined #parrot
14:47 dalek r33558 | Whiteknight++ | trunk:
14:47 dalek : [Book] small updates and fixes to Chp4 and Chp6
14:47 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33558
14:49 dalek r33559 | Whiteknight++ | trunk:
14:49 dalek : [IMCC] remove .param type "name" => value syntax from IMCC, per RT#57410
14:49 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33559
14:53 iblechbot joined #parrot
15:00 riffraff is there  default stringish representation for everything inside parrot? It seems some things do not have get_string and so fail with "say"
15:00 riffraff (RTF $file welcome)
15:02 lathos Sounds like you know the answer to that question.
15:08 kj riffraff: you probably want to look into documentation about PMCs
15:09 dalek r33560 | kjs++ | trunk:
15:09 dalek : [pirc] documentation rocks!
15:09 dalek : + and cleanups too.
15:09 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33560
15:14 randi joined #parrot
15:19 dalek r33561 | Whiteknight++ | trunk:
15:19 dalek : [Book] add information about named parameters and optional parameters to chapter 4
15:19 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33561
15:26 particle1 joined #parrot
15:27 Theory joined #parrot
15:28 dalek r33562 | kjs++ | trunk:
15:28 dalek : [pirc] fix some bugs I introduced previous commit (reordering of statements)
15:28 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33562
15:35 dalek r33563 | kjs++ | trunk:
15:35 dalek : [pirc] fix heredoc preprocessor to handle comments at end of file properly. If you write a line comment on the last line, without a \n at the end, the # would be written to the intermediate file; the PIR lexer doesn't know how to handle #s, so error. Fix this. (easy fix: the {EOL} in a line comment becomes optional, so that the rule is also matched if there's no \n)
15:35 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33563
15:35 particle joined #parrot
15:35 stockwellb joined #parrot
15:36 workbench joined #parrot
15:37 dalek r33564 | fperrad++ | trunk:
15:37 dalek : [Lua] complex
15:37 dalek : - more tests
15:37 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33564
15:42 particle1 joined #parrot
15:44 dalek r33565 | kjs++ | trunk:
15:44 dalek : [pirc] update README.pod
15:44 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33565
15:47 particle joined #parrot
15:53 jimmy left #parrot
15:57 tetragon joined #parrot
15:58 particle joined #parrot
16:06 jhorwitz joined #parrot
16:07 register what does the set_reg_usage function do?
16:10 kj register: what file?
16:10 register kj
16:10 register don't ask me to read the pod documentation in the sourcecode:
16:11 register it says:
16:11 kj eh?
16:11 register locate Sub according to pc
16:11 purl Speak up, sonny!
16:11 register 1281  * - set register usage in context
16:11 register i am trying to figure out the jit source code...
16:11 kj I asked in what file that function is located
16:11 register it is located in src/jit.c
16:11 kj ... not to ask the pod documentation
16:11 kj s/ask/read/
16:12 kj ok. Well, I'mnot familiar with that code, but for each Sub, parrot allocates a number of registers that are needed for executing that sub
16:12 kj it might have something to do with that, but can't say for sure
16:13 register ok
16:13 register what exactly is a segment?
16:13 register from a parrot point of view?
16:13 kj bytecode consists of a nubmer of segements
16:13 register ok
16:13 kj a code segment, a constants segment
16:13 kj see pdd13 I think
16:13 register ok
16:13 kj byte bytecode pdd anyway
16:13 register thx kj you have been very helpful
16:13 kj ok, you're welcome
16:16 Whiteknight i've never even figured out the JIT code
16:16 register well i got the big picture and now i am beginning to slowly figuring out the details...
16:17 register but it is a slow process...
16:17 register it's pretty full of stuff
16:17 register and of details...
16:18 Theory joined #parrot
16:19 tak joined #parrot
16:21 dalek r33566 | duff++ | trunk:
16:21 dalek : [ncigen] Added a note to the README about the IPC::Run3 requirement
16:21 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33566
16:23 kj register: do you happen to know whether there's any mentioning of 'basic block' in the JIT code?
16:23 kj besides a code and constants segment, bytecode also has a 'jit' segment, and I'm just looking into that in bytecode generation
16:25 mberends joined #parrot
16:29 dalek r33567 | fperrad++ | trunk:
16:29 dalek : [win32] setup
16:29 dalek : fix RT #60986
16:29 dalek : Now, PrivilegesRequired=none (admin was the default value)
16:29 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33567
16:29 pmichaud PerlJam: ping
16:32 dalek r33568 | pmichaud++ | trunk:
16:32 dalek : [rakudo]: spectest-progress.csv update: 228 files, 4708 passing
16:32 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33568
16:51 dalek r33569 | Whiteknight++ | trunk:
16:51 dalek : [src/gc] add a small comment to smallobject.c that isn't worth pursuing now.
16:51 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33569
16:55 dngor joined #parrot
16:59 riffraff joined #parrot
17:04 jonathan parrotbug?
17:04 purl parrotbug is mailto:parrotbug@parrotcode.org or http://svn.perl.org/parrot/​trunk/docs/submissions.pod or see also "rakudobug" or needs to be converted to trac
17:04 jonathan rakudobug?
17:04 purl i guess rakudobug is mailto:rakudobug@perl.org
17:05 kj jonathan: Hi, do you know how the var-arg ops (set_returns, get_params, etc) are stored in bytecode?
17:06 kid51 joined #parrot
17:06 jonathan kj: Yes
17:06 jonathan kj: One moment, just dealing with something else, then will explain
17:06 kj okay, thx
17:06 dalek r33570 | jkeenan++ | testparrottest:
17:06 dalek : Add tests for 3 c_output* test functions.
17:06 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33570
17:07 kj In the mean time I'll just type here how I think it's done. So that might help in your explanation (or even drastically shorten it, if I'm right :-) )
17:08 pmichaud I have a very quick question that jonathan (or someone) might be to answer
17:08 pmichaud src/pmc/capture.pmc doesn't have a custom mark() subroutine.  Should it?
17:09 kj pmichaud: if the PMC has any extra data structures as attributes, my guess would be 'yes'
17:09 kj (I take it capture inherits from some other pmc?)
17:12 kj jonathan: (my view on var-args-bytecode) Let's say we want to emit get_params "0,0,0,0", $P0, $P1, $P2, $P3, then the following is emitted: <opcode for get_params>, <index for fixedpmcarray object in constants-table>, and finally this: 0, 1, 2, 3
17:13 pmichaud capture doesn't inherit from another pmc
17:13 pmichaud it does have extra PMC attributes
17:13 kj the fixedpmcarray should have the encoding of flags, and I would guess it also knows what register types 0-3 are.
17:14 kj pmichaud: in my (limited) understanding, the PMC is responsible for marking everythign it references
17:14 pmichaud kj: that's my understanding as well.
17:14 kj so, the custom mark method should do that , I'd say
17:15 pmichaud okay, I'll try that
17:15 pmichaud tnx
17:15 dalek r33571 | moritz++ | trunk:
17:15 dalek : [rakudo] add regression tests for errors in signatures
17:15 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33571
17:15 pmichaud oh, wait.  we have
17:15 pmichaud PObj_data_is_PMC_array_SET(SELF);
17:16 pmichaud so I think that must take care of it.
17:16 pmichaud maybe.
17:16 pmichaud yes, that's it.
17:19 jonathan pmichaud: Yes, that may (should, hopefully ;-)) take care of it.
17:19 jonathan I don't like using that flag so much because I think you gotta make sure you have a valid value in one of the cachevals too so it knows how many thingies to mark, IIRC.
17:20 pmichaud yes, in the int_val slot, I think.
17:20 pmichaud PMC_int_val(SELF)       = CAPTURE_DATA_SIZE;
17:21 jonathan Yes.
17:21 jonathan kj: You are pretty much correct, yes.
17:21 allison joined #parrot
17:22 jonathan The FixedPMCArray goes in the constants table.
17:22 dalek r33572 | jkeenan++ | testparrottest:
17:22 dalek : Add a 'c_output_unlike' test function.
17:22 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33572
17:22 jonathan For named parameters things are more interesting, as they get two entries in the array - one saying where the name comes from, and another saying where the value comes from.
17:23 jonathan But each value in the fixedintegerarray (is not pmcarray, sorry) is both the register type and any additional flags.
17:23 jonathan They are specified in PDD03.
17:26 kj ah yes, I see now. Thanks
17:27 jonathan pmichaud: How's assignment stuff going?
17:28 pmichaud I'm working on a capture optimization at the moment
17:28 pmichaud to try to speed up parsing
17:28 pmichaud but I think I've found an imcc bug
17:28 pmichaud nopaste coming
17:28 nopaste "pmichaud" at 72.181.176.220 pasted "code generated for regex / (hello) \s+ $0 /" (138 lines) at http://nopaste.snit.ch/14836
17:29 pmichaud another nopaste coming
17:29 nopaste "pmichaud" at 72.181.176.220 pasted "trace for matching 'hello hello' to regex in nopaste 14836" (118 lines) at http://nopaste.snit.ch/14837
17:30 pmichaud the problem line in the trace is:
17:30 pmichaud 230 local_branch P2, -70             P2=ResizableIntegerArray=PMC(0x81ec6a0)
17:31 pmichaud I _think_ this corresponds to the following line in the PIR source
17:31 pmichaud local_branch cstack, R14
17:31 pmichaud I don't understand the "-70"
17:32 jonathan What would R14 be?
17:32 jonathan Oh, the destination label?
17:32 pmichaud if you look in the source, it comes *after* the local_branch statement
17:32 pmichaud yes, destination label
17:33 jonathan -70 would suggest it thinks it came before
17:33 pmichaud and clearly the instructions being executed after the local_branch are not the ones at R14
17:33 dalek r33573 | moritz++ | trunk:
17:33 dalek : [rakudo] add test file to spectest.data (binding of closures to &variables)
17:33 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33573
17:34 pmichaud it looks as though it branched instead to R11_close
17:36 pmichaud This code was generated with some local patches in place
17:36 jonathan That's odd, because surely if there was a bug in this we'd have been seeing it long before now...
17:36 pmichaud but nothing significant
17:36 pmichaud I've basically switched PGE from using the Capture_PIR class to the Capture PMC
17:37 pmichaud let me see what I get without my local patches
17:37 pmichaud also, this is the _only_ failing test in the PGE test suite with my local modifications
17:37 pmichaud and the (PIR) code that is generated is correct.
17:38 pmichaud btw, Coke++ figured out what was going on with the .include stuff  :-)
17:38 pmichaud we had a file that was missing a =cut
17:38 pmichaud which was causing .includes to be treated as comments :)
17:40 dalek r33574 | jkeenan++ | testparrottest:
17:40 dalek : Add can_ok test for c_output_unlike.
17:40 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33574
17:40 moritz we should have a codingstd test that checks for missing =cut lines
17:40 jonathan pmichaud: Ah! :-)
17:40 jonathan lol
17:41 jonathan Will be interesting to see if it works without your local patches...and very odd too.
17:41 nopaste "pmichaud" at 72.181.176.220 pasted "PIR for / (hello) \s+ $0 / in trunk (no local mods)" (136 lines) at http://nopaste.snit.ch/14838
17:42 jonathan pmichaud: And that works?
17:42 nopaste "pmichaud" at 72.181.176.220 pasted "trace for nopaste 14838" (166 lines) at http://nopaste.snit.ch/14839
17:44 nopaste "pmichaud" at 72.181.176.220 pasted "code used to generate pir / traces" (17 lines) at http://nopaste.snit.ch/14840
17:44 pmichaud yes, it gives the correct value.
17:44 pmichaud but the trace looks _really_ odd to me
17:44 pmichaud I think I should realclean and try again
17:45 pmichaud in nopaste 14839, we have
17:45 pmichaud 230 local_branch P2, -70             P2=ResizableIntegerArray=PMC(0x81c0e54)
17:45 pmichaud which is the same problem I noticed in the earlier one
17:45 pmichaud so either I'm reading the trace wrong, or _somehow_ we're managing to "match" even with such an obvious bug in the code
17:46 pmichaud so, I'm going to backtrack and look again closely
17:46 pmichaud the program in 14840 is sufficient to generate both the PIR and the trace
17:47 pmichaud oh, I'm misreading the trace
17:48 pmichaud just a sec
17:48 register let me see if i have correctly understood this
17:48 register if a fixup is of tipe enum_fixup_sub
17:48 register then it's offset
17:48 pmichaud the line I'm thinking corresponds to R14 is actually
17:48 pmichaud local_branch cstack, R11_close
17:48 register its offset is a pointer in the constanct table
17:48 pmichaud which of course is what we're seeing.
17:49 register to a subroutine
17:49 pmichaud okay, forget all my nopastes -- I'll try again.
17:49 purl pmichaud, I didn't have anything matching all my nopastes -- i'll try again
17:54 * jonathan is thankful that there isn't an IMCC bug to try and find
17:54 pmichaud me too.
17:57 dalek r33575 | jkeenan++ | testparrottest:
17:57 dalek : Refactor C code used in CODE into .
17:57 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33575
17:59 pmichaud oh, I see the issue.
18:00 pmichaud interesting.
18:07 pmichaud bbiab
18:07 * jonathan hopes not *too* interesting...
18:08 pmichaud it has to do with whether the Capture PMC "does hash does array" or not
18:08 pmichaud Capture_PIR isn't "does array"
18:08 pmichaud Capture is.
18:09 pmichaud and PGE gets confused by that.
18:09 pmichaud back in 15
18:10 jonathan back after $time_it_takes_to_buy_beer
18:12 mberends joined #parrot
18:23 paco joined #parrot
18:28 PerlJam pm: pong
18:28 pmichaud PerlJam: nice work on :nth.  Unfortunately, it's wrong.
18:28 pmichaud :-)
18:28 pmichaud :nth doesn't mean "every"
18:29 PerlJam I wasn't sure about the interaction between :g, :nth(), and :x() and that seemed "nice" to me :)
18:29 pmichaud ah
18:29 pmichaud :nth(3)  means replace only the third occurrence
18:29 pmichaud :nth(2..4)  means replace the second through fourth occurrences
18:30 pmichaud the _easy_ way to do :nth is (I think) to smart match it against each repetition number
18:31 pmichaud that way  :nth( { .is_prime } )    will work, too.
18:32 PerlJam so ... should I check the pmc to see if it isa 'Sub' or isa 'Range' for those?  (how do Ranges come across?)
18:32 pmichaud no
18:32 pmichaud you just do a smart match on whatever you get
18:32 pmichaud let smart match take care of figuring out what you got
18:32 pmichaud that way it even works for things like
18:33 PerlJam smart matching in perl6 I understand.  I'm not sure I quite understand it in parrot.
18:33 pmichaud $P0 = 'infix:~~'(number, nthpmc)
18:33 pmichaud if $P0 ...
18:33 PerlJam (or maybe it's exactly the same and I have some sort of mental block)
18:34 pmichaud or you can perhaps get away with
18:34 pmichaud $P0 = nthpmc.'ACCEPTS'(number)
18:34 PerlJam so what should happen if there's both  :g and :nth(3) ?
18:34 pmichaud I would think that :nth(3) would take precedence
18:35 PerlJam why?
18:35 pmichaud ...but I wouldn't worry about that yet, honestly.
18:35 pmichaud I would kinda see :g :nth(3) as being overlapping constraints
18:35 pmichaud there is a case to be made that it means "keep doing :nth(3) as long as you can"
18:36 PerlJam sort of like ANDing them?
18:36 pmichaud yeah
18:36 pmichaud can also think of it that :nth and :x imply :g (at least to some minimum number needed to satisfy :nth and :x)
18:37 pmichaud those are probably questions for p6l
18:38 pmichaud but I'd say to get the basic :nth implementation correct, and then we can let the test-suite and actual use cases identify the interactions
18:40 PerlJam What's the real difference between 'infix:~~'(number,nthpmc) and nthpmc.'ACCEPTS'(number) ?  Is it just that the former is symmetric and the later isn't?
18:40 pmichaud smart match isn't symmetric
18:40 pmichaud at all.
18:41 * PerlJam makes a mental note to re-read S05  :)
18:41 pmichaud ...and S03, probably :-)
18:41 jonathan infix:~~ will end up calling .ACCEPTS
18:41 PerlJam so what's the difference?
18:41 pmichaud infix:~~ will also have some "syntactic smarts" in it
18:41 pmichaud so that   $x ~~ .method    ends up calling .method on $x instead of $_
18:41 jonathan But they're syntactic, so they'll be in the parser/actions.
18:42 pmichaud correct
18:42 pmichaud but it may also mean there's not really an 'infix:~~' sub at some point.
18:42 jonathan So at the PIR level, calling them there is identical, I think.
18:42 pmichaud I'd go with .ACCEPTS for now.
18:42 jonathan Ah, yes, true. We could translate straight to the call to .ACCEPTS.
18:42 pmichaud that's also more likely to do what you want for Junctions:    :nth(3|5|7)
18:43 * pmichaud recommends reviewing the synopsis before implementing any new feature in Rakudo.  :-)
18:43 * jonathan learnt this one the hard way.
18:43 jonathan Just because the synopsis *used* to have it the way you think it works... :-)
18:49 PerlJam Well, if I have some time tonight, I will re-implement :nth() then.
18:49 contingencyplan joined #parrot
18:50 pmichaud cool.
18:50 pmichaud that would be awesome.  I'll even see about getting the :3rd :1st :2nd adverbs to parse properly
18:50 PerlJam I figured last night's implementation was temporary anyway :)
18:50 pmichaud yeah, it concerned me a bit because it's headed down the wrong path (and I'm worried about it being copied into .match)
18:51 pmichaud I suppose we could say that .subst really ought to be implemented in terms of .match
18:51 pmichaud but I haven't figured out exactly how to do :global with :match yet
18:51 pmichaud (if you can figure that out from S05, that would help also :-)
18:52 PerlJam Is Match related to Capture at all?
18:52 pmichaud in PGE, Match isa Capture
18:53 PerlJam awesome
18:53 pmichaud I don't know if we'd definitively decided that it should be that way, but they have enough in common that it makes sense
18:53 pmichaud s/we'd/we've/
18:57 PerlJam So ... where exactly would you be parsing :1st and friends (IIRC, you should be able to use :23rd and :23st and :23nd as well)
18:57 pmichaud colonpair
18:57 purl i guess colonpair is really a term
18:57 paco joined #parrot
18:57 pmichaud it's an easy thing to add, if it's not there already
18:57 pmichaud (it's not.)
18:58 pmichaud and we should probably come up with an easy way to map adverb synonyms
18:58 pmichaud so that it's easy to say "give me either :global or :g"   or "give me :nth, :st, :nd, :rd, :th"
18:58 PerlJam yep
18:59 pmichaud I was thinking a private sub for now -- something like
18:59 pmichaud $P0 = '!get_option'(options, ':nth', ':st', ':nd', ':rd', ':th', 'default'=>1)
19:00 pmichaud of course, p6 allows a signature to specify both long and short name for an option... but we're not quite there yet (parrot calling conventions need work)
19:06 paco ;
19:06 paco \;
19:10 allison joined #parrot
19:17 chromatic joined #parrot
19:45 nopaste "pmichaud" at 72.181.176.220 pasted "why does tracing not know how to dump set_p_k_p ?" (25 lines) at http://nopaste.snit.ch/14841
19:45 pmichaud afk, lunch.
20:09 stockwellb joined #parrot
20:12 mj41 joined #parrot
20:52 masak joined #parrot
20:54 davidfetter joined #parrot
20:57 dmknopp joined #parrot
21:18 MariachiElf joined #parrot
21:31 TiMBuS joined #parrot
21:42 dalek r33576 | pmichaud++ | trunk:
21:42 dalek : [pge]:  Update PGE/Hs.pir so it doesn't directly access private @!list
21:42 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33576
21:43 pmichaud I'm getting test failures in t/op/calling.t
21:43 pmichaud t/op/calling.t    5  1280    98    5   5.10%  73-75 78 82
21:43 pmichaud r33575+
21:43 pmichaud (haven't done a bisect to see when this first started appearing)
21:45 dalek r33577 | pmichaud++ | trunk:
21:45 dalek : [tge]:  When iterating keyed values of TGE;Parser (Match) objects, use .hash()
21:45 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33577
21:46 dalek r33578 | pmichaud++ | trunk:
21:46 dalek : [core]:  Updates to Capture PMC
21:46 dalek : * Don't automatically create array/hash if simply fetching a value
21:46 dalek : * Allow set_pmc (setref op) to quickly release array/hash components
21:46 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33578
21:48 jonathan pmichaud: Optimizatoins?
21:48 pmichaud yes
21:48 pmichaud looks like about a 12% speedup in parsing.
21:48 jonathan Wow!
21:48 jonathan pmichaud++
21:48 pmichaud sorry, 12% speedup in parsing + code gen, which means the parsing speedup is actually a bit more than that.
21:49 jonathan That makes it even better.
21:49 pmichaud I have another couple of patches coming that might improve it more.
21:49 Whiteknight pmichaud++
21:49 jonathan ...and this is *before* Cursor, protoregexes and LTM...
21:49 pmichaud This also cleans up some code in TGE and other places that were making incorrect assumptions about Match objects
21:49 pmichaud yes, this is before all of those.
21:49 jhorwitz tewk: ping
21:49 pmichaud I got tired of waiting for "make spectest" to take so long, so I figured I'd go for the quick optimization :-)
21:49 Whiteknight protoregexes and LTM are going to speed up parsing?
21:50 pmichaud Whiteknight: I expect at least an order of magnitude improvement
21:51 jonathan Cursor change should give maybe another 10% though?
21:51 pmichaud I don't know... it might
21:51 pmichaud I'd guess closer to 5% to be conservative
21:51 jonathan OK.
21:51 pmichaud I'll be very happy if it's 10%
21:51 pmichaud (which it could be)
21:51 jonathan But it'll make knowing about line numbers easier?
21:51 pmichaud I also have a *big* utf8 improvement to do
21:51 jonathan Or more efficient?
21:51 pmichaud cursor will make line numbers very simple and efficient, yes.
21:51 jonathan Great.
21:52 jonathan Does that come after assignment and parameters? ;-)
21:52 pmichaud that is the next PGE enhancement
21:52 pmichaud yes, it comes after assignment and params
21:52 jonathan Great.
21:52 * jonathan will dig back into bytecode annotations early next week.
21:52 pmichaud excellent.  we should be timing the two items about right then.
21:53 jonathan Yup.
21:54 jonathan Maybe in January's Parrot release we ship a Rakudo that spits out line numbers and files. :-)
21:54 pmichaud Yes.
21:54 pmichaud that seems very likely.
21:54 chromatic joined #parrot
21:54 * jhorwitz perks up for line numbers
21:54 masak (line numbers and files)++
21:54 pmichaud chromatic: I think we can reject #43485
21:55 pmichaud I don't know that the issue was resolved, but a bunch of stuff has changed (including a TGE change I just committed) that perhaps invalidates the ticket.
21:56 stockwellb joined #parrot
21:56 dalek r33579 | pmichaud++ | trunk:
21:56 dalek : [pge]:  Workaround problem of trying to shift PMCs from a Hash iterator.
21:56 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33579
21:56 chromatic pmichaud, I agree.
21:59 dalek r33580 | pmichaud++ | trunk:
21:59 dalek : [pge]:  Switch PGE::Match to use Capture PMC instead of Capture_PIR objects.
21:59 dalek : This results in a 13% speed improvement in the "Rakudo actions.pm
21:59 dalek : benchmark" (was 45.75sec, now 39.80sec on my system).
21:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33580
22:01 * jonathan wonders what this does to make spectest
22:01 pmichaud should also be ~~ 13% improvement, I would think.
22:02 jonathan Nice.
22:02 pmichaud maybe slightly less, since Rakudo compilation isn't quite as efficient as NQP compilation
22:02 allison joined #parrot
22:02 jonathan It does have a slightly harder task to do. ;-)
22:03 stockwellb joined #parrot
22:03 pmichaud I'm improving PAST nodes next.
22:03 Aisling joined #parrot
22:04 jonathan More optimization?
22:04 pmichaud yes
22:04 pmichaud trivial to do, may result in a significant speed up (more likely a small one)
22:04 jonathan True, but the two together maybe give 15% overall. That's not bad!
22:05 pmichaud correct, that's what I'm thinking.
22:05 pmichaud and it's a speedup we all benefit from when doing language development.
22:05 pmichaud so I figured it was worth investing the time today.
22:07 pmichaud it also means I can look at deprecating Capture_PIR
22:09 jonathan Yes, I'll certainly be glad of it.
22:09 jonathan Though its a rather see-saw process.
22:10 jonathan We make it faster...then we add more tests...then we make it faster...then we run more tests... :-)
22:10 jonathan So hopefully we'll swallow up the gains soon, by passing lots more tests. ;-)
22:10 pmichaud probably.
22:10 purl Really? Probably? Are you Certain it's not certain? Are you sure it's unsure? I think you need to look harder.
22:11 stockwellb joined #parrot
22:38 particle joined #parrot
22:40 Limbic_Region joined #parrot
22:44 GeJ Good morning everyone
22:44 masak GeJ: evenin'
22:45 GeJ hej masak
22:45 masak :)
22:46 GeJ How are things in Sweden?
22:47 masak dark, chilly and moist.
22:48 GeJ bright, hot and dry for me. But that's probably because I'm on the other side of the planet.
22:48 masak might be, yes. :)
22:49 masak where exactly are you?
22:50 GeJ New Caledonia. A small island in the vicinity of Australia.
22:50 masak cool!
22:50 masak no wonder you always come in here saying 'good morning' when I'm about to go to bed :)
22:56 tak joined #parrot
23:02 allison joined #parrot
23:04 gmansi joined #parrot
23:08 ruoso joined #parrot
23:11 bacek pmichaud++ # My tests speeds up from 55 to 43 seconds!
23:12 bacek self-- # ...but still failing...
23:25 moritz I get some failures in t/op/calling.t
23:25 moritz are they worth reporting?
23:28 pmichaud I get them also.
23:28 pmichaud I think it's due to some imcc changes earlier.
23:29 LimbicRegion joined #parrot
23:30 pmichaud I suspect r33559 broke it
23:30 pmichaud the log says it removes the '.param pmc "a" => a' syntax, but they're still in the tests.
23:30 jonathan Ah.
23:31 jonathan Was that syntax deprecated already?
23:31 pmichaud yes, I think so.
23:31 jonathan OK, so it should just be a case of ripping out the tests.
23:31 pmichaud ...although it doesn't say anything about it in DEPRECATED
23:31 pmichaud so... I dunno
23:32 pmichaud also RT #57410
23:33 moritz oh, and t/spec/S05-transliteration/with-closure.t fails
23:33 moritz Method 'ord' not found for invocant of class 'PGE;Match'
23:34 pmichaud okay.  that might be due to some of the changes I made today.
23:34 Limbic_Region pmichaud - are you still doing prep work for prelude or has work in prelude begun?
23:34 pmichaud still doing prep work
23:34 pmichaud we have inline PIR working now, so we're getting close
23:34 pmichaud just need to update parameter handling, I think.
23:35 Limbic_Region right, I read that
23:37 pmichaud and reorganize the src/ directory.
23:37 Limbic_Region what is the preferred target for testing parrot these days?
23:37 pmichaud you mean as in os/platform?
23:38 Limbic_Region no, make test
23:38 Limbic_Region make fulltest
23:38 Limbic_Region etc
23:38 moritz 'make spectest'
23:38 Limbic_Region not rakudo
23:38 Limbic_Region parrot
23:38 pmichaud for parrot, 'make test'   or 'make test codetest'
23:38 moritz oh
23:38 pmichaud for rakudo, 'make spectest'
23:38 * moritz should really go to bed now
23:38 Limbic_Region sleep well moritz
23:40 pmichaud switching PAST to use Capture instead of Capture_PIR gives us another 7.5% speedup
23:40 jonathan Wow.
23:40 jonathan Almost 20% total speedup.
23:41 pmichaud yes, about 19.6% total
23:41 pmichaud I'm also running a test on the rx.t spectest, since it heavily uses PGE and Rakudo compilation
23:42 pmichaud ...except Test.pm isn't compiling at the moment
23:46 Limbic_Region ok, so it has been a while since I have ran make test for parrot
23:46 Limbic_Region and it is failing
23:46 Limbic_Region purl paste
23:46 purl rumour has it paste is (see: nopaste) or like glue but a little safer to sniff. or http://nopaste.snit.ch:8001/ or http://scsys.co.uk:8001/ anywhere shadowpaste is or mmm, sticky paste or You there! Eating the paste. or <see> 2 girls, 1 paste
23:47 nopaste "Limbic_Region" at 98.231.130.59 pasted "make test on Win32/MinGW - just svn up'd" (997 lines) at http://nopaste.snit.ch/14842
23:47 Limbic_Region is that anything to be concerned about?
23:50 bacek joined #parrot

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

Parrot | source cross referenced