Camelia, the Perl 6 bug

IRC log for #parrot, 2011-03-20

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:09 mj41 left #parrot
00:12 lucian left #parrot
00:49 lucian joined #parrot
01:17 Coke joined #parrot
01:38 soh_cah_toa joined #parrot
01:40 soh_cah_toa hey guys, back again. been looking at upcoming events with parrot and saw something about a parrotsketch meeting. what is parrotsketch?
01:44 whiteknight parrotsketch is a weekly meeting we have in the #parrotsketch channel
01:44 whiteknight it's like a design and planning meeting
01:45 whiteknight you're welcome to come and watch. If you get involved with hacking, you can post reports about what you're working on, and get involved in the discussions
01:48 soh_cah_toa oh okay. yeah, i think i'll stop by.
01:49 whiteknight awesome
01:49 soh_cah_toa i thought the "sketch" meant it was for the graphics and art side of parrot so i wasn't sure if it was really something for me
01:51 atrodo soh_cah_toa: It's a reference to the monty python parrot sketch
01:52 dalek parrot: c30d88c | bacek++ | / (2 files):
01:52 dalek parrot: Forcefully inline Pointer_Array manipulation functions.
01:52 dalek parrot:
01:52 dalek parrot: It gives another 2% of speed improvements on building Rakudo's core.pm.
01:52 dalek parrot: review: https://github.com/parrot/parrot/commit/c30d88cbb6
01:52 dalek parrot: 85e4ffe | bacek++ | src/pmc/packfiledirectory.pmc:
01:52 dalek parrot: Create PackfileBytecodeSegment instead of RawSegment when we actually unpack bytecode.
01:52 dalek parrot: review: https://github.com/parrot/parrot/commit/85e4ffe37c
01:52 dalek parrot: b600dfe | bacek++ | src/pmc/opcode.pmc:
01:52 dalek parrot: Add OpCode.get_number to simplify usage from nqp.
01:52 dalek parrot: review: https://github.com/parrot/parrot/commit/b600dfe595
01:52 soh_cah_toa oh alright. sorry, never really got into the monty python thing. i know, i know... :)
01:54 ttbot Parrot c30d88cb i386-linux-thread-multi make error http://tt.taptinder.org/cmdinfo/56543
01:54 ttbot Parrot c30d88cb i386-linux-thread-multi make error http://tt.taptinder.org/cmdinfo/56553
01:56 dalek parrot: 2b896f5 | bacek++ | include/parrot/pointer_array.h:
01:56 dalek parrot: Fix debug builds.
01:56 dalek parrot: review: https://github.com/parrot/parrot/commit/2b896f553c
01:57 soh_cah_toa so let me see if i understand this correctly...the rakudo compiler is written in nqp which itself is a subset of perl 6?
01:57 ttbot Parrot b600dfe5 i386-freebsd-64int make error http://tt.taptinder.org/cmdinfo/56606
01:59 kid51 joined #parrot
01:59 kid51 w/ soh_cah_toa
02:01 soh_cah_toa why did parrot need nqp in the first place, though? what does nqp have that perl 5 doesn't?
02:01 soh_cah_toa i mean, if nqp is "almost-perl6", then why not further develop that?
02:04 cotto it's less painful to use a subset of Perl 6 that compiles down to PIR to implement much of Rakudo than to use PIR directly
02:08 soh_cah_toa intersting...so you developed a language for the sole purpose of developing another language
02:08 cotto mostly pmichaud
02:09 whiteknight nqp is specifically designed to be a small language with a minimal runtime
02:09 whiteknight it's perfect for writing the guts of a compiler
02:10 ttbot Parrot 2b896f55 MSWin32-x86-multi-thread make error http://tt.taptinder.org/cmdinfo/56666
02:11 cotto http://pmichaud.com/sandbox/nqp.txt describes its future, if you're interested
02:15 dalek Rosella/harness_refactor: 2228daf | Whiteknight++ | s (5 files):
02:15 dalek Rosella/harness_refactor: merge TestCollection and Results into a single TestRun model type. Refactor the way we keep track of tests by status
02:15 dalek Rosella/harness_refactor: review: https://github.com/Whiteknig​ht/Rosella/commit/2228daf112
02:15 dalek Rosella/harness_refactor: 1e84168 | Whiteknight++ | / (3 files):
02:15 dalek Rosella/harness_refactor: fix error reporting so we get actual lists of failed files again
02:15 dalek Rosella/harness_refactor: review: https://github.com/Whiteknig​ht/Rosella/commit/1e84168b72
02:15 dalek Rosella/harness_refactor: 2b6c89b | Whiteknight++ | src/tap_harness/ (3 files):
02:15 dalek Rosella/harness_refactor: rename/remove files to reflect reality
02:15 dalek Rosella/harness_refactor: review: https://github.com/Whiteknig​ht/Rosella/commit/2b6c89b346
02:15 dalek Rosella/harness_refactor: a14b95d | Whiteknight++ | s (3 files):
02:15 dalek Rosella/harness_refactor: remove a lot of unnecessary accessor methods.
02:15 dalek Rosella/harness_refactor: review: https://github.com/Whiteknig​ht/Rosella/commit/a14b95d125
02:15 dalek Rosella/harness_refactor: f1b0328 | Whiteknight++ | src/tap_harness/ (2 files):
02:15 dalek Rosella/harness_refactor: small cleanups and docs
02:15 dalek Rosella/harness_refactor: review: https://github.com/Whiteknig​ht/Rosella/commit/f1b0328b83
02:15 soh_cah_toa since nqp compiles into pir, i would imagine that compiling perl 6 code would be much very effecient
02:16 whiteknight left #parrot
02:16 cotto there are several reasons why it's more expensive than it ought to be
02:17 soh_cah_toa really? i would've thought the opposite
02:17 woosley joined #parrot
02:21 nopaste "kid51" at 192.168.1.3 pasted "t/pmc/packfilerawsegment.t: new failures: linux/i386" (20 lines) at http://nopaste.snit.ch/38231
02:23 kid51 That FAIL emerged somewhere after f83909e
02:32 ttbot Parrot 2b896f55 MSWin32-x86-multi-thread make error http://tt.taptinder.org/cmdinfo/56722
02:39 kurahaupo left #parrot
02:40 kurahaupo joined #parrot
02:43 kid51 left #parrot
02:45 ShaneC joined #parrot
02:54 dalek parrot: 5f1b1a4 | mikehh++ | include/parrot/pointer_array.h:
02:54 dalek parrot: fix codetest failures - pod syntax, c_function docs and add ASSERT_ARGS
02:54 dalek parrot: review: https://github.com/parrot/parrot/commit/5f1b1a40f1
02:56 ttbot Parrot 5f1b1a40 i386-linux-thread-multi make error http://tt.taptinder.org/cmdinfo/56763
02:57 ttbot Parrot 5f1b1a40 i386-freebsd-64int make error http://tt.taptinder.org/cmdinfo/56776
03:03 lucian left #parrot
03:06 soh_cah_toa left #parrot
03:12 dalek parrot: 323edb2 | bacek++ | src/pmc/packfilerawsegment.pmc:
03:12 dalek parrot: Add more get_*_keyed_* accessors to PackfileRawSegment.
03:12 dalek parrot: review: https://github.com/parrot/parrot/commit/323edb2f2c
03:12 dalek parrot: 20e18aa | bacek++ | src/pmc/packfilebytecodesegment.pmc:
03:12 dalek parrot: Inherit PackfileBytecodeSegment from RawSegment.
03:12 dalek parrot: review: https://github.com/parrot/parrot/commit/20e18aab00
03:12 ttbot Parrot 5f1b1a40 MSWin32-x86-multi-thread make error http://tt.taptinder.org/cmdinfo/56791
03:13 ttbot Parrot 20e18aab i386-linux-thread-multi make error http://tt.taptinder.org/cmdinfo/56817
03:14 ttbot Parrot 20e18aab i386-freebsd-64int make error http://tt.taptinder.org/cmdinfo/56834
03:15 ttbot Parrot 323edb2f MSWin32-x86-multi-thread make error http://tt.taptinder.org/cmdinfo/56837
03:15 ttbot Parrot 323edb2f darwin-thread-multi-2level make error http://tt.taptinder.org/cmdinfo/56827
03:19 dalek parrot: c35de5d | mikehh++ | include/parrot/pointer_array.h:
03:19 dalek parrot: add define for ASSERT_ARGS
03:19 dalek parrot: review: https://github.com/parrot/parrot/commit/c35de5ddcf
03:24 cotto mikehh, that should be handled by headerizer
03:28 mikehh cotto: tried that
03:29 mikehh problem is that it seems to be in the header file rather than the .c file - maybe?
03:34 mikehh or that it is defined before the Headerizer info in the file?
03:34 ttbot Parrot c35de5dd MSWin32-x86-multi-thread make error http://tt.taptinder.org/cmdinfo/56936
03:40 ttbot Parrot c35de5dd MSWin32-x86-multi-thread make error http://tt.taptinder.org/cmdinfo/56950
03:43 dalek parrot: 3964642 | bacek++ | include/parrot/pointer_array.h:
03:43 dalek parrot: Remove "inline" keyword. Looks like VisualStudio can't grok it.
03:43 dalek parrot: review: https://github.com/parrot/parrot/commit/39646429f0
03:44 mikehh bacek: yeah saw that - C:\usr\TapTinder-tt1\client-data\Parrot-defa​ult-temp\include\parrot/pointer_array.h(110) : error C2054: expected '(' to follow 'inline'
03:45 bacek mikehh, yes. VS isn't smartest kid on  the block.
03:45 mikehh bacek: :-}
03:46 cotto bacek, is there any reason to have functions in header files instead of src/pointer_array.c?
03:46 bacek cotto, for inlining purpose.
03:47 bacek they will be static in each .c file. And will be inlined by any reasonable compiler.
03:47 mikehh which MS don't seem to like anyway
03:47 bacek 2% of performance improvements on "code.pm test"
03:53 tewk MS VS uses __inline
03:54 cotto don't we have PARROT_INLINE dtrt/
03:54 cotto ?
03:54 tewk Most projects #define INLINE to inline or __inline depending on platorm.
03:56 bacek looks like we have PARROT_INLINE
03:57 dalek parrot: f8a423b | bacek++ | include/parrot/pointer_array.h:
03:57 dalek parrot: Use PARROT_INLINE. tewk++ for notice.
03:57 dalek parrot: review: https://github.com/parrot/parrot/commit/f8a423bba2
03:57 cotto not heavily used though
03:57 bacek win32 build should be fine again.
03:58 bacek cotto, if you are bored. Extending PackfileOpMap to support lookup ops-by-id will be really helpful. At least for "crazy jit prototype"
03:58 bacek afk # rl
03:59 cotto I thought it did that already.
04:00 cotto guess not
04:01 bacek it was other way around
04:01 bacek pushing Op into OpMap with auto-generated mapping
04:01 bacek I need set_pmc_keyed_int to lookup Op from loaded PBC.
04:01 bacek really afk now
04:16 dalek parrot: 58c4c87 | mikehh++ | include/parrot/pointer_array.h:
04:16 dalek parrot: fix codetest failures - c function docs
04:16 dalek parrot: review: https://github.com/parrot/parrot/commit/58c4c87f7a
04:29 jsut_ joined #parrot
04:34 jsut left #parrot
04:55 woosley left #parrot
06:40 Eduardow joined #parrot
06:59 theory left #parrot
07:29 jimmy joined #parrot
07:30 jimmy left #parrot
07:47 alin joined #parrot
08:24 dalek parrot: 0c4badb | bacek++ | t/pmc/packfileopmap.t:
08:24 dalek parrot: Update test to explicitly skip test when no math_ops lib available.
08:24 dalek parrot: review: https://github.com/parrot/parrot/commit/0c4badbb77
08:24 dalek parrot: 0720b34 | bacek++ | / (2 files):
08:24 dalek parrot: Implement lookup of ops by mapped id in PackfileOpMap
08:24 dalek parrot: review: https://github.com/parrot/parrot/commit/0720b34f12
09:04 mj41 joined #parrot
09:10 dalek plumage: e661a25 | fperrad++ | src/lib/Plumage/NQPUtil.nqp:
09:10 dalek plumage: fix after http://github.com/parrot/parrot/commit/8​0bcb7372b887a10a5c11992f283239ca1dda56f
09:10 dalek plumage: review: https://github.com/parrot/​plumage/commit/e661a25f15
09:16 fperrad joined #parrot
09:21 mj41_nb joined #parrot
09:25 mj41 left #parrot
09:25 alin left #parrot
09:26 alin joined #parrot
09:42 bacek left #parrot
09:49 alin left #parrot
09:52 bacek joined #parrot
09:54 alin joined #parrot
09:57 mj41_nb left #parrot
09:58 mj41 joined #parrot
10:13 contingencyplan joined #parrot
10:20 janus` is now known as janus
10:34 contingencyplan left #parrot
10:50 whiteknight joined #parrot
10:54 whiteknight good morning, #parrot
10:54 JimmyZ joined #parrot
10:57 dalek parrot: f7e97d3 | bacek++ | src/pmc/packfileopmap.pmc:
10:57 dalek parrot: Add get_pmc_keyed_int as synonym for .get_string_keyed_int to simplify usage from nqp.
10:57 dalek parrot: review: https://github.com/parrot/parrot/commit/f7e97d35fa
10:57 dalek parrot: 6bd28a1 | bacek++ | src/pmc/packfilebytecodesegment.pmc:
10:57 dalek parrot: Partially recreate BytecodeSegment PMC from PackFile_ByteCode.
10:57 dalek parrot:
10:57 dalek parrot: This PMC is asking for refactor to expose PackFile_ByteCode in more sane way.
10:57 dalek parrot: review: https://github.com/parrot/parrot/commit/6bd28a1a2d
11:10 JimmyZ left #parrot
11:11 dalek parrot/jit_prototype: ac9b1ac | bacek++ | / (8 files):
11:11 dalek parrot/jit_prototype: Merge branch 'master' into jit_prototype
11:11 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/ac9b1ac5c4
11:11 dalek parrot/jit_prototype: eaa106e | bacek++ | / (5 files):
11:11 dalek parrot/jit_prototype: Merge branch 'master' into jit_prototype
11:11 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/eaa106e66c
11:12 giwi joined #parrot
11:18 dalek parrot/jit_prototype: 25d17b9 | bacek++ | t/jit/ (6 files):
11:18 dalek parrot/jit_prototype: Add test data
11:18 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/25d17b9423
11:18 dalek parrot/jit_prototype: 1e3d95b | bacek++ | t/jit/test.t:
11:18 dalek parrot/jit_prototype: Generate PBC on fly.
11:18 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/1e3d95beb9
11:18 dalek parrot/jit_prototype: 4b5ecec | bacek++ | t/jit/jitted.ops:
11:18 dalek parrot/jit_prototype: Small subset of 'jitted' ops
11:18 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/4b5ecec5c3
11:44 woosley joined #parrot
12:26 samwho joined #parrot
12:27 samwho left #parrot
12:35 kid51 joined #parrot
12:36 kid51 left #parrot
12:51 lucian joined #parrot
12:59 dalek parrot/jit_prototype: 8176fb7 | bacek++ | compilers/opsc/src/Ops/Op.pm:
12:59 dalek parrot/jit_prototype: Add Ops::Op.normalized_args accessor.
12:59 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/8176fb7e4b
12:59 dalek parrot/jit_prototype: 9a1c739 | bacek++ | compilers/opsc/src/Ops/Trans/C.pm:
12:59 dalek parrot/jit_prototype: Stylish rewrite bit of code-generation.
12:59 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/9a1c739b9c
12:59 dalek parrot/jit_prototype: 938d5d7 | bacek++ | compilers/opsc/src/Ops/Trans/C.pm:
12:59 dalek parrot/jit_prototype: Remove unused defines.
12:59 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/938d5d7ba8
12:59 dalek parrot/jit_prototype: 82fba92 | bacek++ | t/jit/test.t:
12:59 dalek parrot/jit_prototype: Add more debug output to "test".
12:59 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/82fba92538
12:59 dalek parrot/jit_prototype: 854e4ac | bacek++ | compilers/opsc/src/Ops/Op.pm:
12:59 dalek parrot/jit_prototype: Update docs.
12:59 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/854e4acc0d
12:59 dalek parrot/jit_prototype: 1a8551a | bacek++ | compilers/opsc/src/Ops/ (2 files):
12:59 dalek parrot/jit_prototype: Pass whole %context into Op.source to simplify passing additional stuff for Op::Trans
12:59 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/1a8551a204
12:59 dalek parrot/jit_prototype: caa51cd | bacek++ | compilers/opsc/src/Ops/ (3 files):
12:59 dalek parrot/jit_prototype: Pass %context to Trans from Op
12:59 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/caa51cdc13
13:07 cogno joined #parrot
13:09 dalek parrot/jit_prototype: 60c8c62 | bacek++ | compilers/opsc/ (4 files):
13:09 dalek parrot/jit_prototype: Add stub for Ops::Trans::JIT
13:09 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/60c8c627df
13:11 mj41 left #parrot
13:13 giwi left #parrot
13:20 zby_home joined #parrot
13:21 giwi joined #parrot
13:23 cogno left #parrot
13:23 cogno joined #parrot
13:35 cogno left #parrot
13:50 dalek parrot/jit_prototype: ec9b285 | bacek++ | src/pmc/packfile (2 files):
13:50 dalek parrot/jit_prototype: Merge branch 'master' into jit_prototype
13:51 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/ec9b285958
13:51 dalek parrot/jit_prototype: f020810 | bacek++ | compilers/opsc/src/Ops/Trans/JIT.pm:
13:51 dalek parrot/jit_prototype: Add few register accessors.
13:51 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/f020810f2f
13:51 dalek parrot/jit_prototype: 88d4cd3 | bacek++ | t/jit/test.t:
13:51 dalek parrot/jit_prototype: Kind of prototype of generated op bodies within current bytecode
13:51 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/88d4cd35d7
13:51 dalek parrot/jit_prototype: 920516c | bacek++ | t/jit/data/03.pir:
13:51 dalek parrot/jit_prototype: Extend test
13:51 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/920516cfa6
14:11 jsut joined #parrot
14:16 jsut_ left #parrot
14:25 Eduardow left #parrot
14:32 dalek parrot/jit_prototype: a44bfe5 | bacek++ | compilers/opsc/src/Ops/Op.pm:
14:32 dalek parrot/jit_prototype: Don't override ctx<level> if provided.
14:32 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/a44bfe5707
14:32 dalek parrot/jit_prototype: a31e86f | bacek++ | / (2 files):
14:32 dalek parrot/jit_prototype: Pregenerate 'BasicBlock' for each opcode and replace 'goto offset' with 'goto label' to reflect future semantic of jitted Sub
14:32 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/a31e86f530
14:50 ambs joined #parrot
15:03 woosley left #parrot
15:18 alin left #parrot
15:34 alin joined #parrot
15:38 dalek Rosella/harness_refactor: 3186125 | Whiteknight++ | s (2 files):
15:38 dalek Rosella/harness_refactor: add missing file and update setup.winxed
15:38 dalek Rosella/harness_refactor: review: https://github.com/Whiteknig​ht/Rosella/commit/3186125cd8
15:38 dalek Rosella/harness_refactor: 0c4d1ed | Whiteknight++ | s (6 files):
15:38 dalek Rosella/harness_refactor: move a file back to where it belongs. fix the build. Fix some bugs. Cleanup Loader
15:38 dalek Rosella/harness_refactor: review: https://github.com/Whiteknig​ht/Rosella/commit/0c4d1ed5d0
15:38 dalek Rosella/harness_refactor: 0670323 | Whiteknight++ | / (8 files):
15:38 dalek Rosella/harness_refactor: TestRun objects now have their own factory, and are created separately from the harness. View keeps track of all runs. Update the harness to show what the new logic looks like
15:38 dalek Rosella/harness_refactor: review: https://github.com/Whiteknig​ht/Rosella/commit/0670323c8e
15:39 Eduardow joined #parrot
15:41 theory joined #parrot
15:47 dalek parrot: ee2785c | mikehh++ | src/pmc/packfilebytecodesegment.pmc:
15:47 dalek parrot: fix codetest failure - line length
15:47 dalek parrot: review: https://github.com/parrot/parrot/commit/ee2785c5b6
16:02 plobsing left #parrot
16:02 plobsing joined #parrot
16:05 Eduardow left #parrot
16:07 dukeleto #~~
16:12 Hackbinary joined #parrot
16:13 giwi left #parrot
16:15 giwi joined #parrot
16:25 Eduardow joined #parrot
16:27 dukeleto Eduardow: howdy
16:30 dukeleto msg bacek some of the code on your blog gets obscured by the column on the right side
16:30 aloha OK. I'll deliver the message.
16:43 alin left #parrot
16:46 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#12712) fulltest) at 3_2_0-32-gee2785c - Ubuntu 10.10 i386 (g++-4.5)
16:50 rurban joined #parrot
17:33 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#12716) fulltest) at 3_2_0-32-gee2785c - Ubuntu 10.10 i386 (g++-4.5 --optimize --gc-gms)
18:02 Andy_ joined #parrot
18:26 dalek winxed: r871 | NotFound++ | trunk/winxedst1.winxed:
18:26 dalek winxed: operator -= used with string is a syntax error, not an internal error
18:26 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=871
18:34 ShaneC left #parrot
18:34 mikehh rakudo (25e5bd0) - builds on parrot (3_2_0-32-gee2785c) - make test, make spectest_smolder[(#12721), roast (15c1b74)] PASS - Ubuntu 10.10 i386 (g++-4.5 --optimize --gc-gms)
18:34 mikehh 27,631 ok, 0 failed, 606 todo, 1,799 skipped and 0 unexpectedly succeeded
18:42 Patterner left #parrot
18:42 ShaneC joined #parrot
18:45 mikehh winxed (r871) - make all/test/test1/test2 all ok - on parrot (3_2_0-32-gee2785c) - Ubuntu 10.10 i386 (g++-4.5 --optimize --gc-gms)
18:47 Psyche^ joined #parrot
18:47 Psyche^ is now known as Patterner
19:22 dukeleto i wonder how many slots parrot should ask for in GSoC...
19:41 contingencyplan joined #parrot
19:50 Tene all the slots!
19:51 mikehh Tene: :-}
19:57 dukeleto I ACCIDENTALLY .... ALL THE SLOTS!
19:58 * dukeleto finished parrot's org app for gsoc 2011
19:58 dukeleto we need to setup the feed URL still
20:24 * Coke skips review.
20:36 whiteknight dukeleto: I think we want at least 6 slots
20:36 whiteknight that seems like the kind of number we fill most years
20:37 whiteknight although we have heard from several prospective students already. We may run hotter this year
20:37 * lucian is thinking of applying to other orgs as well for good measure
20:39 whiteknight lucian: why, you worried we won't accept you?
20:39 lucian whiteknight: yeah :)
20:39 whiteknight lucian: if we liked you any more, we'd be sending flowers and chocolates
20:39 lucian heh
20:40 whiteknight lucian: and if you can deliver all or most of a working python compiler, we will easily cross that threshold
20:40 whiteknight PREPARE TO BE CREEPED OUT
20:41 lucian NOOOOOOOO! http://www.youtube.com/watch?v=S2N8eTx8LbE
20:42 Andy_ left #parrot
20:46 lucian whiteknight: minecraft's awesome anyway, even with the creepers
20:50 cotto ~~
20:50 lucian_ joined #parrot
20:50 * lucian_ hates his ISP
20:52 kid51 joined #parrot
20:52 whiteknight I haven't played the "real" minecraft. I only ever played the free alpha
20:52 whiteknight it was a cool time
20:53 cotto I feel like I'd get bored after a while and use (or write, then use) an API to generate stuff for me.
20:53 lucian_ whiteknight: i bought the beta, i felt it was worth it
20:54 lucian_ cotto: that's part of the fun. you can actually implement logic gates with redstone
20:54 cotto lucian_, sure.  I've seen the cpu
20:54 lucian left #parrot
20:54 lucian_ and there are a lot of custom maps "scripted" with redstone like that
20:54 lucian_ is now known as lucian
20:55 cotto I feel like I'm not a full nerd until I've implemented a CPU in something that wasn't designed to support implementing a CPU.
20:55 lucian cotto: custard!
20:55 cotto marble tracks would be pretty amazing
20:56 lucian also, i find these guys http://www.youtube.com/show?p=M-_uPjfjVzc&amp;s=1 amusing
20:57 cotto I'm not sure about a custard-based cpu.  It'd be delicious, but that's not necessarily a desirable characteristic of a processor.
20:57 dalek tracwiki: v78 | cotto++ | ParrotQuotes
20:57 dalek tracwiki: our only problem is that we love our students too much
20:57 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Pa​rrotQuotes?version=78&amp;action=diff
20:58 lucian :))
20:59 tadzik (:
20:59 cotto (:)
21:00 * cotto gets stuck in an infinite loop trying to parse that
21:02 lucian cotto: gotcha! you could flush stdout if that were true
21:02 lucian *couldn't
21:02 cotto I perform async i/o
21:03 * lucian approves
21:04 cotto melange is getting a new ui
21:04 tadzik nice
21:04 tadzik like cpan.org
21:04 * lucian hates melange a little
21:06 cotto me too, but it does a pretty good job given its developers' lack of resources
21:06 * cotto got schooled about how it's developed during gci
21:14 alin joined #parrot
21:18 perlite_ joined #parrot
21:20 kid51 Is there any branch that needs a smolder right now?
21:20 robertpeters joined #parrot
21:21 perlite left #parrot
21:21 perlite_ is now known as perlite
21:22 robertpeters is now known as robertpeters_WLS
21:22 lucian kid51: it's old http://photoshopcontest.com/images/fullsize/8710​3954dd4a8c3a96134af4a2af3439d43ab05b2730610.jpg
21:25 cotto *groan*
21:25 lucian it wasn't very funny at all, i know
21:26 lucian i just always think of very literal thing when "smolder" is mentioned
21:27 zby_home left #parrot
21:27 lucian "smouldering parrot" is a very powerful and disturbing mental image
21:29 kid51 lucian: While you were joking, I just got a report done on bacek's opsc_llvm branch
21:29 alin left #parrot
21:29 kid51 I look forward to smoke-testing some of your code ... someday ;-)
21:30 lucian kid51: i'll make sure to insulate accordingly
21:30 kid51 msg bacek opsc_llvm branch PASS on linux/i386 at commit 1d4307c913215aeeea43ee2d8a248261bccf77f5
21:30 aloha OK. I'll deliver the message.
21:31 lucian kid51: btw, you should have plenty opportunity if i get into gsoc this year
21:31 kid51 I look forward to that ... but you needn't wait for that to start!
21:32 lucian kid51: yes i do, i don't really have time right now :)
21:33 bacek Good morning, humans
21:33 bacek kid51, which version of llvm did you use?
21:33 bacek (for opsc_llvm branch testing)
21:34 cotto good morning, bacek
21:34 kid51 bacek: Same as previously reported (but I'll have to wait for the next branch to finish smoking to look that up)
21:34 kid51 Not the most recent, in any event
21:34 bacek kid51, ok, thanks
21:35 bacek cotto, aloha slacker
21:35 cotto bacek, do you have any thoughts on the M0 concept of function handles?
21:35 bacek cotto, nope. I was pretty much focused on other things.
21:36 bacek cotto, actually... If LLVM JIT will fly we can almost kill Lorito.
21:36 cotto basically it's an opaque thingy whose internals depend on the M0 implementation, but that stores the information needed to make (and return from) an ffi call.
21:36 cotto orly?
21:36 bacek afk # breakfast
21:37 lucian bacek: you mean keep the 1k parrot ops and compile them with clang?
21:38 alin joined #parrot
21:44 bacek lucian, s/clang/opsc/
21:44 lucian bacek: right, i forgot ops are written in a weird language
21:45 bacek lucian, which we can already parse (almost fully)
21:45 fperrad left #parrot
21:46 kid51 msg whiteknight http://smolder.parrot.org/app/​projects/report_details/12735; whiteknight/imcc_compreg_pmc branch has failures in 3 tests; linux/i386 HEAD
21:46 aloha OK. I'll deliver the message.
21:46 whiteknight kid51: yeah, we're still working on those
21:46 kid51 k
21:46 he left #parrot
21:48 bacek cotto, yes. Lorito consists (mostly) of two parts: "semantically parse ops/pmcs" and "emit jittable M0 from parsed ops/pmcs".
21:48 kid51 bacek:  $ /usr/bin/llvm-config --version    says: 2.2
21:49 bacek kid51, it's strange. Do you have llvm-2.7 installed?
21:49 kid51 No.  I just took whatever debian had available.
21:49 soh_cah_toa joined #parrot
21:49 kid51 IIRC, a couple of weeks back I was NOT passing with that version.
21:49 kid51 so this is an improvement.
21:49 he joined #parrot
21:50 bacek cotto, we now parse ops. If we replace M0 with LLVM than we done - Parrot is JITtable.
21:50 bacek kid51, looks like a bug in LLVM bindings. I have explicit loading of libLLVM-2.7.so inside code.
21:50 soh_cah_toa whiteknight: so i've been thinking about the gsoc debugger project and i'm curious: would i have to use any assembly?
21:51 bacek afk # $dayjob
21:51 whiteknight soh_cah_toa: what do you mean, assembly language?
21:51 lucian bacek: i'm very curious of the results you get with llvm
21:51 lucian it sounds a bit like a pasting jit
21:51 cotto bacek, jittable is one thing, but we also want to avoid the c/pir boundary
21:51 soh_cah_toa yeah. i mean, how else would i be able to read the registers and stuff
21:52 soh_cah_toa or would the debugger look at parrot's virtual registers and memory?
21:53 bacek cotto, M0 will not help with it.
21:54 cotto Not at first, but it will once we start writing core code in an M0 overlay langauge.
21:54 alin left #parrot
21:54 cotto *language
21:56 soh_cah_toa for instance, if the programmer using the debugger wanted to see the current state of the internal registers, would the values come from eax or $N1 for example?
21:56 alin joined #parrot
21:57 whiteknight soh_cah_toa: only Parrot's virtual registers. There would be no assembly involved
21:57 soh_cah_toa ok, i thought so
21:57 whiteknight soh_cah_toa: the lowest you would need to do is C. Depending on how you planned the project, you could do a little C and mostly higher-level stuff, or you could do mostly C and only a little higher-level stuf
21:58 soh_cah_toa yeah, i figured mostly c
21:58 lucian i'd guess gdb/valgrind can deal with C-level debugging
21:59 soh_cah_toa at what stage would the debugger be examing code? say the programmer wanted to debug a python program, would the debugger be examing the python code or the pir that it compiles to?
21:59 cotto they're pretty good
22:00 soh_cah_toa lucian: yeah, i was planning on looking at the source code for gdb soon
22:00 lucian soh_cah_toa: again, i'd say there already are tools for debugging python code
22:00 lucian soh_cah_toa: so perhaps pir/pbc-level debugging
22:00 soh_cah_toa ok
22:00 lucian don't trust what i say too much, though
22:01 kid51 msg bacek If you want '99-example.t' in opsc_llvm branch to get tested as part of 'make test', don't put it in subdirectory t/library/llvm/.  It won't get tested there.  Just put it in t/library/.
22:01 aloha OK. I'll deliver the message.
22:01 soh_cah_toa haha. well, i'll take all the help and advice i can get
22:02 soh_cah_toa this is my first open source project so i'm inclined to listen to any of your guys advice
22:03 soh_cah_toa i've worked on my own for several years but this would be my first time working with a group of developers as a team
22:04 alin left #parrot
22:05 kid51 soh_cah_toa: Speaking about "working with a group of developers as a team" ... In the coming month, we will be forming teams to work on roadmap goals for our July supported release.
22:06 kid51 soh_cah_toa: so, when you start seeing discussion about that here or in parrot-dev list, put your name forward!
22:06 soh_cah_toa of course
22:07 kid51 Those teams will be more tightly focused than "the Parrot project as a whole" and will enable you to work with our leading developers.
22:07 soh_cah_toa is that seperate from gsoc or are the gsoc projects a part of the roadmap for the new release?
22:07 kid51 It's distinct from GSOC.
22:08 kid51 We have begun (slowly) to make teams working on roadmap goals part of our standard operating procedure.
22:08 soh_cah_toa okay
22:08 soh_cah_toa so the new release would be done before gsoc work starts then?
22:08 kid51 But we really want GSOC projects to result in code that we can merge into master by the end of the summer.
22:09 kid51 soh_cah_toa:  Actually, we release every month, on the 3rd Tuesday.
22:09 kid51 We have "supported releases" in Jan Apr Jul Oct -- quarterly.
22:09 * soh_cah_toa marks calendar
22:09 kid51 Next supported release is 3.3, Tues Apr 19.
22:10 kid51 We have quarterly online Parrot Developer Summits, the second weekend after each quarterly supported release
22:10 ambs left #parrot
22:10 kid51 Hence, next PDS is weekend of Apr 30 - May 1.
22:10 soh_cah_toa that would be great. it would give me more time and experience with parrot development before gsoc
22:11 kid51 At that PDS, we will set Roadmap Goals for 3.6 supported release in mid-July
22:11 kid51 ... and form teams to implement those goals.
22:11 soh_cah_toa okay. is the pds in this irc channel?
22:11 kid51 So, hopefully, the Roadmap Goals we set for 3.6 will, at least, be consistent with GSOC projects.
22:11 kid51 Our meetings are held in #parrotsketch.
22:12 kid51 Weekly meeting Tuesday at 2030 UTC
22:12 soh_cah_toa oh okay. yeah, i saw that on the calendar and asked about it last night
22:12 kid51 Quarterly PDS is held on a weekend.  Exact day/time rotates to accommodate people in different parts of globe
22:12 dalek parrot/opsc_llvm: ff6ba19 | (luben karavelov)++ | t/library/llvm/03-constant.t:
22:12 dalek parrot/opsc_llvm: more test for generating constants
22:12 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/ff6ba19adc
22:12 dalek parrot/opsc_llvm: aa6f121 | (luben karavelov)++ | / (2 files):
22:12 dalek parrot/opsc_llvm: Flesh out LLVM::Constant
22:12 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/aa6f121e3d
22:12 whiteknight soh_cah_toa: the best bet is to work at the PBC level. We have annotation metadata in our PBC that typically includes file name and line number information for the HLL
22:13 whiteknight soh_cah_toa: so if you build a debugger that works at the PBC level, it can be used transparently with Perl6 code, Python code, Ruby code, etc
22:16 soh_cah_toa alright then
22:17 kid51 afk
22:17 soh_cah_toa are there any other resource besides docs/parrotbyte.pod where i can learn more about parrot bytecode? google mentions something about pdd 13 but i get a 404 error
22:17 lucian whiteknight: with the caveat that it's likely to not be really nice for either of them
22:17 whiteknight lucian: I see no reason why not
22:17 lucian s/it's likely not to/it's not likely/
22:18 whiteknight lucian: especially if the project was a debugger framework, which could be subclassed to provide per-HLL behaviors
22:18 lucian whiteknight: debuggers often know language-specific things that aren't necessarily mapped onto pbc
22:18 lucian whiteknight: then yeah, possible
22:19 soh_cah_toa true but wouldn't it be best to implent what is common to all parrot supported languages first (pbc) and then worry about language-specific constructs?
22:19 whiteknight right, that's my idea
22:19 soh_cah_toa okay
22:22 soh_cah_toa as i've been reading the parrot documentation, i see that a lot of it realies heavily on pmc's. from what i've been able to gather, are pmc's kind of like parrot's implementation of structures/objects?
22:24 cotto soh_cah_toa, something like that
22:24 cotto they're the abstract data types that get to do most of the interesting work
22:26 soh_cah_toa alright, that's what it thought
22:30 soh_cah_toa at what level do they exist? in pdd17 it says that they're delcared with the "pmclass" keyword. is this pir, pasm, or pbc?
22:30 cotto soh_cah_toa, there are C pmcs and pir-level pmcs
22:30 whiteknight soh_cah_toa: take a look at the .pmc files in src/pmc
22:30 whiteknight they're defined in C, but the C is heavily preprocessed
22:31 PacoLinux left #parrot
22:31 whiteknight soh_cah_toa: build Parrot from source. Then look at, for instance, src/pmc/string.pmc and the generated src/pmc/string.c
22:33 soh_cah_toa yeah, i compiled parrot a few days ago. so would a string pmc for perl be different or the same as a string pmc for python?
22:34 whiteknight soh_cah_toa: depends. We offer a basic String type, but HLLs can subclass that if they want custom behavior
22:34 whiteknight or, they could replace it entirely
22:34 whiteknight Parrot has a concept of "HLL Mappings". You set up a map, and when you are in your HLL, your mapped type is always used instead of the native types
22:35 soh_cah_toa alright, i think i'm starting to understand this a little better
22:35 whiteknight so if you're running partcl, Parrot will always use TclString instead of String
22:35 soh_cah_toa okay
22:37 soh_cah_toa so a string in a hll will actually be an abstract datatype (pmc) at a lower level (pir). interesting...
22:38 whiteknight well, there are two different things. There are STRING* structures, which are low-level strings, and then there are String PMCs, which contain a STRING and have methods and stuff
22:38 whiteknight so one is a low-level type, the other is an object wrapper
22:39 whiteknight STRING * is not subclassable. String PMC is
22:39 soh_cah_toa yeah
22:40 soh_cah_toa i like that idea. it adds more functionality and flexibility to regular datatypes
22:41 whiteknight PMCs are nice because they all have a common interface called the VTABLE
22:41 whiteknight every single PMC type, no matter what, implements the same interface
22:42 whiteknight so you can tell any PMC "give me a STRING of you", or "give me an integer value from you"
22:42 whiteknight or "Tell me what type you are"
22:42 whiteknight even HLL mapped versions, user-defined Objects, etc
22:42 soh_cah_toa right
22:43 lucian left #parrot
22:44 soh_cah_toa VTABLE is just like a dispatch table, right? an array of function pointers called depending on what the programmer is requested of an object
22:44 whiteknight exactly
22:44 whiteknight take a look at src/vtable.tbl for a list of all vtables in the system
22:44 whiteknight The list is needlessly bloated, as far as I am concerned, but that's what we have
22:45 whiteknight that file is parsed to generate code in src/vtable.c, include/parrot/vtable.h, etc
22:45 soh_cah_toa okay
22:46 soh_cah_toa man, i am loving all this documentation. i was worried that i wouldn't be able to learn the internals of parrot before gsoc but just within one weekend i think i've learned a lot
22:46 whiteknight yeah, it's surprisingly easy to learn the fundamentals
22:47 soh_cah_toa i also like how everything's in pod format
22:48 whiteknight that's a holdover from our perl roots
22:48 soh_cah_toa let's me use pod2html so that i can print everything out and read anywhere i need it
22:50 whiteknight I think we have most of it online
22:50 whiteknight docs.parrot.org
22:51 whiteknight yes
22:51 soh_cah_toa yeah, most of it's the same
22:51 cotto updating docs.parrot.org is part of the release process
22:52 soh_cah_toa that's good
22:52 soh_cah_toa you guys are very thorough. i like it
22:53 cotto I'm glad you're finding it easy to get started.
22:53 whiteknight yes, that is quite a good thing
22:53 cotto You'll undoubtedly find dark undocumented corners as you progress.  We have a lot of them.
22:54 soh_cah_toa that's inevitable though
22:57 bacek_at_work ~~
22:57 cotto bacek_at_work, ~~
23:00 bacek_at_work cotto, aloha
23:06 rurban_ joined #parrot
23:08 rurban left #parrot
23:08 rurban_ is now known as rurban
23:09 dalek parrot/m0-spec: 50d13ca | cotto++ | docs/pdds/draft/pdd32_m0.pod:
23:09 dalek parrot/m0-spec: change interface for function handles
23:09 dalek parrot/m0-spec: review: https://github.com/parrot/parrot/commit/50d13caeb7
23:09 dalek parrot/m0-spec: fdcc556 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
23:09 dalek parrot/m0-spec: decide how types will work, expand the example
23:09 dalek parrot/m0-spec: review: https://github.com/parrot/parrot/commit/fdcc5564ee
23:09 dalek parrot/m0-spec: 8f02e93 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
23:09 dalek parrot/m0-spec: don't assume that thunks are the only mechanism for ffi calls
23:09 dalek parrot/m0-spec: review: https://github.com/parrot/parrot/commit/8f02e9301b
23:09 dalek parrot/m0-spec: c3c1e4e | cotto++ | docs/pdds/draft/pdd32_m0.pod:
23:09 dalek parrot/m0-spec: finish initial proposal for ffi
23:09 dalek parrot/m0-spec: review: https://github.com/parrot/parrot/commit/c3c1e4e9fa
23:16 dalek parrot/opsc_llvm: 1c76a45 | bacek++ | runtime/parrot/library/LLVM/Constant.pm:
23:16 dalek parrot/opsc_llvm: Use bit of static typing in LLVM bindings.
23:16 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/1c76a45b93
23:16 soh_cah_toa whiteknight: you mentioned a few days ago that the current debugger is very buggy. is there a way i can find a list of bug reports?
23:17 soh_cah_toa that way i can have some sort of starting point
23:17 Coke bug reports: http://trac.parrot.org/ -> View Tickets
23:17 Coke but the debugger is, IME, not reported against, because no one expects it to work.
23:18 soh_cah_toa wow. it's that bad, huh?
23:20 kid51 left #parrot
23:21 petdance joined #parrot
23:23 cotto heh.  github's yelling at me about pod errors
23:23 cotto I love the future.
23:25 dalek parrot/m0-spec: 90d40d3 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
23:25 dalek parrot/m0-spec: fix pod
23:25 dalek parrot/m0-spec: review: https://github.com/parrot/parrot/commit/90d40d3513
23:45 whiteknight soh_cah_toa: yeah, it just completely doesn't work.
23:46 soh_cah_toa i'm going through the source code now. seeing what i can do with it
23:54 whiteknight what the current debugger does now, if I am remembering correctly, is sets up a second debugger interpreter object, then relies on a series of built-in events to do debuggery things
23:54 whiteknight the problem is that many of those built-in events have since disappeared
23:54 whiteknight a
23:55 whiteknight As I mentioned the other day, the best way forward is with Parrot-Instrument. That adds in all the features you would need
23:55 whiteknight the problem is making Parrot-Instrument work, which it does't quite

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

Parrot | source cross referenced