Camelia, the Perl 6 bug

IRC log for #parrot, 2010-04-10

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 ruoso joined #parrot
00:00 cotto build looks good
00:00 cotto well, noisy but not broken
00:06 dalek parrot: r45489 | gerd++ | trunk (3 files):
00:06 dalek parrot: Initial work to generate a PDF file as Parrot book from POD files. The first version has only two chapters from two POD files. It works not on Windows because it use "sed".
00:06 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45489/
00:06 dalek parrot: r45490 | gerd++ | trunk/MANIFEST:
00:06 dalek parrot: Update MANIFEST to hold new files
00:06 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45490/
00:16 cotto Hmmm.  Some tests fail.
00:18 plobsing yeah, looks like a bunch of places are depending on null strings being NULL
00:18 cotto I'm pretty sure that's a bug now.
00:19 cotto sounds like it'll be annoying to fix though
00:19 plobsing I already fixed t/op/globals.t
00:26 cotto It'd be a good idea to see how some HLLs do with that change.
00:26 plobsing hmmm... good point
00:26 plobsing I'll start a branch
00:30 khairul joined #parrot
00:43 kid51 joined #parrot
00:55 dalek parrot: r45491 | plobsing++ | branches/stringnull:
00:55 dalek parrot: creating branch to make STRINGNULL the null string representation in PIR
00:55 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45491/
01:07 snarkyboojum joined #parrot
01:08 snarkyboojum left #parrot
01:13 cognominal cognominal pasted "I added the missing pair syntaxes in nqp" at http://paste.lisp.org/display/97593
01:17 GodFather joined #parrot
01:17 Andy joined #parrot
01:29 dalek parrot: r45492 | plobsing++ | branches/stringnull/src (3 files):
01:29 dalek parrot: make null $Sx set $Sx to stringnull
01:29 dalek parrot: also some easy fixes
01:29 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45492/
01:31 Whiteknight plobsing: I think chromatic is going to be very happy with this!
01:46 dalek parrot: r45493 | petdance++ | trunk (2 files):
01:46 dalek parrot: fixing consting on args.  Localized some vars.
01:46 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45493/
01:46 dalek parrot: r45494 | plobsing++ | branches/stringnull/src/hash.c:
01:46 dalek parrot: make hash keys respect stringnull as null
01:46 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45494/
01:50 cotto plobsing, http://lwn.net/Articles/315686/ might be of interest if you'll need to change a large amount of code.
01:50 cotto "Coccinelle is a tool to automatically analyze and rewrite C code."
01:52 plobsing cotto: sounds cool, but I've already got fulltest passing (ignoring distro tests currently failing in trunk)
01:52 cotto That doesn't mean you've found all the code that needs patching. ;)
01:52 cotto but good jorb
01:57 hercynium joined #parrot
01:59 kid51 joined #parrot
02:02 dalek parrot: r45495 | plobsing++ | trunk (3 files):
02:02 dalek parrot: correct PDF book tools wrt distro_test
02:02 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45495/
02:03 bubaflub joined #parrot
02:16 Whiteknight dukeleto: ping
02:24 Whiteknight cotto: that coccinelle thing looks awesome
02:29 cotto Yeah.  It'd take some of the sting out of making big changes to lots of parts of Parrot.
02:30 mikehh joined #parrot
02:33 cotto and if you want an excuse for some ocaml hacking, there it is
03:02 ash_ joined #parrot
03:07 dalek parrot: r45496 | petdance++ | trunk (2 files):
03:07 dalek parrot: updating annotations
03:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45496/
03:11 kid51 Coccinelle (23 August 1931�9 October 2006) was a French transsexual actress and entertainer. Hers was the first widely publicized sexual reassignment case
03:13 Andy Hooray for today's fun non-sequitur!
03:24 dalek parrot: r45497 | petdance++ | trunk/include/parrot/embed.h:
03:24 dalek parrot: removed function declarations for functions that  no longer exist
03:24 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45497/
03:24 dalek parrot: r45498 | petdance++ | trunk/include/parrot/gc_api.h:
03:24 dalek parrot: removed function declaration which is already in another file, properly headerized
03:24 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45498/
03:29 cotto Yeah.  That's not the one I'm interested in.
03:38 janus joined #parrot
04:14 dalek parrot: r45499 | petdance++ | trunk/src/scheduler.c:
04:14 dalek parrot: consting
04:14 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45499/
04:26 ttbot Parrot trunk/ r45500 MSWin32-x86-multi-thread make error http://tt.taptinder.org/file/cmdout/258074.txt ( http://tt.taptinder.org//bui​ldstatus/pr-Parrot/rp-trunk/ )
04:30 dalek parrot: r45500 | petdance++ | trunk (4 files):
04:30 dalek parrot: removed duplicated function declarations from interpreter.h.  Pointed source files at runcore_api.h if they needed one of the removed declarations
04:31 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45500/
04:38 jsut_ joined #parrot
04:52 eternaleye joined #parrot
05:02 Andy Any windows folks who can help me with this?
05:02 Andy I've got builds only failing on windows
05:03 ttbot Parrot trunk/ r45501 MSWin32-x86-multi-thread make error http://tt.taptinder.org/file/cmdout/258144.txt ( http://tt.taptinder.org//bui​ldstatus/pr-Parrot/rp-trunk/ )
05:05 dalek parrot: r45501 | petdance++ | trunk (5 files):
05:05 dalek parrot: more funcation annotations
05:05 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45501/
05:10 Andy never mind, function wasnt' tagged as PARROT_EXPORT
05:18 cotto What'd be the best place for pir-level line number tests?
05:20 chromatic joined #parrot
05:21 dalek parrot: r45502 | petdance++ | trunk (2 files):
05:21 dalek parrot: dynop_register has to be PARROT_EXPORT.
05:21 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45502/
05:21 dalek parrot: r45503 | petdance++ | trunk/include/parrot/io.h:
05:21 dalek parrot: removing unused macros and function declarations
05:21 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45503/
05:38 dalek parrot: r45504 | petdance++ | trunk/src/spf_render.c:
05:38 dalek parrot: consting
05:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45504/
05:46 Andy ok bed time
05:46 purl well, bed time is probably a good idea
06:02 sorear hmm.  chromatic's updates make me want to time a rakudobuild
06:03 chromatic Around 2:30 for me now, with a parallel build.
06:13 fperrad joined #parrot
06:14 dukeleto 'ello
06:15 bubaflub ello dukeleto. burning the midnight oil?
06:16 sorear chromatic: What do you mean by coalescing constant strings being a "huge memory win"?
06:16 sorear How big is huge?
06:17 sorear Are there 100MB of constant strings being created.... somewhere?
06:18 Austin sorear: The PCT stuff makes *lots* of copies of tokens and matching substrings.
06:18 Austin ... blah blah ... := PAST::NodeOfSomeKind.new(   :node( ~ $/ ) ... )
06:19 chromatic I profiled loading Perl 6's all PBC, and 90% of the strings were duplicates.
06:21 sorear chromatic: yeah, but how many strings are there?  50k?
06:21 chromatic Let me check.
06:22 plobsing chromatic: can you explain what is involved in Fix freeze/thaw of complex PMCs?
06:22 chromatic Looks like 327,566 strings get thawed from PBC to run "Hello, world!" in Perl 6.
06:23 chromatic plobsing, pmichaud knows better, but freezing something like a CallSignature PMC which contains other PMCs, or a hash or something.  Sometimes that's not reliable.  I don't know of a good test case.
06:23 chromatic Perhaps Jonathan or someone else in #perl6 knows what they need more.
06:24 fperrad_ joined #parrot
06:27 Austin sorear: Std.pm is 121k, with 22k words.
06:28 plobsing chromatic: regarding using a HoS for config, I've got Hash freeze/thaw working for more types including String => String, now the only blocker is a representation for Undef
06:28 chromatic The more relevant question is "How many unique words are there in the generated PIR?"
06:28 chromatic I saw that, that looks very good.
06:29 plobsing when I got 'null $Sx' more or less working, I saw a 1/6 reduction in size on the fpmc
06:36 chromatic I wonder if that'd work on other PBCs.
06:36 dukeleto i am learning how to abuse parrot strings
06:39 dukeleto i am using Parrot_str_to_cstring to get a C string representation of a Parrot_String, but I want to return that to Postgres. do i just need to make a copy of the value of the string and then call Parrot_str_free_cstring on the original ?
06:39 dukeleto or is it more complicated?
06:41 chromatic *Something* has to free the return value of Parrot_str_free_cstring().  Parrot won't do it for you automatically.
06:42 sorear str_to_cstring just returns a malloc-ish allocated value
06:42 sorear blizkost mixes it freely with mem_sys_free
06:42 sorear (blizkost probably needs to be fixed here, but it works fine for now)
06:43 sorear chromatic: Aha, so string uniqing is not so much a runtime memory issue as a startup time issue.
06:43 allison joined #parrot
06:46 allison dukeleto: how do I view the full text of a soc proposal?
06:46 chromatic Yes and no; the fewer strings allocated overall the fewer the GC has to trace/sweep.
06:47 dukeleto strcpy segfaults when I try to copy the string that str_to_string gives me
06:47 chromatic Besides that, if Parrot's already interned one of those strings, anything that tries to allocate one of them at runtime won't do anything other than look it up in the cache.
06:47 dukeleto allison: you should be able to login at http://socghop.appspot.com/
06:47 allison dukeleto: yah, done that
06:47 allison dukeleto: but it only shows me a spreadsheet of titles and proposers
06:48 allison dukeleto: no descriptions
06:48 dukeleto allison: i am looking at it now
06:49 chromatic Maybe you're not a registered mentor, allison?  For some reason I'm not either.
06:50 dukeleto allison: it used to work that clicking on the row brought you to the full proposal
06:50 dukeleto chromatic: you should be a registered mentor
06:50 chromatic I signed up, but then someone sent me a new registration and I wandered off and closed my browser eventually so I have no idea.
06:50 allison dukeleto: (I also can't vote or add myself as a mentor to a proposal)
06:51 dukeleto i think melange is hosed right now
06:51 dukeleto i can't seem to click on any rows of the admin pages
06:51 dukeleto i think the overload of the student deadline today probably has it hosed
06:51 allison chromatic: I know I'm registered as a mentor, because the menu gives me the option to "Resign as Mentor"
06:52 allison dukeleto: that makes sense, I'll try again later
06:52 dukeleto allison: if the problem persists, let me know
06:52 allison dukeleto: (some of the students email their proposals to parrot-dev, but not all)
06:52 allison dukeleto: will do, thanks
06:53 dukeleto allison: yes. i think we got at least 5 or 6 parrot proposals
06:53 cotto Wow.  wtg melange
06:53 cotto We have 7 Parrot-specific proposals.
06:54 dukeleto i am asking about it in #gsoc on freenode
06:55 cotto Yeah.  This is a bad time for Melange to be stupid.
06:55 chromatic Maybe Ken Mauer wrote it.
06:58 dukeleto evidently this is a known bug in melange
06:59 cotto I'd hope some would notice it.
06:59 dukeleto evidently the direct link can be URL-hacked
07:01 dukeleto hopefully they will fix it soon. i doubt it is a priority though
07:01 dukeleto back to my abuse of Parrot strings
07:02 dukeleto trying to returns strings from Parrot back to Postgres has left a lot of core files on my filesystem
07:02 dukeleto should I be using _COW functions?
07:03 chromatic That depends on how you're returning them and what you're doing with them.
07:05 dukeleto chromatic: http://github.com/leto/plparrot/commit/4​a007ea9548f9744cf34244fa07e3d783e17dbca
07:06 chromatic You shouldn't need the strcpy.
07:06 dukeleto chromatic: i didn't think so. it was a last ditch.
07:07 dukeleto chromatic: but i just realized i defined copy incorrectly
07:07 dukeleto chromatic: it segfaults in a memcpy deep in postgres core if I don't strcpy
07:08 chromatic That I can't explain.  It's just a malloced string.
07:10 dukeleto chromatic: what do I do about free'ing the cstring ?
07:11 dukeleto chromatic: i need to return a copy of it to Postgres, which never "returns"
07:12 dukeleto chromatic: none of that stuff seems to have tests
07:12 chromatic Something has to free that string.  If you strcpy() a string and send it to Postgres, Postgres has to free it too.
07:15 dukeleto hmmm. i guess i need to see how the other PL's do this
07:17 chromatic Parrot_str_to_cstring() returns a malloced, NULL-terminated C string.  There's nothing special about that.
07:18 dukeleto PL/Perl uses SvPV(x, PL_na) and then returns that to Postgres, without free'ing
07:19 chromatic SvPV returns a pointer to an allocated string.
07:19 sorear SvPV returns a pointer directly into the Perl5 allocated string object
07:19 chromatic No copy there.
07:19 sorear it will become invalid if the string is modified in any way that could lengthen it or add non-8-bit characters
07:20 szabgabx joined #parrot
07:21 sorear possibly relevant: all perl5 scalars which are dual-use become dualvars.  $x = 2; print $x;  # $x now has a valid string pointer, which is every bit as authoritative as the integer value
07:22 dukeleto i think there is some PG magic sausage that I am not cooking correctly
07:23 chromatic Does print really set POK?  do_print() checks IOK.
07:24 chromatic Devel::Peek says otherwise.
07:26 sorear "$x" then
07:26 sorear I was looking for the simplest example of a stringifying function
07:27 dukeleto i think the parrot side of things is OK, and I am wading through a mucky swamp of Postgres right now. Not out of the woods yet
07:28 chromatic I just wrote a section on coercions for Modern Perl, and I hoped I had the automatic dualvars stuff right.
07:35 sorear rakudo build finished in 16m real 13m user
08:19 tcurtis joined #parrot
08:37 snarkyboojum joined #parrot
09:04 JimmyZ joined #parrot
09:10 jrtayloriv joined #parrot
09:19 lucian joined #parrot
09:41 payload joined #parrot
09:43 payload1 joined #parrot
09:43 payload joined #parrot
09:44 payload1 joined #parrot
09:52 dalek parrot: r45505 | mikehh++ | trunk/tools/docs/filename_and_chapter.pl:
09:52 dalek parrot: fix perlcritic failures - shebang line, use strict/warnings, add coda and remove hard tabs
09:52 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45505/
10:05 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33098), fulltest) at r45506 - Ubuntu 10.04 beta amd64 (gcc with --optimize)
10:09 dalek parrot: r45506 | mikehh++ | trunk/tools/docs/book-to-latex.pl:
10:09 dalek parrot: fix perlcritic failures - shebang line, add use warnings, add coda
10:09 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45506/
10:35 Whiteknight joined #parrot
10:53 Whiteknight good morning, #parrot
12:08 payload joined #parrot
12:08 Coke joined #parrot
12:10 kid51 joined #parrot
12:11 kid51 What is this "melange" everybody is talking about?
12:17 bacek kid51, "spice" from Herbert's Dune? :)
12:17 Whiteknight kid51: the web interface software for the google SOC program
12:50 kid51 joined #parrot
12:51 * kid51 thinks a script at github.com just crashed his computer
13:21 payload joined #parrot
13:35 bacek msg chromatic If you can take care about str_replace/str_append on immutable string branch it will be very helpful. I'm cleaning charset/encodings atm.
13:35 purl Message for chromatic stored.
13:36 payload joined #parrot
13:41 dalek parrot: r45507 | bacek++ | branches/immutable_strings_part1/src/string/api.c:
13:41 dalek parrot: Add helper clone_string function
13:41 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45507/
13:41 dalek parrot: r45508 | bacek++ | branches/immutable_strings_part1 (2 files):
13:41 dalek parrot: Merge str_chopn_inplace with str_chopn
13:41 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45508/
13:42 dalek parrot: r45509 | bacek++ | branches/immutable_strings_part1 (5 files):
13:42 dalek parrot: Remove inplace versions of case-changing functions
13:42 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45509/
13:42 dalek parrot: r45510 | bacek++ | branches/immutable_strings_part1/src/string/api.c:
13:42 dalek parrot: Remove redundant calls to make_writeable. It's freshly allocated STRING with enough storage.
13:42 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45510/
13:42 dalek parrot: r45511 | bacek++ | branches/immutable_strings_part1 (2 files):
13:42 dalek parrot: Make clone_string public. It will be useful in charset/encoding
13:42 dalek parrot: manipulating functions.
13:42 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45511/
13:42 dalek parrot: r45512 | bacek++ | branches/immutable_strings_part1/src/library.c:
13:42 dalek parrot: Remove redundant usage of Parrot_str_copy
13:42 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45512/
13:44 bacek msg chromtic Also, all function documentation require some love.
13:44 purl Sorry, I've never seen chromtic before.
13:51 szabgabx joined #parrot
13:54 Andy joined #parrot
13:58 dalek parrot: r45513 | bacek++ | branches/immutable_strings​_part1/src/string/encoding (2 files):
13:58 dalek parrot: Don't update string inplace in encoding manipulations
13:58 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45513/
13:58 dalek parrot: r45514 | bacek++ | branches/immutable_strings​_part1/src/string/charset (6 files):
13:58 dalek parrot: Don't update string inplace in charset manipulations
13:58 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45514/
13:58 dalek parrot: r45515 | bacek++ | branches/immutable_strings_part1 (6 files):
13:58 dalek parrot: Remove inplace version of charset/encoding functions
13:58 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45515/
13:58 dalek parrot: r45516 | bacek++ | branches/immutable_strings​_part1/src/string/charset (2 files):
13:58 dalek parrot: Rerun headerizer
13:58 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45516/
14:01 ash_ joined #parrot
14:20 ash_ neat blog post on the llvm http://blog.llvm.org/2010/04/​intro-to-llvm-mc-project.html
14:28 tetragon joined #parrot
14:44 ash_ joined #parrot
14:45 mj41_ joined #parrot
14:46 particle1 joined #parrot
14:47 dalek parrot: r45520 | bacek++ | branches/immutable_strings_par​t1/src/string/encoding/ucs2.c:
14:47 dalek parrot: Remove ucs2 inplace functions.
14:47 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45520/
14:47 dalek parrot: r45521 | bacek++ | branches/immutable_strings_part​1/src/string/encoding/utf16.c:
14:47 dalek parrot: Remove utf16 inplace functions
14:47 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45521/
14:47 dalek parrot: r45522 | bacek++ | branches/immutable_strings_par​t1/src/string/encoding/utf8.c:
14:47 dalek parrot: Update utf8.to_encoding. Remove inplace functions.
14:47 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45522/
14:47 dalek parrot: r45523 | bacek++ | branches/immutable_strings_par​t1/src/string/encoding/ucs2.c:
14:47 dalek parrot: Update ucs2.get_codepoints.
14:47 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45523/
14:47 dalek parrot: r45524 | bacek++ | branches/immutable_strings_part1/src/string/api.c:
14:47 dalek parrot: Add WARN_UNUSED_RESULT to str_replace.
14:47 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45524/
14:47 dalek parrot: r45525 | bacek++ | branches/immutable_strings_part1/src/string/api.c:
14:47 dalek parrot: Initial reimplementation of str_replace
14:47 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45525/
14:48 dalek parrot: r45526 | bacek++ | branches/immutable_strings_part1/src/string/api.c:
14:48 dalek parrot: Update str_append to allocate new string.
14:48 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45526/
14:48 dalek parrot: r45527 | bacek++ | branches/immutable_strings_part​1/src/string/encoding/utf16.c:
14:48 dalek parrot: Allocate result early in utf16.to_encoding.
14:48 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45527/
14:48 dalek parrot: r45528 | bacek++ | branches/immutable_strings_part1/src/string/api.c:
14:48 dalek parrot: Properly clone string (including charset/encoding).
14:48 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45528/
14:48 dalek parrot: r45529 | bacek++ | branches/immutable_strings_part1/src/string/api.c:
14:48 dalek parrot: Copy original string fields into dest in str_replace.
14:48 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45529/
14:49 mikehh joined #parrot
14:50 betterwosld joined #parrot
14:53 PerlJam joined #parrot
14:53 patspam joined #parrot
14:54 magnachef joined #parrot
14:55 TimToady joined #parrot
14:56 s1n joined #parrot
14:56 Mokurai joined #parrot
14:58 NotFound joined #parrot
15:01 knewt joined #parrot
15:20 dalek parrot: r45530 | bacek++ | branches/immutable_strings_part1/src/string/api.c:
15:20 dalek parrot: Fix typo - copy memory into dest, not src.
15:20 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45530/
15:20 dalek parrot: r45531 | bacek++ | branches/immutable_strings_part1/t/op/string.t:
15:20 dalek parrot: Remove useless test.
15:20 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45531/
15:37 clinton joined #parrot
15:37 purl joined #parrot
15:37 solarion_ joined #parrot
15:37 confound joined #parrot
15:37 Coke joined #parrot
15:37 eternaleye joined #parrot
15:37 silug joined #parrot
15:37 rbuels joined #parrot
15:37 Austin joined #parrot
15:37 cotto_work joined #parrot
15:37 dngor joined #parrot
15:37 bacek joined #parrot
15:37 cosimo joined #parrot
15:37 wagle joined #parrot
15:37 PacoLinux joined #parrot
15:37 GeJ joined #parrot
15:37 estrabd joined #parrot
15:37 treed joined #parrot
15:37 Infinoid joined #parrot
15:37 Tene joined #parrot
15:37 bacek_at_work joined #parrot
15:37 baest joined #parrot
15:37 sri joined #parrot
15:37 nopaste joined #parrot
15:37 Hunger joined #parrot
15:37 he joined #parrot
15:37 dukeleto joined #parrot
15:37 TiMBuS joined #parrot
15:37 slavorgn joined #parrot
15:37 athomason joined #parrot
15:37 eiro_ joined #parrot
15:37 sorear joined #parrot
15:50 bacek opbots trust sorear
15:50 slavorg Ok
15:50 slavorgn Ok
15:51 darbelo trust no one.
15:53 dalek parrot: r45532 | bacek++ | branches/immutable_strings_part1 (2 files):
15:53 dalek parrot: Resurrect str_copy
15:53 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45532/
15:53 dalek parrot: r45533 | bacek++ | branches/immutable_strings_part1/src/string (5 files):
15:53 dalek parrot: Use Parrot_str_copy in case of sharing buffer
15:53 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45533/
15:53 dalek parrot: r45534 | bacek++ | branches/immutable_strings_part1/src/ops/set.ops:
15:53 dalek parrot: Clone string in op clone.
15:53 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45534/
16:09 theory joined #parrot
16:09 dalek parrot: r45535 | bacek++ | branches/immutable_strings​_part1/src/ops/string.ops:
16:09 dalek parrot: HACK to enable Test::More to run
16:09 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45535/
16:09 Whiteknight joined #parrot
16:18 darbelo That... didn't go well for coretest.
16:19 darbelo We need to explain to our strings that when they don't have a buffer faking it is a bad idea.
16:21 Whiteknight our strings are too stupid to explain things to them
16:22 darbelo I know some very didactic uses of a hacksaw.
16:25 tcurtis joined #parrot
16:26 Whiteknight good afternoon, tcurtis
16:27 tcurtis Good afternoon.
16:28 Whiteknight tcurtis: where do you go to school?
16:30 tcurtis My high school? Camden Central High School in Camden, TN. University? starting at the University of Chicago this fall.
16:31 Whiteknight nice
16:34 Whiteknight I read camden and I thought you were near me
16:35 Whiteknight but, no such luck
16:43 darbelo Say, how many proposals did TFP get in the end?
16:44 tcurtis Afraid not, Whiteknight.
16:44 allison darbelo: looks like 23
16:44 Whiteknight darbelo, 24
16:45 allison darbelo: but we won't know how many we'll be funded for until next week
16:45 allison darbelo: usually around 8
16:46 Whiteknight some of the best propoals were for parrot, I think
16:46 allison Whiteknight: agreed
16:47 allison Whiteknight: but, we're only 7 of the total proposals
16:47 Whiteknight true
16:47 Whiteknight it will be heartbreaking if we have to say no to some of these
16:47 cotto Are we planning on having PaFo as a separate org next year?
16:47 darbelo It's good to hear that parrot has the best proposals, but kind of sad for the rest of the perl community.
16:48 cotto There are some good-looking perl and Rakudo proposals too.
16:48 cotto s/perl/perl 5/
16:49 Whiteknight allison: two students submitted two proposals, so we really only have 5
16:50 darbelo OTOH, I can see how it'd be difficult to think of something that isn't already in the CPAN ;)
16:50 TiMBuS joined #parrot
16:50 Whiteknight ...and traitor darbelo could get acceptd by another org
16:50 Whiteknight :)
16:51 darbelo My prefference is on this one, if it makes you feel better.
16:53 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33104), fulltest) at r45535 - Ubuntu 10.04 beta i386 (gcc with --optimize)
16:54 chromatic joined #parrot
16:55 ash_ Whiteknight: in my nq-nqp i got scopes working and some basic object support, so i'll be trying to implement code generation next for basic ops (like + -  * /)
16:56 Whiteknight ash_: no
16:56 Whiteknight ...
16:56 ash_ ?
16:56 Whiteknight ash_: nice
16:56 Whiteknight (my brain is retarded today)
17:15 dalek parrot: r45536 | mikehh++ | trunk/src/pmc/hash.pmc:
17:15 dalek parrot: add some casts to get src/pmc/hash.pmc to build with g++
17:15 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45536/
17:15 Andy joined #parrot
17:31 dalek parrot: r45537 | darbelo++ | trunk/src/gc/alloc_resources.c:
17:31 dalek parrot: Remove some dead code that was previously wrapped in '#if 0'
17:31 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45537/
17:32 tcurtis cotto: should I answer your questions here on IRC or in a comment on my proposal?
17:34 Andy joined #parrot
17:39 ash_ joined #parrot
17:46 Andy joined #parrot
17:48 dalek parrot: r45538 | mikehh++ | trunk/src/pmc/hash.pmc:
17:48 dalek parrot: last commit made line length too long
17:48 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45538/
17:53 darbelo Whiteknight: ping
18:00 tcurtis cotto: I went ahead and answered in a comment on my proposal.
18:02 Whiteknight darbelo: pong
18:02 Whiteknight tcurtis++
18:03 darbelo Whiteknight: Do you know why is the STRING structure a superset of the Buffer one?
18:05 chromatic Uniformity of treatment in the GC, I thought.
18:05 Whiteknight darbelo: everything gets cast to a Buffer in the GC, so we can access the flags pointer
18:05 cotto tcurtis, that's the best idea
18:06 cotto It's nice that proposals are clickable again.
18:07 darbelo Ok. Then strings that lack a backing buffer shouldn't fake one, right?
18:07 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33107), fulltest) at r45538 - Ubuntu 10.04 beta i386 (g++ with --optimize)
18:10 chromatic Right.
18:13 darbelo That might require some work. I just made external strings set their _bufstart pointyer to NULL and a number of places went kaboom.
18:15 darbelo Biggest one was freeze/thaw, since it assumed that casting a STRING into a Buffer was a valid conversion strategy.
18:18 iblechbot joined #parrot
18:19 tcurtis left #parrot
18:19 tcurtis joined #parrot
18:29 tcurtis Coke: just noticed the message(mostly because I didn't know how to check it). That's a good point. On a related note, a PAST optimization framework should probably include a way to disable expensive optimizations for eval()(although TCO should probably always be applied) and similar situations where the time saved by the optimizations might be less than the time spent applying them.
18:29 chromatic Agreed.
18:29 Whiteknight tcurtis: have you seen the optimization system used by LLVM?
18:30 Whiteknight each optimization stage is an object, and they get added in explicitly
18:30 tcurtis I haven't personally used it, but I have looked at it a little and was planning to look at it more thoroughly for inspiration.
18:32 darbelo Whiteknight: We already have a way to insert arbitrary stages into the souce->PAST->POST->PIR translation.
18:33 tcurtis darbelo: more info on this, please?
18:35 darbelo The POD in HHLCompiler has a good explanation fo the basic idea.
18:35 chromatic There's something in HLLCompiler that lets you register... that.
18:35 darbelo addstage() IIRC.
18:36 chromatic That sounds right.
18:38 darbelo What we don't have is good library for handling PAST trees and transforming them.
18:39 ash_ tcurtis: have you read the dragon book? chapters 6, 8, and 9 would probably be useful for your project, they talk about some nice things that would be worth implementing at the PAST level (things like dead code elimination, constant propagation, etc.)
18:39 chromatic The library and its API is the most important part.
18:46 tcurtis ash_: I haven't yet, but if my proposal gets funded, I plan to use some of the initial money to buy some relevant books. The dragon book would probably be a pretty good choice for that.
18:56 tcurtis Transforming PASTs will be the main focus of the project, but setting up a standard way to choose your optimizations with PCT compilers(from the command line, for example) would also be useful, since unlike LLVM's optimizations, it's working in the middle of the compilation process rather than at the end.
18:58 tcurtis So you can't just run opt on your bytecode like you can with LLVM.
18:59 Whiteknight I'm looking forward to this project
18:59 chromatic Oh, there's no reason we can't make it possible to optimize and rewrite a PBC.
19:00 tcurtis There isn't a way to decompile from PBC to PAST, though, is there?
19:00 chromatic Not currently.
19:01 ash_ you could have different levels of optimization for different intermediate representations
19:02 Whiteknight let's start with optimizing PAST
19:02 Whiteknight and then we can shoot for optimizing all sorts of other things
19:02 chromatic Sure, I'm suggesting not to rule out anything useful in the future, design-wise.
19:04 ash_ is there a point in the PCT where objects become statically typed?
19:05 Whiteknight no
19:05 ash_ ah, well, never mind then
19:06 Whiteknight it's dynamicly-typed all the way down
19:06 darbelo ... until you reach turtles.
19:07 Whiteknight :)
19:07 tcurtis I wasn't ruling out PBC optimizations; just pointing out that one can't optimize PBC with PAST optimizations unless we develop a decompiler from PBC back up to PAST.
19:08 chromatic Or a PAST-compliant interface to PBC.
19:09 dalek parrot: r45539 | fperrad++ | trunk/tools/dev/pbc_to_exe.pir:
19:09 dalek parrot: [win32] remove an unneeded slash/backslash conversion
19:09 dalek parrot: (checked with distutils)
19:09 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45539/
19:11 tcurtis Wouldn't that essentially still involve creating a PAST from a PBC?
19:13 chromatic It depends on which stages you want to optimize.
19:20 kid51 joined #parrot
19:24 lucian joined #parrot
19:34 dalek kakapo: 904c0d0 | austin++ |  (3 files):
19:34 dalek kakapo: Added Type Matcher, with some tests.
19:35 dalek kakapo: Signed-off-by: Austin Hastings <Austin_Hastings@Yahoo.com>
19:35 dalek kakapo: review: http://gitorious.org/kakapo/kakapo/commit​/904c0d03bff7490d07b782d77baebe2a2794c55b
19:45 Mokurai1 joined #parrot
21:38 bacek_ joined #parrot
21:40 bacek ~~
21:41 bacek clock?
21:41 purl bacek: LAX: Sat 2:41pm PDT / CHI: Sat 4:41pm CDT / NYC: Sat 5:41pm EDT / LON: Sat 10:41pm BST / BER: Sat 11:41pm CEST / IND: Sun 3:11am IST / TOK: Sun 6:41am JST / SYD: Sun 7:41am EST /
21:46 bacek Morning...
21:47 allison joined #parrot
21:52 Whiteknight good morning bacek!
21:52 dalek parrot: r45540 | allison++ | trunk (2 files):
21:52 dalek parrot: [cage] Add tests for sub objects and how they're stored in the namespace.
21:52 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45540/
21:52 dalek parrot: r45541 | allison++ | trunk/t/pmc/namespace-subs.t:
21:52 bacek Whiteknight, aloha
21:52 dalek parrot: [cage] Add coding standard file attributes to new test file.
21:52 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45541/
21:52 Whiteknight later in the day than most of my mornings
22:03 yjh joined #parrot
22:09 bacek seen chromatic
22:09 purl chromatic was last seen on #parrot 2 hours, 55 minutes and 48 seconds ago, saying: It depends on which stages you want to optimize.
22:17 joeri joined #parrot
22:22 chromatic I'm here, briefly.
22:28 bacek chromatic, any objections about removing 2-args ops?
22:29 chromatic I'm not sure we have to.  I want to look at them first.
22:29 bacek set $S0, $S1; chopn $S0, 1; is($S0, $S1)
22:30 bacek (This is outline of one of the tests in t/op/string.t)
22:30 bacek After chopn $S0 will be different from $S1
22:31 bacek But inplace semantic (and trunk as well) requires to update $S1
22:32 kid51 joined #parrot
22:32 chromatic Hm, good point.
22:37 chromatic I don't think we have to remove those ops, but that semantic can't stay.
22:39 bacek It will be very confusing from developer POV...
22:39 bacek (And we are missing opportunity to reduce number of ops :)
22:39 chromatic Eventually they do have to go.  I think we can avoid doing that right now though.
22:40 chromatic In other words, don't borrow trouble from the future.
22:40 chromatic ... unless it's too much work to make them behave.
22:40 chromatic I want to get Parrot compiling and passing most tests first, though.
22:41 chromatic But first, I must decommute.
22:43 bacek chromatic, it will be much easy to remove them and fix places where they were used.
22:43 bacek (comparing to find all places and fix code to new semantic)
22:50 snarkyboojum joined #parrot
22:53 nopaste joined #parrot
22:53 TonyC joined #parrot
23:31 payload joined #parrot
23:34 payload1 joined #parrot
23:46 dalek parrot: r45542 | bacek++ | branches/immutable_strings_pa​rt1/include/parrot/charset.h:
23:46 dalek parrot: Made case-changing function to return string.
23:46 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45542/
23:46 dalek parrot: r45543 | bacek++ | branches/immutable_strings_par​t1/src/string/charset/ascii.c:
23:46 dalek parrot: Update ascii charset case-changing functions to return new string.
23:46 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45543/
23:46 dalek parrot: r45544 | bacek++ | branches/immutable_strings_part​1/src/string/charset/binary.c:
23:46 dalek parrot: Update binary charset case-changing functions.
23:46 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45544/
23:47 nopaste "bacek" at 58.107.108.21 pasted "coretest result on immutable_string branch" (49 lines) at http://nopaste.snit.ch/20236
23:48 bacek msg chromatic take a look at http://nopaste.snit.ch/20236
23:48 purl Message for chromatic stored.
23:51 kid51 Do those test results indicate progress?
23:54 bacek kid51, yes. At least it compiles and able to pass quite few of tests :)
23:58 kid51 good news!
23:58 kid51 time to get out of the house.

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

Parrot | source cross referenced