Camelia, the Perl 6 bug

IRC log for #parrot, 2011-03-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:05 dalek parrot: 3a99403 | petdance++ | src/pmc/un (2 files):
00:05 dalek parrot: Fixing ARGIN()s that should have been ARGOUT().  Consting and localizing vars. Flagging UNUSED on interp and self
00:05 dalek parrot: review: https://github.com/parrot/parrot/commit/3a99403fea
00:08 ttbot Parrot 984f59db MSWin32-x86-multi-thread make error http://tt.taptinder.org/cmdinfo/39519
00:08 kid51 joined #parrot
00:08 kid51 opsc_full_parse branch : make test : PASS : linux/i386 : commit 7054bcf77b51d612c94be24fc6c74df169cd59f5
00:09 kid51 afk
00:14 whiteknight joined #parrot
00:16 whiteknight NotFound++
00:23 ShaneC left #parrot
00:23 ShaneC joined #parrot
01:18 mrwall-e joined #parrot
01:19 cotto left #parrot
01:48 bubaflub joined #parrot
01:48 cotto joined #parrot
01:48 cotto ~~
02:04 cotto left #parrot
02:06 dmalcolm left #parrot
02:07 kid51 ~~
02:08 dalek parrot: 807f85f | (Gerd Pokorra)++ | docs/project/release_manager_guide.pod:
02:08 dalek parrot: change the release manager guide not to use the removed "docs" target
02:08 dalek parrot: review: https://github.com/parrot/parrot/commit/807f85f624
02:17 dalek parrot/jkeenan/tt1159_distcheck: c5ac1fd | jkeenan++ | docs/project/release_manager_guide.pod:
02:17 dalek parrot/jkeenan/tt1159_distcheck: Add description of 'make release_check' to release guide.
02:17 dalek parrot/jkeenan/tt1159_distcheck: review: https://github.com/parrot/parrot/commit/c5ac1fd322
02:22 tadzik left #parrot
02:23 tadzik joined #parrot
02:24 ShaneC left #parrot
02:25 whiteknight left #parrot
02:32 Khisanth left #parrot
02:35 dalek TT #2033 created by epogeszlnoezh3++: Things to Consider When Trading Penny Stocks
02:35 dalek TT #2033: http://trac.parrot.org/parrot/ticket/2033
02:43 Khisanth joined #parrot
02:44 ShaneC joined #parrot
02:44 mrwall-e left #parrot
02:50 dalek parrot: 85a71c8 | jkeenan++ | config/auto/coverage.pm:
02:50 dalek parrot: Re-rag POD so it will look better in HTML.
02:50 dalek parrot: review: https://github.com/parrot/parrot/commit/85a71c86b1
02:51 dalek TT #2033 closed by jkeenan++: Things to Consider When Trading Penny Stocks
02:51 dalek TT #2033: http://trac.parrot.org/parrot/ticket/2033
02:54 plobsing 1st mark of a bot: diligent adherence to english capitalization rules
02:54 kid51 True
02:54 kid51 errm ... true
02:54 plobsing oh noez
02:55 kid51 They always use these hijacked yahoo.com addresses.
02:55 kid51 I delete their accounts once they've spammed us, but it wouldn't be feasible to prevent people from creating Trac accounts.
02:56 kid51 Of course, every day whiteknight and I have to comb through spam posts to the mailing lists
02:56 JimmyZ joined #parrot
02:57 JimmyZ if it's a spammed ticket, I can think it should be deleted.
02:57 plobsing I'm not sure if I have the privs for that. but I can delete all the body.
03:00 JimmyZ I think I have a privs, if nobody opposes
03:00 plobsing kid51: your anonymous toil is much appreciated.
03:00 kid51 JimmyZ: I've done that once, but Trac gives you a warning advising you that outright deletion is not the best approach.
03:01 JimmyZ kid51: now it's deleted
03:03 plobsing but I wanted to get rich trading penny stocks!
03:03 ShaneC anyone build parrot with msvc pro?
03:05 JimmyZ Don't buy stocks until next economic crisis ;)
03:07 donri left #parrot
03:07 plobsing ShaneC: there have been a couple parrot/rakudo devs that used that platform. check http://trac.parrot.org/parrot/wiki/ListOfPlatforms
03:09 plobsing there's also http://trac.parrot.org/par​rot/wiki/Platforms/Windows with a set of instructions
03:10 ShaneC thanks
03:10 ShaneC i've checked those out before but never had any luck -- gonna figure it out tonight if it kills me though! ;-)
03:11 plobsing ShaneC: if you're still alive tomorrow, please update the wiki with the information you've gleaned
03:15 ShaneC i'd really like to get a simple .vcproj/sln set up for parrot, kinda need to get the vanilla build working first though ;-P
03:18 ShaneC made it through configure and partially though nmake this time at least
03:21 bubaflub ShaneC: just curious, are you on a 32 or 64 bit machine?
03:22 ShaneC 64
03:23 ShaneC i think the problem is mostly that there is so little documentation about building using only msft tools, and what docs there are only cover the free tools (ones from 2003 at that)
03:24 dalek tracwiki: v17 | jimmy++ | ListOfPlatforms
03:24 dalek tracwiki: http://trac.parrot.org/parrot/wiki/List​OfPlatforms?version=17&action=diff
03:27 lopaway is now known as lopnor
03:27 kid51 left #parrot
03:56 ShaneC hmm, parrot.exe built, but i got this: '.\miniparrot.exe' : return code '0xc0000005'
04:02 dalek parrot/opsc_full_parse: afe3bf4 | bacek++ | / (4 files):
04:02 dalek parrot/opsc_full_parse: Implement emitting of array access
04:02 dalek parrot/opsc_full_parse: review: https://github.com/parrot/parrot/commit/afe3bf4654
04:02 lopnor is now known as lopaway
04:07 bubaflub ShaneC: can you run miniparrot.exe -V?
04:07 bubaflub i.e. did miniparrot build correctly?
04:15 ShaneC bubaflub: can't get any output from it
04:15 ShaneC although parrot -v works
04:16 bubaflub you mean -V?
04:16 ShaneC w/e, it prints output at least
04:17 bubaflub and if so, that's a bit strange.  it was my understanding that miniparrot was required to build parrot
04:17 bubaflub ShaneC: ok, can you run a basic hello world with parrot.exe?
04:17 bubaflub just curious; i might be able to try building at work on Wed.
04:17 ShaneC sec, doing a clean build
04:18 ShaneC parrot exxamples\pasm\hello.pasm
04:18 ShaneC Hello World
04:18 ShaneC examples*
04:20 ShaneC http://pastebin.com/hAgx4gd7
04:21 cotto joined #parrot
04:28 ShaneC http://calimlim.com/parrot/miniparrot-crash1.png
04:30 bubaflub left #parrot
04:31 ShaneC for (i = 0; i < p_regs; ++i) ctx->bp_ps.regs_p[-1L - i] = PMCNULL;
04:31 ShaneC that code strikes me as a little odd..
04:33 ShaneC there's only 32 (pmc?) regs, that's trying to set reg UINT_MAX to PMCNULL?
04:36 plobsing no, it's just that bp_ps is the allocated space for both string and PMC registers (both data pointers). strings get positive indexes into it; pmcs, negative ones.
04:37 ShaneC regs_s and regs_p are pointing to the same thing
04:38 ShaneC oh nm, gotcha
04:41 ShaneC you allocate an array of 0xffffffff pointers?
04:45 dalek parrot/opsc_full_parse: d78e295 | bacek++ | compilers/opsc/src/Ops/Compiler/Grammar.pm:
04:45 dalek parrot/opsc_full_parse: Fix parsing of complex variable declarations. Second var can have pointer star.
04:45 dalek parrot/opsc_full_parse: review: https://github.com/parrot/parrot/commit/d78e295d7b
04:45 dalek parrot/opsc_full_parse: fc35360 | bacek++ | / (4 files):
04:45 dalek parrot/opsc_full_parse: Made pointer part of var name to handle 'pmc *foo, *bar' properly
04:45 dalek parrot/opsc_full_parse: review: https://github.com/parrot/parrot/commit/fc35360fc6
04:47 plobsing ShaneC: p = calloc(3, char); p2 = p + 2; p2[-1L - 1];
04:48 bacek_at_work msg cotto make test passed in rakudo on opsc_full_parse
04:48 aloha OK. I'll deliver the message.
04:48 plobsing you don't need to allocate INT_MAX values to make use of negative indices
04:48 ShaneC plobsing: gotcha, never used negative indices before
04:49 ShaneC how does that even work for something dynamically allocated?
04:49 plobsing very carefully
04:50 ShaneC oh nevermind, misread your example
04:50 ShaneC i thought it was like perl's negative array indexing
04:50 ShaneC not just negative pointer arithmetic
04:57 cotto bacek_at_work, nice
04:57 ShaneC well, at least i have something far enough along to actually debug... this could finally start getting interesting ;-)
05:01 bacek_at_work cotto, merge party?
05:09 bacek_at_work no...
05:09 bacek_at_work looks like a lot of problems with rakudo spectest
05:25 tadzik what kind of problems?
05:25 tadzik There've been some tricky updates there recently
05:28 ShaneC plobsing: i was able to get further by replacing the negative array index with standard pointer arithmetic
05:31 bacek_at_work hmm. There is a _lot_ of spectest failures on master as well
05:31 bacek_at_work did we broke rakudo? Or it's some changes in rakudo itself?
05:33 plobsing ShaneC: that's odd. if you're using the equivalent pointer arithmetic, shouldn't it generate the same code?
05:34 ShaneC i'd think so, and the access violation was showing the correct address
05:34 ShaneC no idea why that would change anything
05:34 bacek_at_work tadzik, t/spec/S02-builtin_data_types/anon_block.rakudo ................ Failed 2/42 subtests
05:34 bacek_at_work tadzik, etc, etc, etc
05:35 bacek_at_work # Looks like you planned 42 tests, but ran 40
05:35 bacek_at_work Wrong fudging?
05:36 ShaneC plobsing: the disassembly is indeed a bit different
05:37 plobsing ShaneC: not certain, but the dissassembly in the screeny you posted shows that the index is being manipulated as a 32bit value (eax), and then as as a 64bit value (rax) without being extended.
05:37 plobsing that would indeed cause an access to a completely wrong segment of memory
05:38 plobsing are you using an outdated compiler? an experimental compiler? optimizations?
05:38 ShaneC msvc 2008
05:39 plobsing optimizing?
05:40 ShaneC my makefile's cflags has no -O set, not sure what the default is, lemme explicitely set it to none
05:40 tadzik bacek_at_work: api changes in Test.pm
05:40 tadzik bacek_at_work: clean up as much as you can, update everything, etc, etc
05:41 bacek_at_work tadzik, ah... But I did realclean, git pull, rebuild.
05:41 bacek_at_work still failing
05:41 tadzik bacek_at_work: do you have rakudo installed?
05:41 tadzik with ol' Test.pm/Test.pir?
05:41 bacek_at_work tadzik, no. I shouldn't have it. But let me double check it
05:41 ShaneC plobsing: a 64 bit build *should* work, right?
05:42 plobsing ShaneC: try changing -1L to -1LL
05:43 ShaneC same disassembling with optimizations disabled
05:43 plobsing ShaneC: this is a compiler bug. the disassembly is incorrect for the source.
05:43 ShaneC any particular reason not to just use pointer arithmetic?
05:44 plobsing ShaneC: because it's an array, and using array notation (which is required to be equivalent to pointer arithmetic) conveys meaning to developers
05:44 bacek_at_work tadzik, looks like I had stale Test.pir installed
05:44 tadzik gotcha
05:45 plobsing I need to come up with a clever backronym for msvc. Never worked with it much before. Only ever had to gripe about Generally Crappy Compiler and Incorrect Code Compiler.
05:45 tadzik so you _can_ use command-line arguments in Nqt. whiteknight++
05:45 ShaneC it's not perfect, but visual studio more than makes up for the shortcomings of the compiler ;-)
05:45 bacek_at_work tadzik, much better now :)
05:46 ShaneC plobsing: -1LL does indeed work
05:46 plobsing aha. thought so. the type annotation on that constant is confusing msvc (which has 32-bit longs).
05:46 bacek left #parrot
05:47 ShaneC agreed @ that, hate the sizeof( int ) == sizeof( long ) thing
05:47 ShaneC yet it still warns all over the place if you try to mix ;-P
05:47 ShaneC or rather not even warns, it's an outright error iirc
05:48 plobsing ShaneC: there are a few other places where the \dL long constant is used. you'll need to fix those too.
05:48 ShaneC ran a search and replace, rebuilding now
05:49 plobsing ShaneC: the size of the value is not the issue. when it is used in an array lookup it should get extended appropriately.
05:49 ShaneC i know, just ranting in general
05:50 cotto back
05:51 cotto bacek_at_work, definitely merge party *after* Rakudo and Partcl are known to work the same on master and opsc_full_parse
05:51 ShaneC plobsing: still crashing, somewhere else now, gonna dig into this other problem a bit
05:51 plobsing progress!
05:51 bacek_at_work cotto, make spectest is running on opsc_full_parse branch.
05:52 bacek_at_work cotto, clearly
05:52 cotto bacek_at_work, great
05:53 cotto I'd run it here but I'd need to go to sleep before it finished.
05:53 bacek_at_work cotto, run and go to sleep :)
05:55 ShaneC plobsing: btw, thx
05:55 plobsing ShaneC: a word of warning, the long long trick (while it works), is not C89. We'll most likely need to come up with another solution before getting the fix into parrot.
05:56 plobsing ShaneC: thanks for not being afraid to get your hand dirty.
05:56 plobsing s/hand/hands/
05:57 ShaneC wrapping all negative array indices in a macro seems kinda ugly
05:58 plobsing I'm wondering if we need the type annotation at all.
05:58 bacek_at_work plobsing, what to you think about idea to split bp_ps and bp into 4 fields?
05:58 bacek_at_work Just to get rid of nasty negative indexes.
05:59 plobsing bacek_at_work: that would work too, at the expense of growing our contexts by 2*sizeof(void *)
05:59 bacek_at_work CallContext is huge anyway.
05:59 ShaneC hope i can get my hands dirtier ;-) very glad i finally got parrot up and running in my dev environment of choice
05:59 plobsing bacek_at_work: aren't we trying to make calling *less* expensive?
05:59 bacek_at_work plobsing, it's 28 fields now.
06:00 bacek_at_work plobsing, accessing args without arithmetic will be faster, isn't it?
06:01 plobsing bacek_at_work: that arithmetic is builtin to the addressing mode of CISC chips
06:01 plobsing we get it basically gratis
06:01 bacek_at_work plobsing, hmm. Are you sure?
06:01 plobsing look at the disassembly
06:05 * plobsing is recompiling to make double sure
06:06 sorear smaller callcontexts puts less work on the GC
06:09 bacek_at_work sorear, not in this case actually.
06:09 bacek_at_work PMC header is same.
06:10 bacek_at_work Number of children to process is same
06:10 bacek_at_work Size of Parrot_CallContext_attributes is bigger but it doesn't really matter
06:10 bacek_at_work I don't expect big slowdown
06:11 bacek_at_work (having slightly bigger context)
06:11 sorear Where do you see the problems associated with "negative indexes"?
06:11 bacek_at_work "arithmetic"
06:12 ShaneC at least one compiler will require special treatment, and it made at least one programmer confused ;-)
06:12 bacek_at_work I don't understand ia32 assembly to confirm plobsing++ statement
06:12 bacek_at_work sorear, and what ShaneC said :)
06:13 plobsing sorear: msvc isn't properly sign extending array[-1L] on 64-bit.
06:16 plobsing hmmm... it seems my assertion that the arithmetic is entirely handled by the addressing mode is false. the negative indices add 1 3-byte op to the lookup.
06:17 sorear x86 addessing (in 32 bit mode) takes the form scale[1, 2, or 4]*index[any integer reg] + base[any integer reg] + displacement[32 bit constant]
06:18 sorear the encoding has a lot of confusing special cases around ebp and esp
06:18 bacek_at_work plobsing, so. Let's try to split bp_ps?
06:18 sorear 64 and 16 bit modes are completely different
06:18 plobsing and I can see bacek++ 's point about the size. what's a 264-byte callcontext vs a 280-byte one?
06:19 sorear there should be a set of "commonly used" fields that we can pack into, say, 64 bytes
06:19 rurban_ joined #parrot
06:19 bacek_at_work sorear, not many. Most of the fields are PMC and STRING pointers.
06:20 bacek_at_work but yes, I think we can pack "warns", "errors" and "trace_flags" at least
06:20 plobsing why is current_namespace part of the context? isn't that static to the sub?
06:21 bacek_at_work and if we limit number of positional args to 2^16 we can pack num_positionals and allocated_positionals
06:21 bacek_at_work plobsing, Parrot_pmc_create_mro?
06:22 rurban left #parrot
06:22 bacek_at_work but we can try to get rid of it.
06:22 rurban_ is now known as rurban
06:22 plobsing bacek_at_work: what do namespaces have to do with method resolution?
06:23 bacek_at_work plobsing, I don't know. MMD?
06:24 plobsing still not seeing it
06:24 bacek_at_work me too
06:24 bacek_at_work But I'm not an expert in it
06:26 plobsing current_object? but self is held in an ordinary PREG and passed as a specially flagged, but otherwise normal, PMC.
06:28 bacek_at_work current_object is definitely used for method dispatch
06:28 bacek_at_work but...
06:28 bacek_at_work I couldn't find it anymore....
06:29 bacek_at_work Sigh. Someone with more knowledge about PCC should review set of fields in CallContext.
06:29 bacek_at_work cotto, make spectest passed on opsc_full_parse
06:30 cotto bacek_at_work, awesome.
06:30 cotto bacek_at_work, have you tested any other hlls?
06:31 bacek_at_work cotto, nqp-rx :)
06:32 ShaneC random note, digging around for 64 bit oddities
06:33 ShaneC parrot.h's U?INTVAL2PTR do not take into account when PTR_SIZE == HUGEINTVAL_SIZE
06:33 ShaneC which would mean defaulting to unsigned int on 64 bit windows
06:33 sorear some parts of Parrot still think that invocants are somehow special
06:34 bacek_at_work looks like "PCC refactor" leftover
06:52 JimmyZ left #parrot
07:09 bacek_at_work sorear, invokant is actually "somehow special" according to our code...
07:11 cosimo left #parrot
07:18 ShaneC yay, build getting even further!
07:18 ShaneC had to throw a hack into parrot.h though ;-(
07:25 ShaneC INTVAL2PTR / UINTVAL2PTR / PTR2INTVAL / PTR2UINTVAL are all broken on windows 64 bit
07:32 ShaneC or something is wrong with my configuration, what determines what a Parrot_Int will be?
07:37 fperrad joined #parrot
08:17 contingencyplan left #parrot
08:26 Kulag left #parrot
08:27 Kulag joined #parrot
08:38 theory left #parrot
08:47 Kulag left #parrot
08:48 Kulag joined #parrot
08:54 Kulag left #parrot
08:57 Kulag joined #parrot
09:03 Kulag left #parrot
09:07 Kulag joined #parrot
09:15 Kulag left #parrot
09:15 donpdonp left #parrot
09:15 donpdonp joined #parrot
09:16 Kulag joined #parrot
09:25 Kulag left #parrot
09:30 Kulag joined #parrot
09:42 lateau joined #parrot
09:43 lateau left #parrot
09:45 dngor left #parrot
09:47 dngor joined #parrot
09:49 bacek joined #parrot
09:57 fperrad_ joined #parrot
09:59 JimmyZ joined #parrot
10:00 bacek left #parrot
10:00 fperrad left #parrot
10:00 fperrad_ is now known as fperrad
10:02 JimmyZ left #parrot
10:06 Drossel joined #parrot
10:06 Kulag left #parrot
10:12 bacek joined #parrot
10:15 Drossel left #parrot
10:16 zostay_ joined #parrot
10:16 zostay left #parrot
10:17 Kulag joined #parrot
10:18 bacek ~~
10:29 Drossel joined #parrot
10:31 Kulag left #parrot
10:39 woosley joined #parrot
10:45 lucian joined #parrot
10:52 Drossel left #parrot
11:16 Khisanth left #parrot
11:17 JimmyZ joined #parrot
11:20 Maurice joined #parrot
11:37 lucian_ joined #parrot
11:40 Khisanth joined #parrot
11:41 lucian left #parrot
11:46 Khisanth left #parrot
11:47 kid51 joined #parrot
11:54 lucian joined #parrot
11:58 lucian_ left #parrot
12:00 Maurice left #parrot
12:02 Kulag joined #parrot
12:04 lucian_ joined #parrot
12:09 lucian__ joined #parrot
12:09 lucian left #parrot
12:12 lucian joined #parrot
12:12 lucian_ left #parrot
12:15 lucian_ joined #parrot
12:15 lucian__ left #parrot
12:17 lucian__ joined #parrot
12:18 lucian left #parrot
12:21 lucian_ left #parrot
12:23 lucian__ left #parrot
12:41 ShaneC1 joined #parrot
12:42 lucian joined #parrot
12:44 ShaneC left #parrot
12:51 Maurice joined #parrot
12:52 Kulag left #parrot
12:52 Kulag joined #parrot
12:53 lucian_ joined #parrot
12:55 woosley left #parrot
12:57 lucian left #parrot
13:08 lucian joined #parrot
13:08 lucian_ left #parrot
13:09 Khisanth joined #parrot
13:09 dalek parrot/jkeenan/tt1159_distcheck: 0da424a | jkeenan++ | docs/project/release_manager_guide.pod:
13:09 dalek parrot/jkeenan/tt1159_distcheck: Correct names of targets per gerd++.
13:09 dalek parrot/jkeenan/tt1159_distcheck: review: https://github.com/parrot/parrot/commit/0da424a56e
13:10 lucian_ joined #parrot
13:11 bubaflub joined #parrot
13:13 dalek parrot: 0da424a | jkeenan++ | docs/project/release_manager_guide.pod:
13:13 dalek parrot: Correct names of targets per gerd++.
13:13 dalek parrot: review: https://github.com/parrot/parrot/commit/0da424a56e
13:13 dalek parrot: 77fa230 | jkeenan++ | / (4 files):
13:13 dalek parrot: Merge jkeenan/tt1159_distcheck branch into master.
13:13 dalek parrot: review: https://github.com/parrot/parrot/commit/77fa2307a6
13:14 lucian left #parrot
13:23 kid51 left #parrot
13:31 whiteknight joined #parrot
13:31 whiteknight good morning, #parrot
13:34 tadzik good morning whiteknight
13:34 mtk joined #parrot
13:38 whiteknight incoming
13:38 dalek Heuristic branch merge: pushed 16 commits to Rosella by Whiteknight
13:38 whiteknight oh, awesome
13:38 wagle left #parrot
13:38 whiteknight good morning tadizk
13:39 whiteknight tadzik:
13:39 wagle joined #parrot
13:43 lucian joined #parrot
13:47 lucian_ left #parrot
14:16 plobsing left #parrot
14:17 whiteknight msg NotFound: "Method 'dowarnings' not found for invocant of class 'NamespaceStatement'"
14:17 aloha OK. I'll deliver the message.
14:18 Kulag left #parrot
14:18 Kulag joined #parrot
14:19 rurban_ joined #parrot
14:22 rurban left #parrot
14:22 rurban_ is now known as rurban
14:44 lucian left #parrot
14:47 lucian joined #parrot
14:49 dalek Rosella: 1d04bc7 | Whiteknight++ | src/ (2 files):
14:49 dalek Rosella: fixes so Error.winxed builds. Update Distutils.winxed to use the new -o option. Also, die on build failure (with error message), and print out the name of files we unlink
14:49 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/1d04bc7474
14:49 dalek Rosella: 38bc497 | Whiteknight++ | src/winxed/DistutilsSt1.pir:
14:49 dalek Rosella: update distutils bootstrap
14:49 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/38bc497537
14:49 dalek Rosella: abccfbc | Whiteknight++ | README.md:
14:49 dalek Rosella: Mention in README that NQP-generated libraries may rely on P6object.pbc, which isn't automatically loaded unless we're running Parrot-nqp
14:49 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/abccfbc2a8
14:49 dalek Rosella: 92c18b5 | Whiteknight++ | setup.nqp:
14:49 dalek Rosella: fix setup.nqp to build again after moving ObjectFactory
14:49 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/92c18b53a5
14:49 dalek Rosella: 1f0137f | Whiteknight++ | src/ (3 files):
14:49 dalek Rosella: Fix Container.winxed so it mostly builds. Exposes a bug in winxed so we can't do any testing
14:49 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/1f0137f9f1
14:55 dalek parrot: ab6bd87 | (Gerd Pokorra)++ | tools/release/releasecheck.pl:
14:55 dalek parrot: add Copyright information
14:55 dalek parrot: review: https://github.com/parrot/parrot/commit/ab6bd87db1
15:06 tadzik whiteknight: 38bc497537 may be wrong
15:07 tadzik you might prefer to load nqp_rx.pbc, or something
15:09 whiteknight it worked fine when I did P6object.pbc
15:09 whiteknight I don't really use too many features of nqp-rx beyond P6object
15:09 tadzik rexeges may break I think
15:13 PacoLinux joined #parrot
15:14 NotFound whiteknight: I'll fix that right now.
15:15 whiteknight NotFound++
15:16 Andy joined #parrot
15:21 NotFound whiteknight: r836 should fix it
15:22 NotFound BTW I think that the problem of P6object not being automatically loaded is a failure of nqp that should be fixed better than warned about.
15:24 contingencyplan joined #parrot
15:25 dalek winxed: r836 | NotFound++ | trunk/winxedst1.winxed:
15:25 dalek winxed: NamespaceStatement lacked chaining of dowarnings to its parent, fixed
15:25 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=836
15:26 PerlJam left #parrot
15:27 PerlJam joined #parrot
15:30 whiteknight NotFound: The "fix" for P6object is to rewrite the libraries in winxed instead
15:31 NotFound Not a bad way for my taste :D
15:31 whiteknight NotFound: And you've been very responsive in fixing bugs and problems I have. So switching to winxed has been pretty painless
15:32 NotFound The point is that for general purpose libraries the implementation language or any other dependence should be an internal detail that users shouldn't need to care.
15:33 NotFound You just load the lib, and the lib takes care of its own needs.
15:35 whiteknight The problem with P6object and NQP is that NQP-generated libraries use P6object in all the :init :load methods to setup classes and all
15:36 whiteknight so if I do INIT { pir::load_bytecode("P6object.pbc"); } There's a chance this line won't fire before it's needed
15:37 whiteknight ordering gets off, especially when I start merging bytecode and other crafty things
15:37 NotFound whiteknight: languages must evolve following users needs, I'm a follower of Stroustrup's "The Design and Evolution of C++"
15:38 NotFound I don't know enough nqp internals to suggest a solution.
15:39 jnthn NQP should really just emit code that loads the stuff it needs.
15:40 jnthn (If it's not already loaded).
15:40 NotFound I mean, the problem should be solved by nqp itself, not by any library that gets implemented with it.
15:40 sorear add a :load :init sub that loads P6object.pbc?
15:40 sorear +1
15:40 jnthn NotFound: +1
15:40 jnthn NotFound: I'm working on that kinda stuff in NQP at the momnet. fwiw.
15:40 NotFound jnthn: nice
15:40 sorear also, INIT { pir::load_bytecode("P6object.pbc"); } makes no sense for "portable nqp"
15:40 plobsing joined #parrot
15:41 sorear (what was the final verdict, btw, on whether to fork Parrot-NQP from Portable-NQP?)
15:43 NotFound I think we've not reached yet a "final" status.
15:43 whiteknight NotFound: I'm still getting that error on r836
15:43 NotFound whiteknight: show me the source.
15:43 whiteknight hold on
15:44 NotFound whiteknight: uh, wait, if you're using the installed compiler, is not updated yet.
15:45 whiteknight okay, that's my problem
15:45 whiteknight I am using the installed compiler
15:45 NotFound One moment...
15:46 NotFound r837
15:46 whiteknight :)
15:47 whiteknight NotFound: works! NotFound++
15:48 dalek winxed: r837 | NotFound++ | trunk/pir/winxed_compiler.pir:
15:48 dalek winxed: update installable compiler
15:48 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=837
15:48 NotFound I think I must make a more elaborate installer to get rid of this problem.
15:48 NotFound Updating the pir for any minimal change is too much.
15:53 cotto_work ~~
15:54 whiteknight NotFound: is there a way to have a global var in a namespace?
15:54 whiteknight just namespace Foo { var bar; }?
15:55 NotFound whiteknight: I'm working on that but is not ready yet.
15:56 NotFound The "solution" I've been using is coroutines that initializes and yields the global objects needed.
15:57 whiteknight okay
15:59 NotFound I think plobsing is using in some cases :immediate subs
16:01 NotFound Globals are evil, anyway ;)
16:01 plobsing I did. they work great for creating static variables.
16:02 plobsing you can't modify the reference of course, but using an array or a hash, that doesn't really matter.
16:03 Kulag left #parrot
16:05 whiteknight what I have in NQP is a namespace sub to get a default instance of an object
16:05 whiteknight in NQP, I'm doing Rosella::Container::default_container(). The first time we create it, subsequent calls return the first reference
16:05 whiteknight so a coroutine there is probably the best
16:06 Kulag joined #parrot
16:08 NotFound Yes, all places where I've needed a global were like that.
16:09 NotFound There was no real need for uniqueness, but was a waste to create a new one in any usage.
16:11 JimmyZ left #parrot
16:17 nopaste "whiteknight" at 192.168.1.3 pasted "Failure code for NotFound++" (13 lines) at http://nopaste.snit.ch/34807
16:18 whiteknight NotFound: that code can't find the class. Get a null PMC exception in get_class
16:18 Patterner left #parrot
16:18 Psyche^ joined #parrot
16:18 Psyche^ is now known as Patterner
16:19 whiteknight class is doing a local namespace search, not a root namespace search, I assume
16:19 plobsing ping Patterner
16:20 Patterner what have I done to deserve that?
16:20 plobsing some testing for leo back in 2005
16:20 plobsing 75a2c84daf3c4685269799539e98d76b2e5c6b97 mentions you I beleive
16:21 plobsing do you recall why specifically '-1L' was used?
16:21 * Patterner denies knowledge
16:21 plobsing you are Psyche correct?
16:21 plobsing or were
16:21 Patterner that was a long time ago....
16:22 Patterner I have... relatives... on other networks...
16:22 Patterner do you have an URL for that?
16:22 plobsing I understand if you don't remember. It seems like a trivial detail, and it was a while ago.
16:23 plobsing but that particular code is causing issues on Win64, and I'd like to understand why it is there in the first place
16:24 plobsing URL: https://github.com/parrot/parrot/commit/​75a2c84daf3c4685269799539e98d76b2e5c6b97
16:25 NotFound whiteknight: looking at it.
16:27 Patterner looks like an off-by-one error, just with negative values which get their signs changed to be used as an index...
16:28 NotFound I don't think so, 0 belongs to the positive values, so -0 must be addresed some way.
16:28 plobsing Patterner: the logic is sound, but -1 would have made just as much sense. -1L seems oddly specific.
16:28 dukeleto ~~
16:29 NotFound plobsing: probably just to dismiss some warning.
16:30 Patterner it's 64bit after all
16:30 Patterner lots of warnings disappear when you add L's :)
16:31 plobsing those L's come back to haunt you when sizeof (long) != sizeof (void *)
16:31 lucian left #parrot
16:32 NotFound That difference shouldn't have any effect in basic arithmetic, except in corner cases.
16:32 Patterner Is that even used in today's code anymore?
16:32 NotFound And the pointer and indexes used are far from corner cases.
16:33 lucian joined #parrot
16:34 NotFound This is in register accesors, isn't it? Then is used trillions of times.
16:35 plobsing yes. that is precisely it. and it causes illegal memory access on Win64 because msvc can't cope.
16:35 whiteknight msvc--
16:35 NotFound plobsing: Maybe a problem with the registers sizes?
16:35 whiteknight karma msvc?
16:35 aloha msvc? has karma of 0.
16:35 moritz karma msvc
16:35 aloha msvc has karma of 1.
16:36 whiteknight msvc--
16:36 whiteknight karma msvc
16:36 aloha msvc has karma of 0.
16:36 whiteknight when that karma number gets to -1000, I say we officially drop support for msvc
16:36 moritz msvc-- # still no complete C99 support, last I looked
16:36 plobsing NotFound: nah. it generates incorrect code for the pointer dereference. ShaneC posted a screen-shot of the debug last night (where I saw the generated code)
16:36 whiteknight msvc-- # Microsoft says it will never offer C99 support, ever
16:37 plobsing will they properly support C89 ever?
16:37 moritz whiteknight: don't say that; if we do, our coding robot will include a msvc-- in every commit message, and it's out of business in, like, 10 days :-)
16:37 NotFound If it's a code generation error of the C compiler, just report it to its owner.
16:38 plobsing http://calimlim.com/parrot/miniparrot-crash1.png
16:38 whiteknight plobsing: I don't know.
16:38 plobsing do they have an issue tracker for that somewhere? I didn't find anything on the first page of ddg or goog
16:38 NotFound Where are that accesors defined? context.h ?
16:39 plobsing yep. previously registers.h, and previous still interpreter.h
16:39 dmalcolm joined #parrot
16:39 lucian left #parrot
16:44 lucian joined #parrot
16:45 theory joined #parrot
16:45 lucian_ joined #parrot
16:46 NotFound plobsing: where is failing, with string/pmc or with intval/floatval
16:46 NotFound ?
16:47 plobsing PMC access, but that's probably just because that's the first accessed register. N-regs likely have the same issue.
16:50 lucian left #parrot
16:51 lucian_ left #parrot
16:52 NotFound Given that is a macro, maybe just casting x to int is the right solution.
16:52 lucian joined #parrot
16:53 NotFound [-((int)x + 1)]
16:53 NotFound I mean [-((int)(x) + 1)]
16:54 plobsing I suspect, that just using -1 (as opposed to -1L) would very likely solve the problem on that platform. I asked why it was used because I was concerned with breaking other platfroms.
16:55 lucian_ joined #parrot
16:55 NotFound The cast should avoid any spurious warning.
16:56 NotFound And the values used are veeeeery long to overflow.
16:58 lucian left #parrot
16:58 plobsing spurious warnings don't concern me, so long as the correct code gets generated.
16:59 shockwave joined #parrot
16:59 NotFound Yeah, but maybe avoiding some warning was the reason for the L
16:59 shockwave nopaste
16:59 plobsing ah
16:59 shockwave purl paste
16:59 plobsing ENOPURL
16:59 shockwave aloha paste
17:00 plobsing ah ah ah, you didn't say '?'
17:00 shockwave A paste site?
17:00 NotFound aloha: nopaste?
17:00 aloha NotFound: nopaste is is http://nopaste.snit.ch (works with the script in $_PARROT/tools/dev/nopaste.pl)
17:00 whiteknight nopaste?
17:00 shockwave Thanks
17:01 NotFound aloha wants more attention than purl.
17:02 lucian joined #parrot
17:05 lucian_ left #parrot
17:07 lucian_ joined #parrot
17:10 lucian left #parrot
17:13 nopaste "shockwave" at 192.168.1.3 pasted "How to pass a C pointer between parrot functions?" (23 lines) at http://nopaste.snit.ch/34808
17:13 NotFound whiteknight: I think r389 will fix the problem for a now.
17:14 shockwave I'm trying to pass a structure between parrot functions.
17:14 shockwave a C structure.
17:15 shockwave I'm trying to call functions from a C library and pass that C structure to them.
17:16 shockwave I can already call C functions from that library, I just don't know how to pass that structure.
17:16 lucian joined #parrot
17:16 shockwave help
17:17 dalek winxed: r838 | NotFound++ | trunk/winxedst1.winxed:
17:17 dalek winxed: use get_class instead of get_namespace + typeof in the class operator
17:17 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=838
17:17 dalek winxed: r839 | NotFound++ | trunk/pir/winxed_compiler.pir:
17:17 dalek winxed: update installable compiler
17:17 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=839
17:17 ShaneC1 left #parrot
17:17 NotFound shockwave: provide a C function that return that structure and NCI it.
17:18 NotFound shockwave: BTW, if you define functions in C++ to be called from parrot you shouldn't allow C++ exceptions to propagate out of them.
17:19 shockwave NotFound: But, those that mean that the structure has to be a static variable?
17:19 shockwave does*
17:19 lucian_ left #parrot
17:19 shockwave NotFound: Ok, good tip.
17:20 shockwave Didn't know that.
17:20 shockwave Basically, the structure I'm trying to pass around I first get it when creating the interpreter.
17:20 shockwave it contains some structures needed by the functions that will be called from the C lib.
17:21 NotFound shockwave: is not written anywhere, but I guess ugly things will happen.
17:21 NotFound shockwave: Is get by whom? By parrot?
17:21 shockwave no :0
17:22 NotFound Then parrot need some way to get it. The easier way is to provide a function that returns it.
17:23 shockwave NotFound: So, basically, I'd just call those void functions, and from them get a pointer to the structure?
17:26 NotFound shockwave: define a C function that returns the structure and dlfunc it as 'p' Then pass the pointer to a dlfunc 'vp'
17:26 mtk left #parrot
17:27 NotFound Use extern "C" in C++ to avoid name mangling.
17:29 NotFound In parrot, just store the pointer in a PMC, NCI will take care of the details.
17:31 shockwave If it's not too much to ask, could you provide an example, with passing arguments?
17:32 mtk joined #parrot
17:33 Maurice left #parrot
17:34 plobsing maybe I'm not understanding, but wouldn't it be easier to dlvar?
17:35 NotFound Mmmm... maybe, but I'm not so sure about C++ name mangling of global symbols.
17:35 plobsing shouldn't extern C work for vars as well?
17:36 NotFound Should, but I've never used it.
17:36 nopaste "shockwave" at 192.168.1.3 pasted "NCI Example" (17 lines) at http://nopaste.snit.ch/34809
17:37 shockwave That's an example from the 'tutorials' directory of the Parrot distribution.
17:38 shockwave I like to be able to pass arguments to the :main functions, and from there pass it to the dlfunc functions/subs.
17:40 NotFound shockwave: if you want to pass external objects to parrot functions from the embedding host, you should do the appropiate encapsulation yourself.
17:40 plobsing pointers are generally passed around in in PMC containers (eg: Ptr)
17:41 NotFound The function approach I suggested has the advantage that NCI do the encapsulation by itself.
17:41 plobsing setting up the pointer to pass to main is your business as an embedder. from there, it should work for passing around within parrot. use 'p' argument signatures for NCI functions.
17:42 lucian left #parrot
17:42 lucian joined #parrot
17:42 NotFound Oh, and if you mean the :main function, the convention is that it gets a parrot string array argument.
17:42 NotFound So is not very appropiate to that mean.
17:42 plobsing that's just a convention though. very few things should break if that's not true.
17:43 NotFound Yeah, but IMO it will be cleaner to not mark it as :main
17:43 shockwave That's not a problem. I just make :main do nothing and place that behavior in another function. ;)
17:43 shockwave I'll play around with the info you guys gave me. Thanks, it should help me get to the right place.
17:44 lucian_ joined #parrot
17:44 NotFound shockwave: you don't need to run main if you don't want to.
17:45 NotFound As long as the interpreter is initialized and a pbc loaded, you can call subs as you want.
17:48 lucian left #parrot
17:49 NotFound whiteknight: r839 will probably solve your problem
17:57 ShaneC joined #parrot
17:59 dalek parrot: baad98f | jkeenan++ | NEWS:
17:59 dalek parrot: Added NEWS item about 'make release_check'.
17:59 dalek parrot: review: https://github.com/parrot/parrot/commit/baad98f667
18:01 whiteknight NotFound: I'll give it a try in a minute
18:03 whiteknight NotFound: Yes! it works. Passing all tests again
18:03 whiteknight NotFound++
18:06 lucian joined #parrot
18:07 ShaneC been trying to get a win64 build to work, stopped last night looking into a crash with pmc thawing -- anything come to mind that would be broken with that by assuming sizeof( long ) == sizeof( void* ) ?
18:09 plobsing ShaneC: what types were selected for INTVAL and opcode_t? if they are too small, did Configure.pl warn you about this?
18:09 lucian_ left #parrot
18:09 ShaneC hmm, i'll take a look at those again tonight
18:10 ShaneC or if i can get this commit in for $dayjob i'll snag an hour or two for parrot
18:10 NotFound whiteknight: is not a definitive solution, but I'm trying to avoid for a now the need to make a difference between class declared in current scopes and unknown ones.
18:12 NotFound ShaneC: we've been talking a bit about that, but no answer yet.
18:15 ShaneC NotFound: sounds good
18:16 NotFound Someone should tell Microsoft to donate us a bunch of machines and licenses to better address that kind of problems ;)
18:17 whiteknight NotFound: parrot does have get_namespace and get_hll_namespace and get_root_namespace
18:17 whiteknight if Winxed supports keys in ${ } we could use those ourselves
18:18 ShaneC my 32 bit build does work, but getting the 64 bit one working seems like a nice way to get my feet wet
18:19 NotFound whiteknight: yes, but incrementing the dependance on hand-written pir is not desirable.
18:20 lucian_ joined #parrot
18:20 NotFound ShaneC: I'm sorry, but I'm not going to pay a Windows 7 licence for the privilege.
18:23 ShaneC NotFound: perfectly understandable
18:23 lucian left #parrot
18:24 ShaneC i didn't mean i expected you guys to do the leg work, i meant that getting it working myself would be a good way to check out the entire source base
18:25 NotFound ShaneC: we usually do our best, win64 gets less attention just because most of us doesn't have machines with it available.
18:25 whiteknight ShaneC: Win64 can be very tricky. I had it working at one point
18:26 whiteknight ShaneC: Here's a post where I talked about some of the command-line args require for configure
18:26 lucian_ left #parrot
18:26 ShaneC whiteknight: did you compile a 64 bit version of perl?
18:26 whiteknight ShaneC: I don't know. I used ActivePerl. I don't know if it was x86 or x64
18:27 ShaneC perfect, i use activeperl too
18:27 whiteknight ShaneC: give that that incantation a try and see how far you get
18:27 lucian_ joined #parrot
18:28 ShaneC didn't get a link
18:28 dalek parrot: 72ba167 | util++ | t/tools/dev/headerizer/01_functions.t:
18:28 dalek parrot: Fix headerizer/01_functions.t when temp dirs contain `+` in their names (Darwin).
18:28 dalek parrot: review: https://github.com/parrot/parrot/commit/72ba16706f
18:31 * Coke ponders again working on a cold fusion-alike for parrot.
18:31 Coke would really need the DBI stuff & mod_parrot back, though.
18:32 NotFound What happened to mod_parrot?
18:35 Coke jeff horwitz dropped out of sight.
18:35 NotFound According to trac wiki, isn't even migrated to git
18:38 whiteknight Jeff gave me permission to migrate it to git. I haven't done it yet
18:39 whiteknight NotFound: is there a break or continue keywords for working with loops?
18:39 NotFound whiteknight: both
18:39 plobsing and goto, but don't do that
18:39 NotFound You can also goto out of the loop.
18:39 NotFound goto into the loop is not recommended.
18:40 * Util is also interested in the Win64 link that whiteknight is giving to ShaneC
18:41 ShaneC http://whiteknight.github.com/2​009/07/20/parrot_on_win64.html
18:41 cotto_work whiteknight: what do you think about the patch to add Parrot_get_euid in http://trac.parrot.org/parrot/ticket/2032 ?
18:41 cotto_work I'm leaning toward rejecting it because it's not generally useful, but I'd like a second opinion.
18:41 Util thx
18:41 ShaneC Util: i had to adjust the link flags a bit, i think it was pulling /MACHINE:X86 from my perl
18:41 ShaneC but other than it seems to have worked for the most part
18:42 ShaneC at least the configure part, building now
18:42 cotto_work s/euid/effective_user_id/
18:43 Util ShaneC: OK, thanks. It will be a few weeks before I can play with it; just wanted to get it into my should-investigate list.
18:44 NotFound cotto_work: reject it. At the very least, is incomplete. geteuid is not generic enough to be added to platform generic without checks for availability.
18:45 lucian joined #parrot
18:45 cotto_work NotFound: the issue is whether we want Parrot to "support" getting the effective uid at all.
18:45 zby_home joined #parrot
18:46 cotto_work issues with the patch itself are another question
18:46 NotFound cotto_work: ok
18:47 NotFound Regarding that point, I don't want to.
18:48 lucian__ joined #parrot
18:48 cotto_work NotFound: thanks.
18:48 lucian_ left #parrot
18:49 NotFound We can add some sugar or helper to getting some well known functions via nci, but we shouldn't add our own versions of any posix C interface somenone may want.
18:49 NotFound Posix, or win, or whatever.
18:51 plobsing isn't there some big OS-compatibility library somewhere?
18:51 cotto_work plobsing: apr?
18:51 lucian left #parrot
18:51 plobsing haven't looked into that. maybe that's exactly what I'm thinking of.
18:53 bubaflub left #parrot
18:53 NotFound (The somenone was a typo) X-)
18:55 lucian joined #parrot
18:58 lucian__ left #parrot
18:59 NotFound plobsing: With the .param changes is now possible to insert annotations before .param at the start of subs?
19:00 plobsing NotFound: yes, but it might not work like you want for methods.
19:01 NotFound plobsing: I just want an accurate backtrace when getting params throws.
19:02 plobsing contiguous sequences of .param get turned into a single get_params op. this happens in IMCC, but might occur *before* annotations ops are removed. when a :method flag is detected, a "self" param is unshifted onto the first op (always a label). if that op is not contiguous with the other params, you get two get_params ops, both of which use the wrong signature.
19:02 NotFound Urgh
19:03 plobsing it was mostly intended for cases where control flow is re-entering the sub. continuations work this way for example.
19:03 * whiteknight kicks the "many ops" dead horse again
19:03 plobsing exceptions could work this way if they used call-semantics rather than return-semantics
19:03 plobsing or if parrot moved to a unified call-return-semantics as promised by CPS
19:04 whiteknight internally, it is unified
19:04 whiteknight we got over that hurdle. We're just not making great use of it yet
19:04 plobsing ah.
19:06 NotFound One more time I don't remember what I've done this week. git log and svn log to the rescue!
19:06 whiteknight oh right, #ps today
19:06 whiteknight awesome
19:07 cotto_work yup, we have one of those
19:09 NotFound One awesome?
19:10 cotto_work #awesomesketch
19:12 whiteknight #parrotsketch is evolving!
19:12 cotto_work whiteknight: do you see any value in having the ability to get the effective user id be a core parrot thingy?
19:13 whiteknight I don't think so. It's completely meaningless on some of our target platforms
19:14 whiteknight that said, we can definitely provide pre-made NCI wrappers around utilities like that
19:14 whiteknight it's easy enough to do
19:14 whiteknight or HLL devs can write it themselves (again, it's easy)
19:15 cotto_work ok.  I'll post an example of how to do that and reject the ticket.
19:16 whiteknight for that matter, I'm not sure I see real value in having a core way to get the user id either
19:16 plobsing looks like a job for tools/dev/ncidef2pir.pl
19:16 whiteknight again, that's meaningless on windows
19:17 NotFound return (UINTVAL)0;
19:18 NotFound Our logic for 'generic' is debatable.
19:18 cotto_work NotFound: yes
19:18 whiteknight if we want to provide a bunch of utilities which are only defined on unixy-platforms, we should have a separate library for those things, and not burden our windows users with it
19:19 whiteknight likewise, there are windows features we can expose which don't have nice analogs on unix
19:19 NotFound For things that aren't speed critical at all, NCI should be appropiate.
19:20 whiteknight see also: user id, effective user id
19:20 NotFound And is far easier to support than config and code support, Configure probes....
19:23 whiteknight NotFound: does winxed have a nicer way to write "namespace Foo { namespace Bar { } }" Can I write something easy like "namespace Foo : Bar { } "?
19:24 NotFound whiteknight: Did I said that I'm a Stroustrup follower? ;)
19:24 whiteknight ?
19:25 NotFound whiteknight: namespace syntax is borrowed from C++, so the answer is no.
19:25 whiteknight ...can we?
19:25 whiteknight :)
19:25 NotFound Will think about it.
19:26 cotto_work better than borrowing it from PHP
19:26 PerlJam no, it should be:  namespace Foo::Bar { ... }  for maximal conflation  ;)
19:27 NotFound namespace Bar inside of Foo { ... }
19:27 * lucian hates the :: operator
19:28 dalek parrot: c6e78d7 | util++ | tools/release/releasecheck.pl:
19:28 dalek parrot: Add coda to releasecheck.pl, to pass t/codingstd/perlcritic.t
19:28 dalek parrot: review: https://github.com/parrot/parrot/commit/c6e78d7246
19:28 whiteknight I have a couple files that open with "namespace Foo { namespace Bar { ... ", and I think that's very ugly
19:28 PerlJam whiteknight: what are you using namespaces for that you would want a short-hand for nesting them?
19:29 whiteknight PerlJam: I'm working on a toolkit project called rosella. Classes there are typically named "Rosella::<libname>::<classname>"
19:31 NotFound Please don't drop the convention of doing out-of-band comments here better than at #ps
19:31 cotto_work #ps in 56
19:32 NotFound whiteknight: one advantage of the no shorthand approach is ack friendliness.
19:34 Andy ack is friendly to everyone!
19:34 NotFound ack++
19:35 cotto_work ack++
19:35 atrodo ack++
19:35 Andy Yay
19:35 plobsing eh, gcc is better. ack is ancient ;-)
19:35 Andy It will be interesting to see how ack 2.0 affects the Parrot folks
19:35 plobsing Amsterdam Compiler Kit
19:36 cotto_work aloha: ack?
19:36 aloha cotto_work: ack is friendly to everyone!
19:36 Andy aloha: karma for ack?
19:36 aloha Andy: for ack? has karma of 0.
19:36 Andy aloha: karma for ack
19:36 aloha Andy: for ack has karma of 0.
19:37 tadzik karma ack
19:37 aloha ack has karma of 3.
19:37 cotto_work aloha: karma ack
19:37 aloha cotto_work: ack has karma of 3.
19:37 Andy aloha: karma ack
19:37 aloha Andy: ack has karma of 3.
19:37 tadzik :P
19:37 Andy tadzik: I was getting there.
19:37 tadzik thus, ack++
19:37 NotFound karma aloha
19:37 aloha aloha has karma of -39.
19:37 NotFound Uh...
19:37 atrodo That's surprisingly low
19:37 dalek TT #2032 closed by cotto++: Small patch to add get_effective_user_id to parrot
19:37 dalek TT #2032: http://trac.parrot.org/parrot/ticket/2032
19:37 cotto_work Andy: what you need to do is name the 2.0 series "ack++"
19:37 atrodo karma purl
19:37 aloha purl has karma of 0.
19:37 whiteknight when aloha reaches karma of -1000, I say we abandon it
19:38 whiteknight ...which means aloha is officially in the race with msvc
19:38 tadzik aloha++ # I quite like you!
19:38 aloha tadzik: Thanks!
19:38 NotFound ack Enterprise Edition
19:38 tadzik regexes with CamelCase
19:38 Andy No, it'll be  MyAck
19:38 Andy no, wiat!
19:38 Andy aCk!
19:38 NotFound Social ack
19:38 tadzik /o\
19:39 Andy ack --like
19:39 Andy "Here are other command-line tools people who liked ack liked."
19:39 whiteknight iAck
19:39 tadzik EnterpriseGrep
19:40 whiteknight ... /me just got sued by Apple
19:40 tadzik iii! # ayayay!
19:41 NotFound I've been thinking about developing a technology called 'diot' and wait for an Apple version: the iDiot.
19:41 hercynium joined #parrot
19:41 plobsing yAck perfect for all your yak shaving needs
19:42 whiteknight could name it something more obvious. searchforshit
19:42 whiteknight "searchforshit -i -a namespace"
19:42 NotFound For clean and obvious names, ask plobsing ;)
19:43 Andy ack 2.0 will have no -a flag.
19:44 whiteknight I basically have to use -a for every invocation of ack
19:44 whiteknight because none of the files I care about are included in results by default
19:44 whiteknight and I can't be bothered to learn how to change the configurations
19:44 Andy That's why ack will have no -a flag.
19:44 NotFound $ cat .ackrc
19:44 NotFound --type-set=winxed=.winxed
19:44 whiteknight I can't be bothered to do a lot of things. it's a personality flaw
19:44 plobsing I really wish I could get "--all, but --no-cc" sometimes
19:45 Andy plobsing: With ack 2.0 you will
19:45 Andy because there will be no --all
19:45 Andy http://blueparen.com/node/5
19:45 Andy ack's default behavior will change from only searching known filetypes to searching any file that Perl identifies as being text. It's the entire reason I'm calling it 2.0, because it's such a radical change.
19:58 NotFound I was getting bizarres reports about power source disconnected in my laptop, and finally I've discovered I was using the one for the tablet instead. Is a miracle that it even worked.
20:01 NotFound BTW, after the last upgrade the Folio 100 is pretty good.
20:06 cotto_work Andy: nice.  I have acka aliased to ack -a and usually use that
20:11 zby_home left #parrot
20:14 particle add -w to it and call it wacka
20:15 particle wacka wacka wacka
20:30 mikehh #ps time
20:41 theory left #parrot
20:41 theory joined #parrot
20:43 whiteknight I would like to use that select PMC to start work on that IRC library I was planning
20:44 cotto_work whiteknight: ww?
20:44 whiteknight ww?
20:44 cotto_work wrong window
20:44 whiteknight no. it didn't belong in #ps
20:46 cotto_work ok
20:54 fperrad left #parrot
21:06 M_o_C joined #parrot
21:17 cotto_work Util: removing that while loop results in failures in 3 files: t/pmc/exception.t, t/pmc/exceptionhandler.t and t/pmc/socket_ipv6.t
21:17 Util cotto_work: thanks!
21:18 cotto_work I'm surprised.  I'd expect a lot of failures or none.
21:18 cotto_work Util: do you mind digging around to see why those happen?
21:18 Util exception{,handler}.t is where I got failures earlier, but I was mixing two threads of development, and had not isolated the failures yet
21:19 Util cotto_work: I already plan to :)
21:19 NotFound cotto_work: there aren't much test of inheriting from PMC because it never worked really well.
21:19 cotto_work Util: great
21:19 cotto_work NotFound: I'm shocked
21:21 NotFound Take a look at the GET_ATTR magic and you'll be less (or maybe more) shocked.
21:26 whiteknight left #parrot
21:26 kthakore joined #parrot
21:30 plobsing left #parrot
21:32 M_o_C left #parrot
21:40 cotto_work NotFound: that's the joy of trying to unify C and PIR
21:43 cotto_work bacek: what are your thoughts on how opsc should deal with C types with a non-C target language?
21:43 NotFound I think that a better solution may need some sort of reference PMC
21:52 mj41 thinking about new parrot-meta git repository with files like taptinder.json and content e.g. "my-branchA : buil, test", smolder.yaml "some-branchB", jitterbug.json, isparrotfastyet.conf, ....
21:53 plobsing joined #parrot
21:53 atrodo mj41> That's about what I was thinking as well
21:56 donpdonp left #parrot
21:58 mj41 atrodo: Ok. It shoul be easy to add TapTinder support for this. Also we can use after commit github hooks to make it "online".
21:59 atrodo mj41> oh, that's a really good idea
22:03 cotto_work aloha: see worr
22:03 cotto_work aloha: clock?
22:03 aloha cotto_work: LAX: Tue, 14:03 PST / CHI: Tue, 16:03 CST / NYC: Tue, 17:03 EST / UTC: Tue, 22:03 UTC / LON: Tue, 22:03 GMT / BER: Tue, 23:03 CET / TOK: Wed, 07:03 JST / SYD: Wed, 09:03 EST
22:03 cotto_work aloha: seen worr
22:03 aloha cotto_work: worr was last seen in #parrot 5 days 7 hours ago joining the channel.
22:04 mj41 23:03 Prague .... need some sleep
22:05 jnthn mj41: dobru noc :)
22:06 tadzik oh, same here :)
22:07 cotto_work 2300?  You've got a good 3-4 productive hours left!
22:08 dmalcolm left #parrot
22:08 mj41 jnthn: vdaka
22:19 rurban_ joined #parrot
22:22 rurban left #parrot
22:22 rurban_ is now known as rurban
22:23 cotto_work chromatic++ for weaponizing sarcasm
22:39 dalek parrot: f965a97 | util++ | t/op/exit.t:
22:39 dalek parrot: Add `end` to pasm in op/exit.t; fixes incorrect TODO
22:39 dalek parrot: review: https://github.com/parrot/parrot/commit/f965a97d26
22:39 dalek parrot: 127bc95 | util++ | t/op/exit.t:
22:39 dalek parrot: Un-TODO op/exit.t
22:39 dalek parrot: review: https://github.com/parrot/parrot/commit/127bc952a6
22:42 bacek_at_work ~~
22:43 bacek_at_work cotto, (opsc) I would like to reduce current "ops language". Remove #ifdef and #define at least. Reduce types to INSP and "opaque pointers". Etc.
22:51 cotto_work bacek_at_work: this would be to make it easier to target other languages?
22:52 cotto_work If it'd been updating opsc, my laziness would dictate shrinking the subset of C used by ops first and then making ospc smarter about it.
22:53 Coke Andy: ping.
22:53 Andy yessir?
22:54 cotto_work s/it'd/I'd/
22:55 Coke Andy: is rakudo.org still you?
22:56 Andy yes
22:56 Andy awwww
22:56 Coke danke.
22:56 Andy all good
22:57 Andy Coke: AIM is even better
23:03 Util cotto_work , bacek_at_work: In the core_ops.c that is generated by opsc_full_parse, why have the bodies of the ops changed from {...} to {{...}} ?
23:03 plobsing left #parrot
23:05 cotto_work Util: probably a minor bug
23:06 bacek_at_work Util, minor "bug".
23:06 cotto_work Util: is it merely a minor annoyance or will it result in the compiler generating poorer code?
23:06 bacek_at_work cotto, yes, we should simplify ops first before changing opsc
23:07 Util The annoyance is that `git diff`|`git show` fills my eyes with trivia, hiding any actual changes.
23:07 cotto_work Util: should be a simple fix
23:08 Util (missing) indentation is causing the same issue.
23:08 Util I am poking at it now.
23:08 bacek_at_work Util, feel free to implement "pretty-printing" in opsc :)
23:08 Util thanks, will-do
23:08 plobsing joined #parrot
23:09 cotto_work Generated code can be ugly, but it doesn't have to be.
23:10 bacek_at_work cotto, I would like to refactor .to_c slightly.
23:10 bacek_at_work like moving actual $chunk to first arg, passing some "$context" instead of transformation.
23:10 bacek_at_work ... instead of $trans
23:11 bacek_at_work Then we can implement pretty-printing for ops
23:11 bacek_at_work without big hassle
23:20 lucian_ joined #parrot
23:22 plobsing left #parrot
23:23 lucian left #parrot
23:30 kid51 joined #parrot
23:32 cotto_work bacek_at_work:
23:32 cotto_work bacek_at_work: I'll need to dig into the code a bit to figure out what you're talking about, but I like the idea.
23:33 jsut joined #parrot
23:33 bacek_at_work cotto, Ops::Op.to_c methods.
23:34 * Coke tries out opsc branch on partcl*
23:36 Topic for #parrot is now Parrot 3.1.0 Released | http://parrot.org | Log: irclog.perlgeek.de/parrot/today | Goals: Get GSoC ideas on wiki.  Merge/review tewk/select.  Evaluate attribute_defs, rip out in branch
23:37 jsut_ left #parrot
23:39 whiteknight joined #parrot
23:45 dalek TT #1159 closed by jkeenan++: make distcheck target
23:45 dalek TT #1159: http://trac.parrot.org/parrot/ticket/1159
23:51 Coke I missed the chance to say this at parrotsketch but here's a stretch goal: fix any tcl related bugs (most recently reported ones first)
23:52 cotto_work "Be Nice to Coke Week"
23:52 lucian_ left #parrot
23:53 lucian joined #parrot
23:56 dalek parrot: a30e6d2 | petdance++ | src/call/args.c:
23:56 dalek parrot: fixing the places we pass around const arrays of pcc_funcs_ptr.
23:56 dalek parrot: review: https://github.com/parrot/parrot/commit/a30e6d2cc0
23:56 dalek parrot: b985dc5 | petdance++ | src/call/ (2 files):
23:56 dalek parrot: fix where we pass const arrays of reg counts. Added PARROT_X decorators to some statics.
23:56 dalek parrot: review: https://github.com/parrot/parrot/commit/b985dc5ce2

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

Parrot | source cross referenced