Camelia, the Perl 6 bug

IRC log for #parrot, 2010-09-01

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:02 Psyche^ joined #parrot
00:08 Patterner left #parrot
00:08 Psyche^ is now known as Patterner
00:11 NotFound whiteknight: I just looked at metadata/kakapo.json
00:12 nwellnhof left #parrot
00:12 whiteknight hmmm
00:14 whiteknight if I generate that file in kakapo now, it gives me parrot_setup
00:16 NotFound Can't you just hand edit it?
00:19 whiteknight I figured it out
00:19 whiteknight :setup('setup.nqp')
00:24 kid51 left #parrot
00:29 ruoso joined #parrot
00:39 cotto ~~
00:52 cotto headerizer is broken
00:53 cotto actually, it might just need a reconfig
00:53 cotto yup.  It's fine now.
00:55 Topic for #parrot is now Parrot 2.7.0 "Australian King" Released! | parrot.org Log:  irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | close 25 tickets (24 to go), merge outstanding branches; profile your favorite PIR for memory leaks with valgrind
01:06 dalek TT #43 closed by cotto++: auto-headerize PIRC sources
01:06 dalek TT #43: http://trac.parrot.org/parrot/ticket/43
01:06 dalek TT #29 closed by cotto++: Add more files to the tutorial
01:06 dalek TT #29: http://trac.parrot.org/parrot/ticket/29
01:06 Topic for #parrot is now Parrot 2.7.0 "Australian King" Released! | parrot.org Log:  irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | close 25 tickets (23 to go), merge outstanding branches; profile your favorite PIR for memory leaks with valgrind
01:37 whiteknight left #parrot
01:38 hercynium left #parrot
01:45 hercynium joined #parrot
01:50 kid51 joined #parrot
02:02 dalek parrot: r48741 | jkeenan++ | trunk (65 files):
02:03 dalek parrot: Merge detect_llvm branch into trunk.  Adds configuration step auto::llvm to detect Low Level Virtual Machine (LLVM) and associated test file.
02:03 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48741/
02:03 dalek parrot: r48742 | jkeenan++ | branches/detect_llvm:
02:03 dalek parrot: Branch has been merged into trunk and is no longer needed at HEAD.
02:03 purl i already had it that way, dalek.
02:03 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48742/
02:03 GodFather joined #parrot
02:19 dalek parrot: r48743 | jkeenan++ | branches/gsoc_threads/include/parrot/threads.h:
02:19 dalek parrot: [codingstd] c_macro_args: wrap 2 arguments.
02:20 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48743/
02:20 dalek parrot: r48744 | jkeenan++ | branches/gsoc_threads/include/parrot/events.h:
02:20 dalek parrot: [codingstd] c_header_guards.
02:20 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48744/
02:20 dalek parrot: r48745 | jkeenan++ | branches/gsoc_threads/t/src/threads_io.t:
02:20 dalek parrot: [codingstd] Add coda.
02:20 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48745/
02:20 dalek parrot: r48746 | jkeenan++ | branches/gsoc_threads/src/pmc/pmclist.pmc:
02:20 dalek parrot: [codingstd] c_function_docs.
02:20 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48746/
02:20 dalek parrot: r48747 | jkeenan++ | branches/gsoc_threads/src/threads.c:
02:20 dalek parrot: [codingstd] c_parens.
02:20 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48747/
02:28 kid51 left #parrot
02:35 janus left #parrot
02:36 GodFather left #parrot
02:38 mikehh left #parrot
02:40 bluescreen joined #parrot
02:46 Infinoid left #parrot
02:48 janus joined #parrot
02:51 Infinoid joined #parrot
03:02 tcurtis Are comparisons between signed and unsigned types potentially unproductive in C?
03:02 tcurtis s/unproductive/problematic/
03:05 cotto they're good to avoid
03:06 chromatic Are you looking at the packfile warnings?
03:07 mikehh joined #parrot
03:07 tcurtis There are a few other warnings about it in charsets and IMCC, also.
03:08 chromatic The problem is losing precision, if you overflow the max signed value or invalid comparisons of a negative to a positive.
03:08 chromatic Most of the warnings I've seen are using a signed integer as a loop counter compared to an unsigned "How many did we allocate?" value.
03:09 chromatic That's C for you; no one expected iterators when devising the PDP memory model.
03:11 tcurtis Is it worth changing those instances to use an unsigned loop counter?
03:13 chromatic Yes.
03:28 FullMetalHarlot joined #parrot
03:28 FullMetalHarlot left #parrot
03:31 hercynium left #parrot
03:58 ash_ joined #parrot
04:48 sri joined #parrot
04:54 mikehh All tests PASS (pre/post-config, make corevm/make coretest, test, fulltest) at r48747 - Ubuntu 10.04 i386 (g++)
05:28 Coke left #parrot
05:34 Coke joined #parrot
06:09 uniejo joined #parrot
06:21 cxreg left #parrot
06:23 sorear seen pmichaud
06:23 purl pmichaud was last seen on #parrot 1 days, 11 hours, 24 minutes and 53 seconds ago, saying: if spectests pass with that line removed, then +1 from me  [Aug 30 18:58:07 2010]
06:23 aloha pmichaud was last seen in #parrot 1 days 11 hours ago saying "if spectests pass with that line removed, then +1 from me".
06:23 sorear msg bacek #perl6 @ irc.freenode.net needs a seen-bot
06:23 purl Message for bacek stored.
06:28 cxreg joined #parrot
06:33 jsut_ joined #parrot
06:35 dalek parrot: r48748 | mikehh++ | failed to fetch changeset:
06:35 dalek parrot: [html_cleanup] merge trunk into branch
06:35 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48748/
06:38 jsut left #parrot
07:01 chromatic left #parrot
07:04 cxreg left #parrot
07:05 cxreg joined #parrot
07:09 theory left #parrot
07:22 allison left #parrot
07:25 dalek parrot: r48749 | NotFound++ | trunk/t/src/extend.t:
07:26 dalek parrot: rearrange other bunch of extend tests to make its coverage reports more useful
07:26 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48749/
07:42 dalek parrot: r48750 | NotFound++ | trunk/t/pmc/exception.t:
07:42 dalek parrot: test Exception birthtime attribute and annotations method
07:42 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48750/
07:58 cognominal left #parrot
08:10 dalek rakudo: 606c5fb | moritz++ | src/core/operators.pm:
08:10 dalek rakudo: prevent not and so from autothreading
08:10 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​06c5fb615b2986a068c769ef72d7a8448154a84
08:10 dalek rakudo: dc99008 | tadzik++ | src/Perl6/Grammar.pm:
08:10 dalek rakudo: Added more info to an error message for <>
08:10 dalek rakudo:
08:10 dalek rakudo: Signed-off-by: Moritz Lenz <moritz@faui2k3.org>
08:10 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​c9900803a0956dbf634114835fff4c8ad71d7d5
08:16 dalek parrot: r48751 | mikehh++ | branches/html_cleanup/docs/index/tools.json:
08:16 dalek parrot: [html_cleanup] fix tools.json to handle moved file
08:16 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48751/
08:20 tcurtis left #parrot
08:22 mikehh left #parrot
08:44 mikehh joined #parrot
09:19 bacek joined #parrot
09:19 aloha bacek: bacek asked me to tell you Blah
10:15 cotto_work left #parrot
10:54 ruoso left #parrot
11:33 bluescreen left #parrot
11:37 preflex left #parrot
12:09 whiteknight joined #parrot
12:13 hudnix left #parrot
12:14 hudnix joined #parrot
12:25 whiteknight good morning, #parrot
12:41 kthakore whiteknight: good moin
12:48 whiteknight hello kthakore. How are you doing today?
12:50 bluescreen joined #parrot
12:54 cognominal joined #parrot
12:57 ruoso joined #parrot
13:01 nwellnhof joined #parrot
13:09 mikehh left #parrot
13:17 kthakore whiteknight: ok
13:17 kthakore whiteknight: back is killing me
13:17 kthakore I was cutting lumber yesterday
13:22 luben left #parrot
13:23 luben_work joined #parrot
13:44 particle nwellnhof: does STRING_iter_skip do the advancing part of STRING_iter_get_and_advance?  if so, why not name it STRING_iter_advance for consistency?
13:48 nwellnhof you're right. that would be more consistent.
13:48 hudnix left #parrot
13:49 nwellnhof but STRING_iter_skip also supports skipping of more than one char
13:51 nwellnhof you can even skip backwards, so i think we should keep it
13:52 hudnix joined #parrot
14:01 particle so, is it seek rather than skip?
14:02 nwellnhof yes it's a relative seek. STRING_iter_set_position is an absolute seek.
14:03 nwellnhof they could be combined like fseek.
14:03 uniejo left #parrot
14:04 particle hrmm
14:04 particle is there a tell?
14:04 nwellnhof the string iterator API has been like that before my changes BTW. but now would be a good time to change it.
14:04 particle yes, agreed
14:05 nwellnhof "tell" is reading the bytepos or charpos element of the iterator struct.
14:05 nwellnhof there are no macros for that.
14:06 particle does skip go by byte or grapheme?
14:06 nwellnhof it goes by codepoint
14:06 particle actually, can you point me to where it's defined? i don't have a branch checkout atm
14:06 particle i'll look it up with svnweb
14:07 nwellnhof it's defined for every single encoding. which one do you want?
14:07 particle ah, so that's why it's not in encoding.h... duh
14:09 particle what i'm thinking, when looking at this api is: if i were implementing e.g. fast boyer-moore, what functions would i want to use? how would i do that with this api? where could this be improved{
14:09 particle s/{/?/
14:10 nwellnhof you would change the "index" function for each encoding
14:11 tcurtis joined #parrot
14:11 particle i don't like STRING_length and STRING_byte_length, because the first macro assumes 'codepoint'
14:11 smash joined #parrot
14:11 smash hello everyone
14:11 particle hola smash
14:12 nwellnhof particle: what do you propose instead of STRING_length?
14:12 particle STRING_codepoint_length
14:12 particle put the units of measurement explicitly in the name
14:13 particle so later when STRING_grapheme_length comes around... nobody's upset.
14:13 nwellnhof good point.
14:14 nwellnhof currently, we have Parrot_str_length and Parrot_str_byte_length
14:14 nwellnhof that's why i chose STRING_length and STRING_byte_length
14:15 particle yes, and currently half our opcodes have underscores between words and half don't.
14:15 particle we're marking a deprecation point here
14:15 particle let's take the time to get the api right as we change it
14:15 nwellnhof yes, now would be the best time
14:16 particle i know this is somewhat beyond what you've proposed, but i can't help but respond to the nagging urge to clean up the string api
14:16 nwellnhof that's perfectly ok, i already did some cleanups
14:16 nwellnhof like renaming get_codepoints to substr
14:17 nwellnhof get_codepoint to ord
14:17 nwellnhof like the parrot opcodes
14:18 particle yes, it's a good form of consistency
14:19 patspam joined #parrot
14:19 nwellnhof eventually, i'd like to have the code in string.ops call those macros directly
14:19 nwellnhof that would save us one function call
14:22 kthakore Does parrot have different types for numbers?
14:23 kthakore I mean ... perl interchanges freely between IV,NV,PV, and the other one
14:25 nwellnhof PV isn't a number type in Perl
14:25 particle kthakore: parrot has integer, number (floating point), string, and abstract data type (pmc) registers
14:27 kthakore nwellnhof: perl interchanges between it freely
14:27 kthakore particle: okie
14:28 nwellnhof perl converts strings to numbers automatically
14:28 nwellnhof but i wouldn't consider PV a number type
14:29 kthakore well if I send a PV* from XS wrapped in a SV*
14:29 kthakore I can use it as a number
14:30 nwellnhof but it's converted before
14:30 kthakore sure
14:30 Coke cotto: I distinctly remember that pirc was NOT fully headerized, and that andy had given up trying to make it so. Did you verify #43 before closing, or is that running on memory?
14:30 Coke (I may have just not been around for the very last bit of fixup on that.)
15:04 cotto That's from memory.
15:04 cotto except that I verified that headerizer didn't generate anything that wasn't already checked in
15:07 jsut_ is now known as jsut
15:08 cotto I do remember that some others (possibly bacek) worked on headerizing it.
15:09 Coke yah. and I remember them giving up. ;)
15:09 Coke in any case, probably worth double checking that the headerization works for all the pirc files before letting go of the ticket entirely.
15:11 Coke I haven't touched ^/branches/pirc_config in a while, but all it did was add a configure option that controlled the setting of a C #define - it is probably mergable back to trunk, if someone wants to take it.
15:11 Andy joined #parrot
15:13 Coke ah, even better, it's a single commit.
15:13 cotto I'll do that.
15:13 theory joined #parrot
15:14 Coke some chunks failed trying to apply to trunk. ping me with problems or questions.
15:15 Coke looks trivial, though.
15:41 patspam left #parrot
15:42 patspam joined #parrot
15:46 luben_work_ joined #parrot
15:49 luben_work left #parrot
16:11 nwellnhof left #parrot
16:35 cotto_work joined #parrot
16:42 sjn seen jnthn?
16:42 purl jnthn was last seen on #parrot 7 days, 17 hours, 35 minutes and 44 seconds ago, saying: Maybe that link needs breaking at some point.  [Aug 24 23:06:43 2010]
16:42 aloha Sorry, I haven't seen jnthn.
16:44 chromatic joined #parrot
17:08 luben_work_ left #parrot
17:24 nwellnhof joined #parrot
17:34 tcurtis left #parrot
17:53 moritz jnthn is 1.5 weeks on vacations, or so
17:53 cotto_work lucky fellow
17:54 davidfetter joined #parrot
17:54 szabgab left #parrot
17:54 tcurtis joined #parrot
17:55 chromatic left #parrot
17:56 szabgab joined #parrot
18:06 chromatic joined #parrot
18:11 dalek TT #1761 created by dasx++: Inconsistent release tags
18:11 dalek TT #1761: http://trac.parrot.org/parrot/ticket/1761
18:13 chromatic left #parrot
18:17 patspam left #parrot
18:18 patspam joined #parrot
18:21 macroron joined #parrot
18:23 chromatic joined #parrot
18:23 jsut_ joined #parrot
18:25 jan left #parrot
18:27 bluescreen left #parrot
18:27 ash_ left #parrot
18:27 bluescreen joined #parrot
18:28 jsut left #parrot
18:37 Coke that bug should be easily fixable by anyone with access to drupal and the release guide.
18:44 ash_ joined #parrot
18:47 jsut joined #parrot
18:52 jsut_ left #parrot
19:07 robin-gvx joined #parrot
19:17 hercynium joined #parrot
19:23 dalek parrot: r48752 | pmichaud++ | trunk/ext/nqp-rx/src/stage0 (5 files):
19:23 dalek parrot: [nqp-rx]:  Update bootstrap with DEBUG fixes for cclass-based builtins.
19:23 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48752/
19:25 dalek nqp-rx: 71b25e6 | pmichaud++ | src/Regex/Cursor-builtins.pir:
19:25 dalek nqp-rx: Add regex debugging for cclass-based builtins.
19:25 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/7​1b25e6614005be5784adfabdd7952f2384f48ba
19:25 dalek nqp-rx: 29ce78f | pmichaud++ | src/Regex/Cursor-builtins.pir:
19:25 dalek nqp-rx: Add debugging output to <alpha>.
19:25 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/2​9ce78fc7d15d11ff60f3a810e66a6eedb7fe2ab
19:25 dalek nqp-rx: 5349f17 | pmichaud++ | / (3 files):
19:25 dalek nqp-rx: Comment out split() function for now; it causes the Parrot build to fail
19:25 dalek nqp-rx: (during the building of opsc).  We can restore split() when the conflict
19:25 dalek nqp-rx: is repaired.
19:25 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/5​349f1795fb2dd7420a41be28c9d192c10cfb059
19:25 dalek nqp-rx: 699da41 | pmichaud++ | src/stage0/ (5 files):
19:25 dalek nqp-rx: Update bootstrap.
19:25 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/6​99da41629139480236eb42cd3c49e59af320811
19:27 mikehh joined #parrot
19:30 GeJ Bonjour everyone.
19:31 cotto_work hi GeJ
19:37 GeJ servus cotto.
19:53 dalek parrot-linear-algebra: c20c635 | Whiteknight++ | src/pmc/complexmatrix2d.pmc:
19:53 dalek parrot-linear-algebra: start improving POD for the ComplexMatrix2D type.
19:53 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/c20c635c98d61a5e9e7fc3c66cdf6188f919d44b
19:53 dalek parrot-linear-algebra: 973a792 | Whiteknight++ | src/pmc/complexmatrix2d.pmc:
19:53 dalek parrot-linear-algebra: finish the documentation for ComplexMatrix2D.pmc
19:53 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/973a792b5e725dc7b8beee89dd39d1cf0116e3b6
19:53 dalek parrot-linear-algebra: 0d73c5b | Whiteknight++ | src/pmc/ (2 files):
19:53 dalek parrot-linear-algebra: update documentation in NumMatrix2D, and make some fixes/improvements back to ComplexMatrix2D
19:53 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/0d73c5bf0b1d5d21a68240955a4f96fd9d016637
19:54 dalek parrot-linear-algebra: 3cc1c0d | Whiteknight++ | src/pmc/ (3 files):
19:54 dalek parrot-linear-algebra: ...and documentation for PMCMatrix2D
19:54 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/3cc1c0d02edb657c2e80b3e264f7aeef38df115e
19:54 dalek parrot-linear-algebra: c2e4804 | Whiteknight++ | s (4 files):
19:54 dalek parrot-linear-algebra: add html_pod to the output of the build. Also, fix up some of the pod files to actually pass podcheck
19:54 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/c2e4804981b3f0867f3372d3c0695341167e7d1e
19:54 dalek parrot-linear-algebra: 0161a22 | Whiteknight++ | src/pmc/ (3 files):
19:54 dalek parrot-linear-algebra: add headings to the POD so the generated HTML is more usable
19:54 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/0161a224ade8763b00e59f64187dedb92324ab35
20:00 TimToady phone
20:02 moritz speakiing of which, it's been quite some time since I've seen some notes about the phone calls
20:03 chromatic My fault; I'll get to those.
20:03 moritz ++chromatic
20:05 luben joined #parrot
20:06 whiteknight left #parrot
20:12 jan joined #parrot
20:12 ruoso left #parrot
20:16 dalek TT #1762 created by nwellnhof++: Memory leak in Parrot_find_method_with_cache
20:16 dalek TT #1762: http://trac.parrot.org/parrot/ticket/1762
20:16 dalek TT #1763 created by nwellnhof++: Memory leak in PackFile_Annotations_new
20:16 dalek TT #1763: http://trac.parrot.org/parrot/ticket/1763
20:17 mikehh All tests PASS (pre/post-config, make corevm/make coretest, test, fulltest) at r48752 - Ubuntu 10.04 i386 (gcc with --optimize)
20:18 chromatic Sweet gorilla of Manila!
20:24 chromatic I've seen both before.  I wanted to ask plobsing about TT #1763.
20:24 ash_ left #parrot
20:25 tcurtis If Rakudo doesn't work under the profiling core, is the problem likely in Parrot or in Rakudo?
20:25 * tcurtis wants to know where to submit the bug report.
20:25 cotto_work probably parrot
20:26 cotto_work and by "probably" I mean ""
20:27 chromatic I couldn't get all of TT #1762, but I did get some of it.
20:30 perlite left #parrot
20:30 perlite joined #parrot
20:31 robin-gvx left #parrot
20:32 Tene chromatic: you ever look at TT #757 yet?
20:33 chromatic Probably.
20:33 chromatic Oh yeah, I remember that code.
20:33 ash_ joined #parrot
20:34 dalek TT #1764 created by nwellnhof++: Infinite loop in exit handler
20:34 dalek TT #1764: http://trac.parrot.org/parrot/ticket/1764
20:35 chromatic I think cloning is probably the wrong approach there.
20:35 Tene I opened that ticket way back when I was trying to get threading to work at all.  I couldn't get past it, and failed at understanding what the code was doing there at all.
20:35 chromatic The basic idea is "Oh no, what if another thread modifies what the first thread thinks of as a class!"
20:35 Tene I gave up on getting threading working after attacking that for a few days.
20:37 chromatic Until we get a policy governing global modifications in threaded systems, I'm comfortable disabling cloning in general to see what happens.
20:37 chromatic It's awful code, it doesn't work, and it's probably the wrong approach to concurrency anyway.
20:38 * Coke misses the phone today due to $DAYJOB
20:39 kthakore hi chromatic
20:39 chromatic howdy
20:39 kthakore So I was setting up CUDA for my project and noticed python has pyCUDA (it uses Inline C like stuff)
20:40 kthakore is an Inline possible in Perl6 or Parrot?
20:40 chromatic Parrot's made for that.
20:40 kthakore chromatic: oh man been writing the Manual. it has pretty pictures!
20:41 kthakore chromatic: really! ... will it talk subset of the C language
20:41 kthakore as OpenCL and CUDA use other compilers
20:41 kthakore nvcc
20:41 kthakore but it should be able to make a shared library
20:41 chromatic A subset of C?  That's harder, but ... well Lorito and... hmm.
20:41 ash_ left #parrot
20:41 tcurtis How reliable is valgrind for finding memory leak problems? Specifically, if it's reporting at least 120-ish kb "definitely lost" on every Rakudo spectest, do I know that that's a problem?
20:42 kthakore tcurtis: you need to use a suppression script
20:42 chromatic I consider it highly reliable.
20:42 kthakore find useless memleaks and add them to suppression
20:42 kthakore tcurtis: like chromatic said for reliability
20:43 chromatic The only problem I've seen in Parrot without a suppression script is a weird dlerror() leak deep in what I think is Valgrind's ld replacement.
20:43 kthakore oh I have seen that before
20:43 kthakore that is acutally fixable
20:43 * kthakore looks for linky from long time ago
20:44 kthakore https://issues.asterisk.org/view.php?id=16007
20:44 kthakore err
20:45 kthakore so this is another project
20:45 kthakore that uses valgrind heavily
20:45 tcurtis I ran a few of the files from examples/benchmarks and Parrot looked fine. Rakudo, not so much. Are there reasons that are not problematic for Rakudo having more than 120kb memory definitely lost?
20:45 tcurtis Potential reasons, rather.
20:45 kthakore chromatic: adding pthread_exit(NULL) at the end fixes this problem
20:46 chromatic Really?  Interesting.
20:46 kthakore tcurtis: what was the valgrind flags you used?
20:46 chromatic tcurtis, TT #1762 may be a culprit.
20:46 Coke msg whiteknight - preferred address for addition to directors list?
20:46 purl Message for whiteknight stored.
20:47 Coke msg dukeleto - preferred address for addition to directors list?
20:47 purl Message for dukeleto stored.
20:47 Coke msg kid51 - preferred address for addition to directors list?
20:47 purl Message for kid51 stored.
20:48 tcurtis kthakore: --leak-check=full
20:49 kthakore tcurtis: can you paste the output?
20:53 tcurtis kthakore: I'm going to leave the spectests running when I go out to eat in a while. When I get back home, I'll work on sifting through and putting the results somewhere they can be looked at. There will be a lot of output.
20:55 ash_ joined #parrot
21:00 Coke I'll just pick whatever their commonly used emails are at some point this evening if I don't hear back. NBD.
21:01 whiteknight joined #parrot
21:02 Coke nwellnhof++ #leak finder
21:08 dalek TT #1765 created by nwellnhof++: Memory leak in allocate_interpreter
21:08 dalek TT #1765: http://trac.parrot.org/parrot/ticket/1765
21:17 chromatic That's a biggie.
21:18 nwellnhof i think it only happens if you create a new interpreter form PIR
21:18 nwellnhof s/form/from/
21:19 patspam left #parrot
21:19 chromatic Not from C?
21:20 dalek parrot: r48753 | NotFound++ | trunk/t/src/extend.t:
21:20 dalek parrot: rearrange remaining extend tests to make its coverage reports more useful
21:20 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48753/
21:20 nwellnhof no, afaics
21:20 nwellnhof it seems to be specific to t/op/interp_2.pir
21:21 patspam joined #parrot
21:25 chromatic You'd think ParrotInterpreter's destroy() would destroy the contained interpreter.
21:25 nwellnhof but it doesn't
21:25 nwellnhof easy to fix
21:26 chromatic Should do it.
21:26 chromatic (says the person who skimmed the code in between editing the Perl 6 section on advanced method dispatch)
21:34 nwellnhof hmm, there's no destroy_interpreter function
21:35 nwellnhof only Parrot_really_destroy
21:35 bluescreen left #parrot
21:35 nwellnhof and it doesn't work to call that from the ParrotInterpreter PMC
21:37 dalek parrot: r48754 | Paul C. Anagnostopoulos++ | trunk (3 files):
21:37 dalek parrot: Integer neg and absolute now promote to BigInt
21:37 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48754/
21:37 dalek parrot: r48755 | Paul C. Anagnostopoulos++ | trunk/t/op/integer.t:
21:37 dalek parrot: Integer neg and absolute now promote to BigInt (2)
21:37 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48755/
21:37 chromatic That sounds like a problem.
21:38 chromatic Parrot_really_destroy() has guards if it's a child interp though.
21:39 NotFound Parrot_destroy, Parrot_exit, and the way they are documented and used need some love.
21:39 chromatic Most of src/interp/ needs attention.
21:40 nwellnhof calling Parrot_really_destroy from the PMC causes a crash in miniparrot
21:41 nwellnhof ok, not so easy to fix
21:42 NotFound The PMC is an envelope, you can't be sure that the Interpreter is owned bty it.
21:42 dalek TT #1616 closed by Paul_the_Greek++: t/pmc/bigint.t: implement 2 todo-ed items: Minint conversions
21:42 dalek TT #1616: http://trac.parrot.org/parrot/ticket/1616
21:43 NotFound And the interpreter itself isn't garbage collected, so there is no easy solution.
21:44 chromatic Only the case where the PMC has created the interp matters, right?
21:45 nwellnhof i think so
21:46 NotFound I'm not sure, the interpreter mau remain active after the PMC is out of scope
21:46 chromatic We can steal one of the PMC flags.
21:48 Paul_the_Greek joined #parrot
21:49 Paul_the_Greek Grump. svn commit does a commit even if you list a file that has no changes. It should complain.
21:50 cotto_work orly?
21:50 purl YA RLY.
21:51 cotto_work I thought it ignored any unchanged files.
21:51 kthakore left #parrot
21:51 Paul_the_Greek It does. But obviously I typed the wrong file if it has no changes, so it should complain.
21:52 Paul_the_Greek No real harm done, except there are two revisions for my one change.
21:53 Paul_the_Greek Say, another question: I have gnu patch. Is there some trick to getting it to understand our patch file format?
21:53 cotto_work It should be fine without any special magic.
21:54 Paul_the_Greek I enter patch <patch-file
21:54 Paul_the_Greek It doesn't recognize the Index: lines, so it asks me which file for each patch.
21:54 cotto_work how did you get patch-file, i.e. what command?
21:55 NotFound The problem with git diffs is the a/ and b/ prefixes
21:57 Paul_the_Greek I tried it with one I made (svn diff) and one someone else made attached to a ticket.
21:57 Paul_the_Greek Same problem in both cases.
21:57 Paul_the_Greek Once you tell it the file(s), the patches are applied correctly.
21:58 Paul_the_Greek There are some patch options that sound interesting, but I don't know patch-speak.
21:58 chromatic alias ap='patch -p0 <'
21:58 chromatic alias gp='patch -p1 <'
21:58 chromatic ap means "Apply patch"
21:58 chromatic gp means "Apply patch generated by Git"
21:59 Paul_the_Greek How does -p0 differ from not specifying it at all?
22:00 chromatic Consistency in my .alias file.
22:00 Paul_the_Greek I will try -p0 next time. Adding to alias file ...
22:01 chromatic alias realias='chmod u+w $ALIASES; $EDITOR $ALIASES; source $ALIASES; chmod -w $ALIASES'
22:02 NotFound The man page says that omiting -p uses the filename without any dir in the path
22:04 Paul_the_Greek I just tried the same patch again with that option and I got a failed assertion in patch.c. That's amusing.
22:05 chromatic Sometimes I also think about taking up goat farming.
22:05 Paul_the_Greek I'll play with it some more later.
22:05 Paul_the_Greek I'd go with llamas.
22:05 chromatic There's an alpaca farm down the road here.
22:05 mikehh left #parrot
22:05 Paul_the_Greek Where are you?
22:05 chromatic Up the road from the alpacas.
22:06 Paul_the_Greek And I can't get there from here?
22:06 particle realias doesn't pull/push to a github repo of dotfiles? for shame!
22:06 Paul_the_Greek chromatic: Not sure we can improve Boolean, but I'm going to take a look at it over the next few days.
22:06 chromatic If you can get a plane to PDX, take the red or blue line MAX west and stop at Sunset TC.  Then take a shuttle up the hill.  My office is up the hill from the lake.
22:07 Paul_the_Greek Sounds nice. Never been out that way.
22:08 chromatic If you ever make it out here, maybe you can help me move a piano.
22:08 Paul_the_Greek No, sorry, you would hear very bad sounds from my spine.
22:09 Paul_the_Greek I can help you hire someone, though.
22:09 chromatic Ah, I already have percussive instruments.
22:09 patspam left #parrot
22:09 Paul_the_Greek Moving pianos is best done by professionals.
22:09 mikehh joined #parrot
22:09 NotFound Software syntesizers are easier to move.
22:09 patspam joined #parrot
22:10 Paul_the_Greek To make sure I understand: If I stop Boolean from inheriting from Integer or Scalar, it will inherit from Default?
22:10 NotFound I even have one in my pocket.
22:10 chromatic Yes, that is correct.
22:10 Paul_the_Greek Okay.
22:11 chromatic All PMCs inherit from default, even if they don't mention it.  They may inherit directly or through a parent, but they all ultimately inherit from default.
22:11 NotFound Default is the default. Sometimes we are consistent ;)
22:12 Paul_the_Greek That is a reasonable name for the default, I must admit.
22:15 Paul_the_Greek Looking at Scalar's logical_and ... strange. logical_xor ... stranger.
22:15 patspam left #parrot
22:16 Paul_the_Greek Off for dinner, then some investigation.
22:16 Paul_the_Greek left #parrot
22:16 nwellnhof left #parrot
22:25 mikehh left #parrot
22:29 dalek parrot: r48756 | NotFound++ | trunk/t/pmc/stringiterator.t:
22:29 dalek parrot: test StringIterator get_pmc vtable
22:29 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48756/
22:30 macroron left #parrot
22:32 jsut_ joined #parrot
22:37 jsut left #parrot
22:37 ash_ left #parrot
23:18 chromatic http://lambda-the-ultimate.org/node/4058
23:18 chromatic Articles on Precise GC with Parametric Polymorphism
23:19 TiMBuS left #parrot
23:20 TiMBuS joined #parrot
23:21 cotto_work That sounds too shiny not to look at.
23:21 cotto_work LtUU++
23:21 cotto_work LtU++
23:22 chromatic http://academic.research.micr​osoft.com/Paper/4558308.aspx
23:25 mikehh joined #parrot
23:26 whiteknight nice page
23:27 jsut joined #parrot
23:27 chromatic I keep meaning to read that article.
23:29 whiteknight that's one I actually haven't seen yet, I don't think
23:30 whiteknight It's interesting the comment about Mono's GC, and how their  JIT doesn't play nice with a precise stack trace
23:31 whiteknight my one dream for Parrot is to get rid of walking the C stack entirely
23:31 chromatic What C stack?
23:31 whiteknight *the* C stack
23:31 whiteknight there aren't many to choose from
23:31 jsut_ left #parrot
23:31 chromatic I know what the C stack is.  I'm just wondering why your dream for Parrot includes it.
23:32 whiteknight my dream for parrot excludes it. We shouldn't be walking it. Ever
23:32 chromatic Okay, good.
23:32 whiteknight Lorito should, *should* make it go away
23:32 whiteknight although we run into a hell of a lot of problems in extensions
23:33 chromatic That was like saying "My dream for my life includes not getting into slap fights with *clowns*."
23:33 chromatic Why would you want to get into slap fights with anyone?
23:33 whiteknight Well, there are some people that just might deserve it
23:34 whiteknight Justin Beiber, Tiger Woods, most US senators
23:34 chromatic My IRC client doesn't yet support the RSP.  More importantly, neither do the clients of the people who most deserve it.
23:34 whiteknight RSP?
23:34 purl RSP is the most trivial perl code inverter possible. or remote strangulation protocol.
23:35 chromatic I've still never heard Justin Bieber, but I had the TV muted and saw him in a music video with that little girl from the new Karate Kid movie.
23:36 whiteknight The problem with a GC that never walks the C stack though is that your JIT is going to have a hard time with it
23:37 whiteknight really, JIT wants to write it's own control flow. The resulting machine code won't look anything like the lorito runloop
23:37 chromatic Only if you pass GCables to extensions that use the C stack.
23:38 whiteknight the JIT will be descending into ops and API calls using the C stack. It won't be using a friendly runloop
23:38 whiteknight and Lorito methods may be block-compiled into functions. or traces might be
23:38 chromatic Why would the JIT use C semantics?
23:39 whiteknight they aren't C semantics. They're the semantics of the underlying machine, and the machine code that the JIT generates
23:39 whiteknight we could come up with a crazy system with jumps and no call/ret, but that seems to take more work than it provides benefit
23:39 whiteknight C is just a shitty, mostly portable overlay of the metal
23:40 whiteknight and most modern processors have been designed specifically to support and optimize for programms written in C
23:40 whiteknight where the semantics differ is that we might not be passing parameters on the stack
23:45 chromatic left #parrot
23:48 chromatic joined #parrot
23:48 chromatic The places I've seen C beat out every other language on a real-world program are places where someone's written a custom Scheme that emits the world's ugliest C code (and I've patched Perl 5 itself and read a patch to PHP once) that no one sane would write.
23:48 whiteknight no argument there.
23:49 chromatic I don't want to assume that our JIT will optimize things to standard C function calls.
23:49 chromatic I'm not sure that's a good way to JIT a pervasively CPS program.
23:49 whiteknight I don't either. But making the assumption that we can completely avoid call/ret machine codes is foolhardy
23:49 whiteknight those aren't going away
23:49 chromatic ... especially a program intended to achieve parallelism through pervasive CPS.
23:49 smash left #parrot
23:53 chromatic I'd honestly rather have the JIT emit *something* (register a bitmap for an area of the heap, for example) when it emits code to leave the area of precision and unregister it when it reenters than walk a stack or heap.
23:54 chromatic That's really the problem: we lose precision at the boundary of untrusted code.

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

Parrot | source cross referenced