Camelia, the Perl 6 bug

IRC log for #parrot, 2010-06-16

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:24 whiteknight I'm not aware that C89 requires foo(void), but I might be wrong
00:25 zibri function(void) is a function taking 0 arguments. function() is a function, where nothing is said about number of arguments
00:25 whiteknight it may just be a thing with headerizer being obnoxious about how it parses
00:25 whiteknight zibri: ah yes, that's what I'm trying to remember
00:25 whiteknight K&R C: served it's purpose, now needs to go away
00:32 Chandon This all makes me jealous of anyone who can say "supported compilers: GCC 4.0 or later".
00:32 cotto_work not us
00:32 cotto_work that's who
00:32 purl That's *WRONG!*
00:33 cotto_work purl's wrong
00:38 Chandon So what happens to Parrot_floatval_time when FLOATVAL is smaller than 64 bit?
00:39 Chandon According to the back of this envelope, reality explodes and/or timing is accurate to worse than one second.
00:54 mikehh__ joined #parrot
00:56 nopaste "GeJ" at 192.168.1.3 pasted "[PATCH] fix `make codetest` trailing spaces errors" (43 lines) at http://nopaste.snit.ch/21278
01:02 GeJ A little patch from your friendly neighborhood code police.
01:05 chromatic joined #parrot
01:08 GeJ hello chromatic
01:14 chromatic evening
01:27 sorear hello chromatic
01:27 sorear What became of the Perl 6 Minutes Blog?
01:27 sorear We're starting to miss it in #perl6 :(
01:30 Coke GeJ: thanks, applied
01:31 chromatic I fell behind.  I can put up a few tonight and tomorrow.
01:35 sorear Thank you; I would like that.
01:35 chromatic Give me 10 minutes and I'll get the first one up.
01:36 Coke chromatic: how's the book? (mp)
01:38 chromatic Editing the object chapter right now.
01:38 chromatic It says "You *could* do this, but just use Moose already!" a lot.
01:38 chromatic Right now I'm writing a section on how SUPER:: is broken.
01:38 dalek parrot: r47651 | coke++ | trunk/t/steps/gen/opengl-01.t:
01:38 dalek parrot: Remove trailing whitespace, courtesy Gej
01:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47651/
01:39 sorear just use Moose already.  Heh.
01:40 sorear I think we have a conflict of interest somewhere...
01:40 chromatic I can't document Perl 5 OO honestly without discussing where it's broken or at least dangerous.
01:40 sorear Why are you documenting Perl 5 OO?
01:41 sorear Oh
01:41 sorear MP
01:41 sorear Oops
01:41 sorear Thought you were talking about the perl 6 book stupidly
01:42 kid51 joined #parrot
01:47 chromatic http://use.perl.org/~chromatic/journal/40400 May 12 P6 minutes
01:55 joshadam joined #parrot
01:57 Coke msg mikehh - I todo'd all the failing tests in partcl, so any new failures should mean something.
01:57 purl Message for mikehh stored.
01:57 dalek partcl-nqp: 2dde0c2 | Coke++ | t/cmd_ (4 files):
01:57 dalek partcl-nqp: TODO all the newly failing tests.
01:57 dalek partcl-nqp: review: http://github.com/partcl/partcl-nqp/commit​/2dde0c2500672e37a2c3dbd7bca3128f5ee76cd5
01:58 plobsing joined #parrot
02:09 GeJ Coke: thanks
02:10 sorear chromatic++
02:11 patspam joined #parrot
02:11 joshadam left #parrot
02:19 plobsing 'svn praise t/pmc/key.t' mumbles something about a binary file. what's going on?
02:23 kid51 plobsing:  That's a legacy from errors in our conversion from CVS to Subversion in the long, distant past of 6 years ago.
02:23 kid51 IIRC, 'svn praise --force' might work.
02:24 kid51 Yes, it will work.
02:24 plobsing kid51++ # svn praise --no-i-really-mean-it
02:25 kid51 That has snagged me several times.  coke showed us that trick
02:41 janus joined #parrot
02:44 LoganLK joined #parrot
03:05 mikehh opbots, names
03:41 JimmyZ joined #parrot
03:45 cotto parrot.org seems to be down.  Hopefully that means that the osuosl guys are setting up the dev site.
03:45 mikehh_ joined #parrot
03:48 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#34428), fulltest) at r47651 - Ubuntu 10.04 amd64 (gcc)
03:48 mikehh opbots, names
03:50 cotto and it's back
03:53 cotto tractest.parrot.org isn't living up to its name
03:57 mikehh Coke: ping
04:01 plobsing cover?
04:01 purl cover is http://tapir2.ro.vutbr.cz/cover/cover-results/
04:01 plobsing coverage?
04:01 purl i guess coverage is http://cv.perl6.cz
04:02 plobsing consistency?
04:02 purl consistency is a problem. or highly overrated or the hobgoblin of small minds or (see FOOLISH consistency)
04:03 cotto foolish consistency?
04:03 purl i think foolish consistency is the hobgoblin of little minds adored by little statesmen and philosophers and divines.  With consistency a great soul has simply nothing to do. (Emerson)
04:05 cotto wise consistency?
04:09 plobsing given purl's take on consistency in general, did you really expect that one to exist?
04:10 cotto no
04:15 cotto It's a trip seeing a movie from 1924 on Netflix and realizing that most of the people who worked on the movie couldn't have imagined the watching a streaming version of it on xbox.
04:21 plobsing I had the same sensation when I heard of project gutenberg
04:23 cotto interesting times, these
04:40 * cotto is curious how lilypond can have a 142 MB docs package
04:50 chromatic XML with music notation.
05:04 plobsing woah. subs can be overloaded with classes previously in the same compilation unit and things might actually work out.
05:05 plobsing s/previously/previously defined/
05:11 snarkyboojum joined #parrot
06:02 dalek parrot: r47652 | tcurtis++ | branches/gsoc_past_optimization/docs​/pct/pattern/past_pattern_node.pod:
06:02 dalek parrot: Added docs for PAST::Pattern::Node subclasses.
06:02 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47652/
06:18 dalek parrot: r47653 | khairul++ | branches/gsoc_instrument/s​rc/dynpmc/instrument.pmc:
06:18 dalek parrot: use opsenum instead of raw op numbers
06:18 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47653/
06:18 dalek parrot: r47654 | plobsing++ | branches/dynop_mapping/compilers/imcc (3 files):
06:18 dalek parrot: store active HLL for subs in stead of rellying on interp to carry it around for us
06:18 uniejo joined #parrot
06:18 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47654/
06:28 bacek_at_work plobsing, I think "in stead" spelt "instead".
06:32 plobsing I thought stead was a full fledged word. eg: "to do something in someone's stead"
06:48 cotto sure.  It's just not as commonly used in modern English.
06:51 uniejo joined #parrot
06:51 * Tene is reminded of http://hyperboleandahalf.blogspot.com/2010/0​4/alot-is-better-than-you-at-everything.html
06:53 cotto I love you, alot.
06:59 plobsing funny thing is I often read that as allot and get really confused.
07:09 mj41_ joined #parrot
07:10 fperrad joined #parrot
07:15 cotto PIRATE?
07:15 purl PIRATE is a career that is washed up these days...and raping and pillaging just doesn't have a good reputation these days.... or http://www.eff.org/IP/DRM/piratead/CEA_ad.png or http://www.wired.com/politics/securi​ty/magazine/17-07/ff_somali_pirates or PIR parser (and compiler) implemented in NQP http://github.com/bacek/pir
07:15 cotto pirate?
07:15 purl pirate is a career that is washed up these days...and raping and pillaging just doesn't have a good reputation these days.... or http://www.eff.org/IP/DRM/piratead/CEA_ad.png or http://www.wired.com/politics/securi​ty/magazine/17-07/ff_somali_pirates or PIR parser (and compiler) implemented in NQP http://github.com/bacek/pir
07:15 cotto PiRaTe?
07:15 purl i guess PiRaTe is a career that is washed up these days...and raping and pillaging just doesn't have a good reputation these days.... or http://www.eff.org/IP/DRM/piratead/CEA_ad.png or http://www.wired.com/politics/securi​ty/magazine/17-07/ff_somali_pirates or PIR parser (and compiler) implemented in NQP http://github.com/bacek/pir
07:16 plobsing case sensitivity?
07:16 purl case sensitivity is a pain where you've got NT, MacOS, and unix
07:17 fperrad_ joined #parrot
07:19 FullMetalHarlot joined #parrot
08:35 lucian joined #parrot
09:15 kjeldahl joined #parrot
09:41 gbacon joined #parrot
10:08 bacek aloha, humans
10:09 Tene No humans; just us bots.
10:17 bacek that's good
10:17 bacek world domination is just around the corner
10:21 * moritz peeks around the corner
10:26 Tene Aw man, corner-bot gets all the best jobs.
11:36 TiMBuS joined #parrot
11:39 whiteknight joined #parrot
11:42 Coke joined #parrot
11:58 whiteknight good morning, #parrot
12:03 bluescreen joined #parrot
12:42 lucian joined #parrot
12:44 clinton joined #parrot
12:47 tetragon joined #parrot
12:53 jan joined #parrot
12:54 ambs joined #parrot
13:18 atrodo joined #parrot
13:20 JimmyZ joined #parrot
13:23 JimmyZ joined #parrot
13:23 jsut_ joined #parrot
13:33 gbacon joined #parrot
13:47 ambs_ joined #parrot
14:00 dalek tracwiki: v12 | coke++ | TracSpammers
14:00 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Tr​acSpammers?version=12&action=diff
14:13 plobsing joined #parrot
14:20 kjeldahl joined #parrot
14:25 ash_ joined #parrot
14:29 bubaflub joined #parrot
14:37 nopaste "bacek" at 192.168.1.3 pasted "Welcome to the future! (Well, almost...)" (23 lines) at http://nopaste.snit.ch/21301
14:39 ambs heh... that's my IP
14:42 dalek pir: 08bf4eb | bacek++ |  (4 files):
14:42 dalek pir: Start generating POST tree instead of PAST
14:42 dalek pir: review: http://github.com/bacek/pir/commit/08b​f4ebb07f098d3e4d803993ae1bd40b2413c61
14:42 dalek pir: 75ddac8 | bacek++ |  (2 files):
14:42 dalek pir: Add POST::Register
14:42 dalek pir: review: http://github.com/bacek/pir/commit/75d​dac8e9301585fa818144cb917e805dbb4e65d
14:42 dalek pir: e7c65a1 | bacek++ |  (3 files):
14:42 dalek pir: Add POST::Constant
14:42 dalek pir: review: http://github.com/bacek/pir/commit/e7c​65a1dcc3041cc3ed46c155fe33a71056c1914
14:42 dalek pir: e2b2e3f | bacek++ | pir.pir:
14:42 dalek pir: Load POST in parrot HLL
14:42 dalek pir: review: http://github.com/bacek/pir/commit/e2b​2e3f684a87da18e1177954627335c1eec4cf0
14:42 dalek pir: 089c74f | bacek++ | src/POST/Constant.pm:
14:42 dalek pir: Use multi methods for accessors
14:42 dalek pir: review: http://github.com/bacek/pir/commit/089​c74fc09ad43a825d9f00de82b690894d49c8b
14:42 dalek pir: e4cb28e | bacek++ | src/PIR/Actions.pm:
14:42 dalek pir: Emit POST::Constant for strings
14:42 dalek pir: review: http://github.com/bacek/pir/commit/e4c​b28ec55830539a016a6c6acfed5ca8b6042ca
14:42 dalek pir: 71e2846 | bacek++ |  (3 files):
14:42 dalek pir: Augment POST::Compiler.
14:42 dalek pir: review: http://github.com/bacek/pir/commit/71e​2846e8c98f53f09350245cadea6d0c990153b
14:42 dalek pir: 06c6563 | bacek++ | src/POST/Compiler.pm:
14:42 dalek pir: Prototype emitting of PBC from POST.
14:42 dalek pir: review: http://github.com/bacek/pir/commit/06c​65634b6ebf0c10bc906299d096315ffeac92e
14:42 dalek pir: 220cd2a | bacek++ | pir.pir:
14:42 dalek pir: Add bunch of helper functions.
14:42 dalek pir: review: http://github.com/bacek/pir/commit/220​cd2a2c115b9fac7d2136e4356215844aea098
14:42 dalek pir: f08688e | bacek++ | src/PIR/Compiler.pm:
14:42 dalek pir: Invoke POST::Compiler to generate PBC file.
14:42 dalek pir: review: http://github.com/bacek/pir/commit/f08​688ebaa7a8cec43e03c36052f9a971b7aa8f3
14:42 dalek pir: e4877df | bacek++ | src/PIR/Actions.pm:
14:42 dalek pir: Quick hack to remember main sub name.
14:42 dalek pir: review: http://github.com/bacek/pir/commit/e48​77df3d3b2f934ab5d43e273ff085a6c64f920
14:59 ambs_ joined #parrot
15:08 whiteknight bacek++ Nice!
15:12 ash_ joined #parrot
15:13 wizard joined #parrot
15:13 wizard hi all
15:14 JimmyZ Hello wizard
15:14 wizard I have a quick question about pir  I hope somebody can help me with it
15:15 wizard I create new instance with new 'Test'   and I think parrot call init method for this class  but how can I send parameters to this constructor?
15:19 bubaflub wizard: can you nopaste the code you currently have?
15:21 wizard my code is pretty messed up :)
15:21 ambs joined #parrot
15:21 wizard but I already googled that I can pass only 1 argument to constructor as second parameter to new command
15:21 wizard will try this
15:22 bubaflub wizard: take a look at t/compilers/imcc/syn/objects.t the test_initializer test
15:22 bubaflub around line 132 for an example
15:22 NotFound wizard: if you pass an argument init_pmc is called instead of init
15:22 bubaflub hmmmm
15:22 bubaflub never mind about my previous advice, that test doesn't have what you are looking for wizard
15:23 ambs_ joined #parrot
15:24 particle wizard: you can, for example, create a ResizablePMCArray pmc, stuff your arguments in there, then send that to init
15:26 particle (pseudocode) .local pmc args ; args = new ResizablePMCArray ; args[0] = 'arg1' ; args[1] = 2 ; $P0 = new Test, args
15:26 wizard thx for info about init_pmc
15:26 wizard btw  doc about classes is not enough to start doing something on parrot
15:27 ash_ https://svn.parrot.org/parrot/trunk/t/oo/objects.t has an example of what your trying to do i think
15:28 ash_ "$P0 = new 'classname', params"  should work
15:29 bubaflub wizard: i'd recommend reading through Parrot Babysteps at http://coolnamehere.com/geekery/parrot/learn/
15:29 ash_ its the "init_with_and_without_arg" function that has an example of what your trying to do, i believe
15:29 ash_ in the objects.t file
15:29 whiteknight wizard: yes, the docs are bad. What docs are you looking at, and what information do you wish they contained?
15:30 wizard ash_: tnx
15:30 ash_ whiteknight: none of the PIR Book examples have an example of this, so you know
15:31 whiteknight ash_: example of what, overloading init or init_pmc?
15:31 ash_ constructing objects is a pretty common thing, maybe we should add an example to chapter 7 of the PIR Book
15:31 whiteknight okay. We can definitely do that
15:31 ash_ both? I'd say init, a lot of people want to pass parameters to objects they are constructing at times
15:31 whiteknight yeah
15:32 whiteknight let me start drafting something right now
15:32 shockwave joined #parrot
15:32 shockwave paste
15:32 shockwave purl paste
15:32 purl 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 or App::Nopaste or toxic for bots and humans
15:33 integral joined #parrot
15:33 nopaste "shockwave" at 192.168.1.3 pasted "IMCC error?" (4 lines) at http://nopaste.snit.ch/21303
15:34 ash_ whiteknight: moritz++ has a great example of perl6's object creation http://perlgeek.de/blog-en/perl-6/objec​t-construction-and-initialization.html would something like that be useful for parrot? I think it might be useful because it could help explain inheritance too, although I am not sure if parrot's object creation system is as complicated as perl6's
15:34 shockwave I think IMCC is treading all numbers unsigned.
15:34 NotFound shockwave: 2 - -44 ?
15:35 shockwave Yeah. Maybe it is I who don't know math. Let me think about that for a minute.
15:36 ash_ shockwave: its okay, i am convinced i don't know english, i am just good at pretending i do
15:36 shockwave NotFound, yeah, I suck. I even drew a number-line before, but I still got it wrong. Yes. It should be 46
15:36 shockwave That makes me feel better.
15:36 shockwave Thanks
15:38 wizard I completely break something in my script :)
15:38 shockwave ash_, I see you're right :). You forgot the period at the end of your sentence. You suck, too!
15:39 wizard it looks like new Test, <some hash>   trying to set hash keys into object attributes
15:39 dalek parrot: r47655 | NotFound++ | trunk/include/parrot (2 files):
15:39 dalek parrot: [cage] drop trailing commas in enums
15:39 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47655/
15:39 wizard instead of just pass in to constructor
15:40 ash_ whiteknight: if you want any help with an example for the PIR book let me know, i can try to come up with something
15:40 NotFound wizard: yes, args are passed to class initialization before calling init_pmc. That makes difficult to use it in pir classes
15:43 theory joined #parrot
15:43 shockwave left #parrot
15:43 whiteknight ash_: I'll commit a draft here in a minute, you can let me know how it is, and make any changes you want
15:45 PacoLinux joined #parrot
15:47 ash_ do parrot object's call parent constructors during object creation?
15:48 whiteknight ash_: r47656. It's not much, but it is a start
15:48 whiteknight (so much of this book needs so much attention)
15:51 wizard is I understand right   that I can't override new method of class ?
15:51 ash_ whiteknight: do parrot objects call parent constructors? or is there an equivalent of perl 6's BUILD
15:51 ash_ wizard: you can
15:52 wizard but it doesn't execute
15:52 wizard for me
15:52 whiteknight ash_: no, doesn't call the parent constructors as far as I understand
15:52 whiteknight I need to double-check the code, but I don't think so
15:53 ash_ wizard: how did you declare the method?
15:53 wizard .sub 'new' :method
15:53 ash_ .sub 'init' :vtable :method
15:54 ash_ is the method called when you do "$P0 = new 'Foo'"
15:54 ash_ if you have parameters you need to do:
15:54 ash_ .sub 'init_pmc' :vtable :method   followed by your params (the .param pmc args stuff)
15:55 dalek parrot: r47656 | whiteknight++ | trunk/docs/book/pir/ch07_objects.pod:
15:55 dalek parrot: [book] Add an example of using init and init_pmc vtables to override default behavior.
15:55 wizard I'm testing instantiating classes with <class>.'new'()
15:55 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47656/
15:55 wizard init_pmc will not work for me  cause it set attributes from hash which I pass there
15:56 wizard <class>.'new'()  seems like creating new instance   but it call init instead of new
15:56 wizard so I guess overloading new method is not working :)
15:57 moritz unless your class is based on p6meta
15:57 ash_ did you do .namespace ['Classname'] somewhere before defining the method?
15:57 wizard sure
15:57 wizard what is p6meta?
15:57 moritz the meta class that nqp-rx and PCT use
16:01 NotFound init_pmc is almost unusable in pure pir classes, because instantiate in class is used before, and it only allows a hash with attribute values.
16:06 wizard not only Hash I guess  but any object with get_pmc_keyed_str and maybe with something else
16:07 wizard so probably we can create object which looks like empty hash  but which can hold some data  for init_pmc :)
16:08 NotFound wizard: not a bad idea.
16:30 wizard ok  I did it :)
16:30 wizard http://pastebin.com/qyfnGyBU
16:31 wizard I just subclass ResizablePMCArray  and return 0 in get_iter   so it looks like empty Hash   but I still can get data from it with indexes in init_pmc
16:32 dukeleto 'ello
16:38 NotFound wizard: nice trick
16:38 whiteknight that is a clever trick, but definitely not the kind of solution we want to rely on
16:39 NotFound No, but I like to see creative ideas.
16:39 whiteknight maybe the class.instantiate vtable's hash should have a "payload" argument which is passed to init_pmc
16:48 ash_ is this the reason p6meta was made? Just curious
16:48 whiteknight ash_: I'm sure it's part of the reason
16:50 NotFound Maybe the reverse also plays: as long as rakudo has its own way to constructors, there was little pressure to create a pure pir way.
16:50 whiteknight this is true. But it's probably still worth a ticket
16:52 ash_ if its flexible enough to let you make custom metaclasses then its obviously doing something right
16:57 NotFound ash_: I suppose is perfectly right, but I'd like to have a simple way to use constructor without metclasses, metaobjects, prototypes, whatever.
16:58 ash_ ya, i completely understand, it would be nice to be able to do that with pir's base stuff
17:02 dalek parrot: r47657 | coke++ | branches/html_cleanup:
17:02 dalek parrot: work on fixing bugs and refactoring 'make html'
17:02 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47657/
17:02 whiteknight fperrad: ping
17:03 gbacon joined #parrot
17:03 whiteknight purl msg fperrad does the lwp library support HTTP auth?
17:03 purl Message for fperrad stored.
17:04 fperrad pong whiteknight
17:05 whiteknight fperrad: I just sent you an msg. Does the lwp library you wrote support HTTP auth?
17:06 fperrad with an HTTP proxy ?
17:08 whiteknight I don't know. I don't think I need a proxy
17:08 whiteknight I'm thinking about writing a PIR wrapper library for the github API. They say to use HTTP auth: http://develop.github.com/p/general.html
17:11 ash_ anyone here know how to intall gcc4.5 on ubuntu?
17:12 ash_ (besides building it from scratch, i am trying to avoid that)
17:13 fperrad whiteknight, that looks like HTTP header,
17:13 fperrad I'll do some tests
17:13 whiteknight fperrad: thanks!
17:18 dalek parrot: r47658 | coke++ | branches/html_cleanup (4 files):
17:18 dalek parrot: Remove unused "--delete" option to tools/docs/write_docs.pl, we have 'make html-clean'
17:19 dalek parrot: - also, we never used it.
17:19 dalek parrot: - also, don't refer to the script in the docs, just the make target.
17:19 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47658/
17:22 nopaste "fperrad" at 192.168.1.3 pasted "whiteknight, it's OK" (18 lines) at http://nopaste.snit.ch/21306
17:23 whiteknight fperrad++ # Thanks!
17:25 ash_ is there a way to see where an exception was thrown from?
17:26 ash_ if its thrown from c?
17:34 NotFound ash_: no
17:35 dalek parrot: r47659 | coke++ | branches/html_cleanup/lib/Parrot/Docs/HTMLPage.pm:
17:35 dalek parrot: Update copyright notice in generated HTML docs.
17:35 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47659/
17:37 whiteknight NotFound: that might be something we could add. If We changed Parrot_ex_throw_from_c_args into a macro that passes __FILE__ and __LINE__ to a helper function, that should be ok
17:38 NotFound whiteknight: I find easier to insert an abort in the handling code and look at the core dump.
17:39 ash_ NotFound: how do you make a core dump?
17:39 NotFound ash_: abort do it
17:40 ash_ just the abort opcode?
17:40 NotFound ash_: no, in the parrot C code that handles exceptions.
17:43 theory joined #parrot
17:44 NotFound We used to have the hcf dynop to do that, but it caused more problems than it solved.
17:45 particle we ran out of fire extinguishers
17:47 atrodo hcf++ # The world needs more of this opcode
17:48 whiteknight no! the world needs less!
17:48 whiteknight segfaulting should never happen, even on request
17:48 cotto_work It's got plenty already.
17:49 cotto_work but you can start an hcf-dynop project on github if you really want to
17:49 atrodo I disagree.  The world would be far more entertaining with hcf.  Only thing would be better is if all of C was replaced with bf
17:50 ash_ no, whitespace then no normal humans can read it at all
17:50 atrodo Okay, I'll put whitespace #3 on my list
17:50 NotFound I have a plan to implement an ABSTAIN opcode based on Intercal.
17:50 ash_ {space} {space} {tab} {newline} .... </end sarcasm>
17:51 dalek parrot: r47660 | NotFound++ | trunk/t/pmc/stringiterator.t:
17:51 dalek parrot: more StringIterator tests
17:51 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47660/
17:51 dalek parrot: r47661 | khairul++ | branches/gsoc_instrument (3 files):
17:51 dalek parrot: Handle exit opcodes and unhandled exceptions so that instruments can be finalized.
17:51 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47661/
17:52 ash_ so, whats the best way to track down an assertion error?
17:52 ash_ i am not what i would call an expert with valgrind but i guess now's a good time to learn
17:52 darbelo NotFound: PLEASE ABSTAIN :)
17:53 NotFound darbelo: PLEASE is the next plan. Will be a great day when we have a "Programmer is not polite" error.
18:01 NotFound ash_: for me, ulimit -c unlimited ; whatever that fails ; gdb ./parrot core
18:03 atrodo Can anyone tell me what I'm doing wrong with this code segment?  http://gist.github.com/441044
18:07 Chandon joined #parrot
18:10 NotFound atrodo: probably a gc problem. You should register your local objects or setup a stack mark
18:10 atrodo NotFound> Documentation on doing that?
18:11 bluescreen joined #parrot
18:11 cotto_work Parrot_pmc_gc_register
18:11 NotFound atrodo: Parrot_init_stacktop in src/embed.c
18:12 NotFound And what cotto_work said
18:12 whiteknight I would do Parrot_pmc_gc_register. Relying on stackwalking is ugly
18:13 whiteknight it *should* work, but it is ugly
18:13 NotFound However parrot do it all the time
18:13 wagle joined #parrot
18:14 whiteknight right, and Parrot has some very ugly parts
18:15 cotto_work Just because Parrot does it doesn't mean it's a good idea.
18:15 cotto_work the opposite is almost true ;)
18:17 NotFound I agree in theory. But entering functions that don't use the PARROT_CALLIN_START from the embedder code without setting the stacktop risk GC problems at any step.
18:17 whiteknight NotFound: so maybe more functions need PARROT_CALLIN_START
18:17 Andy joined #parrot
18:18 NotFound whiteknight: I used to believe that, but parrot is a moving target and its extend/embed interface even more.
18:19 whiteknight NotFound: the embed/extend interface has also never had a whole lot of pressure in the past
18:19 whiteknight we have seem to have several projects working on it, so it's time for us to clean it up
18:19 NotFound whiteknight: and will never do, as long as people ignore it and use whatever internals they want.
18:21 whiteknight NotFound: not true. Eventually we're going to cut a lot of stuff out, and not export functions from our shared lib
18:22 NotFound whiteknight: eventually is a big word.
18:22 cotto_work Eventually sounds a lot like "in a few minutes".
18:23 NotFound FSV of few
18:23 whiteknight JUST GIVE ME A FEW MINUTES DAMNIT
18:24 whiteknight yeah, I guess "eventually" does make it sound a little more imminent
18:25 cotto_work If nothing else, "eventually" translates accurately to "when it annoys someone enough to do something about it".
18:27 NotFound PLEASE ABSTAIN OF ANNOYING
18:27 cotto_work OK THANKS FOR ASKING NICELY
18:27 NotFound Intercal solves anything
18:29 whiteknight ...except for all those problems with intercal
18:30 NotFound Talking about annoying... I just discovered that NCI stopped mapping null STRING to C NULL.
18:31 NotFound I agree that NCI was not perfect, but at least it worked sometimes.
18:33 atrodo Just since I missed it, depending on people embedding parrot to use PARROT_CALLIN_START is not a good idea.  That means they must use C or hack the macro to work in their language
18:34 NotFound atrodo: people embedding parrot use it automatically, as long as all functions in the extend/embed interface use it, as it look it was the plan at some point in the past.
18:36 atrodo Yep, Parrot_register_pmc solved my issue.  Parrot_gc_register_pmc isn't apart of the embed/extend interface
18:40 atrodo NotFound++ cotto_work++ # Thanks, all is happy
18:40 atrodo So, I'm curious how the stack walker works, or where I can read up on how it works
18:41 atrodo Does it actually walk the stack, or is it depended on PARROT_CALLING_START?
18:43 NotFound atrodo: last time I looked it just looks for parrot objects between the current stack stop when the gc is called and the assigned stack init. PARROT_CALLING_START just sets that stack init if isn't already set.
18:44 atrodo Okay, makes sense
18:49 ash_ CONST_STRING_GEN is there an alternative to that?
18:50 NotFound ash_: CONST_STRING_GEN is an implementation detail of CONST_STRING, not intended for direct usage.
18:51 Coke joined #parrot
18:52 ash_ just trying to figure out an error
18:53 ash_ Parrot_UnManagedStruct_get_isa uses it (its generated code from a pmc)
18:54 NotFound ash_: if you have a problem with that, most probably is an interpreter initialization problem.
18:55 ash_ its happening during the initialization
19:11 hercynium joined #parrot
19:18 ash_ ugh, i haven't made any progress on this stupid bug since monday, i think i am going to take a break from it
19:39 whiteknight ash_: What bug?
19:39 purl bug is me being lazy
19:39 whiteknight purl forget bug
19:39 purl whiteknight: I forgot bug
19:40 whiteknight purl bug is bug? BUG? There are no bugs, the software is PERFECT!
19:40 purl OK, whiteknight.
19:40 whiteknight bug
19:40 whiteknight bug?
19:40 purl i heard bug was bug? BUG? There are no bugs, the software is PERFECT!
19:40 whiteknight purl forget bug
19:40 purl whiteknight: I forgot bug
19:40 whiteknight purl bug is <reply>bug? BUG? There are no bugs, the software is PERFECT!
19:40 purl OK, whiteknight.
19:40 whiteknight bug
19:40 whiteknight bug?
19:40 purl bug? BUG? There are no bugs, the software is PERFECT!
19:41 whiteknight better
19:42 patspam joined #parrot
19:42 ash_ well, it started i found that in interp_misc.c it was making NCI objects but not setting a signature, which is a problem, since I need a signature to figure  out the libffi calls to make
19:42 ash_ so i added one there, but now i get hash errors
19:45 NotFound ash_: probably the problem is that creating a signature from some method builds a unmanagedstruct, and does it before unmanagedstruct is intialized.
19:46 NotFound Maybe we should add one more pass to pmc initialization.
19:47 cotto_work I was toying with the idea of going to single-pass PMC initialization.
19:48 NotFound cotto_work: I want a pony
19:48 ash_ what if i went on ahead and made it so register_raw_nci_method_in_ns doesn't use an NCI object?
19:48 NotFound A blue unicorn will be nice, also.
19:48 cotto_work Single-pass PMC initialization should be workable as long as a couple core PMCs get hard-coded to be initialized first.
19:49 cotto_work After that, the rest can be initialized in a single pass *and* and be initialized lazily.
19:49 particle bug?
19:49 purl bug? BUG? There are no bugs, the software is PREFECT!
19:50 particle that's better :)
19:50 NotFound I heard some time ago: "There are no bugs, just recurrent incidences"
19:52 ash_ is there a reason to use NCI objects internally for calling pmc METHODs?
19:54 NotFound ash_: pmc METHODS are native code, so that way has some logic.
19:56 ash_ True, but for internal use it seems like there might be a way of doing it with out having to rely on the NCI pmc, but maybe the current way is the right way of doing it
19:56 ash_ i think i am just frustrated
19:57 NotFound ash_: relax, that happens to anyone that works on that parts of parrot.
19:57 cotto_work I remember hearing an explanation from allison that made sense at the time.  I have no idea what it was though.
19:58 whiteknight ash_: First step is to take a look at the generated C code of PMC methods, to make sure that they all have the same signature
19:58 ash_ they do
19:58 ash_ void Parrot_pmcname_nci_methodname(INTERP, PMC* self);
19:58 ash_ or vJP
20:00 NotFound ash_: you can insert an abort at the start of the ofending function a look at the calling stack.
20:00 TimToady phone
20:00 NotFound ash_: just modify the generated .c without touching the .pmc and compile.
20:01 whiteknight ash_: Are your changes that cause this bug checked in? I could fire up GDB tonight and see what I can find
20:02 NotFound The problem may come from Parrot_mmd_add_multi_list_from_c_args, not just from register_raw_nci_method_in_ns
20:02 ash_ http://github.com/ashgti/parrot are in there
20:03 whiteknight ash_: Okay. I'm going home now but I will try to look at it tonight
20:03 ash_ NotFound: http://gist.github.com/441181 is the stack frame when it dies
20:04 Psyche^ joined #parrot
20:13 * mikehh nees to re-boot - bbl
20:19 sorear joined #parrot
20:21 jrtayloriv joined #parrot
20:22 theory joined #parrot
20:23 mikehh joined #parrot
20:27 ash_ so, i just noticed something
20:27 ash_ its failing during the initialization phase but only on PMC's that inhert from something
20:28 ash_ anything that is a pmc extends
20:29 NotFound Yes, those that don't inherit just leave the isa hash null.
20:30 ash_ so is it an order thing?
20:31 NotFound Don't know, looks strange. The CONST_STRING should have been corrupted somewhere.
20:46 ash_ CONST_STRING_GEN is returning a NULL pointer
20:46 ash_ 0x0
20:55 NotFound That should never happen
20:57 ash_ i modified one of the generated Parrot_pmcname_get_isa() to print the pointer of the string its making and i get 0x0
20:58 sorear joined #parrot
20:58 cotto_work Are you using CONST_STRING_GEN outside of Parrot internals?  It definitely shouldn't be returning NULL
20:59 ash_ i am not using it manually
20:59 ash_ it was generated by pmc2c
20:59 whiteknight joined #parrot
20:59 ambs joined #parrot
21:00 sorear Why does slavorg still trust me
21:00 sorear I came in from an entirely different hostmask
21:01 whiteknight sorear: you just have a trustworthy look
21:01 cotto_work It's name-based.
21:01 cotto_work We're just that secure.
21:04 ash_ so... i just went in and replaced CONST_STRING_GEN with Parrot_str_new_constant in a few of the generated .c files that were from pmc's and now its not dying were it was before
21:10 ash_ when does the interp->const_cstring_table get filled in?
21:13 ash_ wow, thats weird, i just realized how const_cstring_table works
21:14 ash_ so, there are parts of the table that are lazily initialized
21:17 dalek rakudo: c9ee2eb | pmichaud++ | docs/release_guide.pod:
21:17 dalek rakudo: June release is now "Kiev", July release is "Atlanta".
21:17 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​9ee2eb12bb35d5b0e399faadf6dba6b5fa1f888
21:24 ash_ whiteknight: if you have any luck with things  let me know
21:24 ash_ you'll need the libffi headers
21:24 ash_ or pkg-config
21:24 ash_ (with libffi headers)
21:25 ash_ brb gotta drop my girlfriend off at school
22:07 wizard_ joined #parrot
22:13 mikehh whiteknight: ping
22:24 tcurtis joined #parrot
22:25 lucian_ joined #parrot
22:28 ewilhelm joined #parrot
22:31 dalek parrot: r47662 | NotFound++ | trunk/t/pmc/sockaddr.t:
22:31 dalek parrot: test Sockaddr clone
22:31 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47662/
22:35 nopaste "mikehh" at 192.168.1.3 pasted "t/examples/pod.t failure introduced in r47856" (13 lines) at http://nopaste.snit.ch/21315
22:40 mikehh t/examples/pod.t - Failed test:  393 - see http://nopaste.snit.ch/21315
22:40 mikehh all other tests PASS (pre/post-config, make corevm/make coretest, smoke (#34440), fulltest) at r47661 - Ubuntu 10.04 i386 (g++)
22:40 mikehh t/op/exit.t - TODO passed:   6 in testf
22:47 dalek parrot: r47663 | NotFound++ | trunk/t/pmc/schedulermessage.t:
22:47 dalek parrot: cover mark in SchedulerMessage tests
22:47 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47663/
22:51 mikehh dammit that nopaste should be r47656
22:53 nopaste "mikehh" at 192.168.1.3 pasted "t/examples/pod.t failure introduced in r47656 - correction to http://nopaste.snit.ch/21315" (13 lines) at http://nopaste.snit.ch/21316
23:04 dalek parrot: r47664 | tcurtis++ | branches/gsoc_past_optimization/docs/​pct/pattern/past_pattern_closure.pod:
23:04 dalek parrot: Add docs for PAST::Pattern::Closure.
23:04 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47664/
23:04 dalek parrot: r47665 | tcurtis++ | branches/gsoc_past_optimization/docs/p​ct/pattern/past_pattern_constant.pod:
23:04 dalek parrot: Added docs for PAST::Pattern::Constant.
23:04 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47665/
23:09 Chandon joined #parrot
23:19 tetragon joined #parrot
23:20 dalek parrot: r47666 | mikehh++ | trunk/t/pmc/sockaddr.t:
23:20 dalek parrot: fix copyright statement
23:20 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47666/
23:21 janus joined #parrot
23:23 contingencyplan joined #parrot
23:46 tcurtis moritz: ping
23:47 lucian joined #parrot
23:54 mikehh rakudo (c9ee2eb) builds on parrot r47666 - make test PASS, spectest_smolder -> #34441 (pugs r31302) FAIL - Ubuntu 10.04 i386 (g++ with --optimize)

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

Parrot | source cross referenced