Camelia, the Perl 6 bug

IRC log for #parrot, 2011-05-28

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 kid51 is now known as kid51_at_dinner
00:00 dalek Rosella: 5ca7208 | Whiteknight++ | src/unstable/file/Directory.winxed:
00:00 dalek Rosella: A few fixes so Directory passes a handful of manual tests
00:00 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/5ca7208e17
00:01 dalek parrot/leto/embed_grant: 70ebe91 | dukeleto++ | t/src/extend_vtable.t:
00:01 dalek parrot/leto/embed_grant: [t] Parrot_PMC_(get|set)_attr_str
00:01 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/70ebe91df8
00:01 dalek parrot/leto/embed_grant: 271d5be | dukeleto++ | t/src/extend_vtable.t:
00:01 dalek parrot/leto/embed_grant: [t] Parrot_PMC_instantiate
00:01 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/271d5be9bc
00:01 dalek parrot/leto/embed_grant: dba2c0f | dukeleto++ | t/src/extend_vtable.t:
00:02 dalek parrot/leto/embed_grant: [t] Parrot_PMC_i_repeat(_int)
00:02 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/dba2c0fb80
00:02 dukeleto msg kid51 do you still have questions about getting access to the gcc compile farm?
00:02 aloha OK. I'll deliver the message.
00:09 dalek parrot/leto/embed_grant: b735ced | dukeleto++ | t/src/extend_vtable.t:
00:09 dalek parrot/leto/embed_grant: [t] Parrot_PMC_repeat(_int)
00:09 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/b735ced4bd
00:16 dmalcolm left #parrot
00:16 dukeleto incoming
00:16 dalek Heuristic branch merge: pushed 29 commits to parrot by leto
00:17 dukeleto dalek fails to say which branch or give karma
00:17 benabik anticlimatic
00:17 dukeleto benabik: indeed
00:17 * dukeleto sacrifices a virgin floppy disk to the test coverage elder gods
00:18 benabik dukeleto++ dukeleto++ # commits skipped by dalek
00:18 * benabik isn't going to do all 29, sorry.
00:18 sorear rakudo: say " dukeleto{""}++ " x 27;
00:18 p6eval rakudo 0d3c71: OUTPUT« dukeleto++  dukeleto++  dukeleto++  dukeleto++  dukeleto++  dukeleto++  dukeleto++  dukeleto++  dukeleto++  dukeleto++  dukeleto++  dukeleto++  dukeleto++  dukeleto++  dukeleto++  dukeleto++  dukeleto++  dukeleto++  dukeleto++  dukeleto++  dukeleto++  dukeleto++  dukeleto++
00:18 p6eval ..dukel…
00:19 theory left #parrot
00:20 dukeleto sorear: i apprecate it, even though dalek only counts 1 karma per line :)
00:26 cotto ~
00:29 cotto karma foo
00:29 aloha foo has karma of 5.
00:29 cotto foo++ foo++ foo++
00:30 cotto karma foo
00:30 aloha foo has karma of 6.
00:30 benabik karma bar
00:30 aloha bar has karma of 4.
00:30 cotto I thought bacek fixed that.
00:30 benabik karma baz
00:30 aloha baz has karma of 0.
00:32 TonyC left #parrot
00:32 nopaste left #parrot
00:32 TonyC joined #parrot
00:38 soh_cah_toa cotto: have you ever seen the "error: expected specifier-qualifier-list before ‘opcode_t’" message from gcc before?
00:40 nopaste joined #parrot
00:40 cotto soh_cah_toa, that's a new one
00:41 cotto soh_cah_toa, have you pushed?
00:41 soh_cah_toa cotto: yeah
00:41 cotto I see
00:42 cotto soh_cah_toa, it'll be tricky for gcc to figure out what opcode_t means before any parrot headers are included.
00:43 benabik cotto: details
00:43 cotto benabik, I know, right?
00:43 cotto stupid compilers
00:43 soh_cah_toa cotto: i tried it when include include/parrot/parrot.h but then i got a whole new bunch of errors
00:45 cotto soh_cah_toa, the right approach may be to include hbdb.h in interpreter.h, similar to debugger.h
00:45 soh_cah_toa cotto: alright, let's see...
00:47 soh_cah_toa cotto: nope
00:48 cotto sadness
00:53 cotto add typedef struct hbdb_breakpoint hbdb_breakpoint; before the struct definition
00:56 soh_cah_toa wtf?
00:56 soh_cah_toa it works
00:57 soh_cah_toa how does having a hbdb_breakpoint struct and hbdb_breakpoint type fix that?
00:58 cotto tbh, I found a similar-looking problem via ddg
01:00 soh_cah_toa weird...
01:02 cotto the sum of my understanding is that there needs to be a placeholder definition that tells the compiler that hbdb_breakpoint is a struct before it starts parsing hbdb_breakpoint's full definition
01:28 kid51_at_dinner left #parrot
01:44 * dukeleto got a PL/Perl6 talk accepted to PDXPUGDay http://wiki.postgresql.org/wiki/PDXPUGDay2011
02:00 bacek joined #parrot
02:08 whiteknight soh_cah_toa: the C compiler is a 1-pass compiler. That means you need to have a declaration of things before you use them
02:08 whiteknight so you need to declare a data structure before you declare a function which uses it
02:08 whiteknight and in some cases, you need to have forward-declarations of each before the "real" declarations, to resolve loops
02:09 dalek Rosella: b8284b7 | Whiteknight++ | src/unstable/file/ (2 files):
02:09 dalek Rosella: walk is a method on Directory. Fix Visitor.List so it works again
02:09 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/b8284b7f0a
02:09 dalek Rosella: 71653bb | Whiteknight++ | src/unstable/file/ (3 files):
02:09 dalek Rosella: move is_file/is_dir logic into Visitor base class
02:09 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/71653bbd1e
02:09 dalek Rosella: aad9693 | Whiteknight++ | s (11 files):
02:09 dalek Rosella: rename 'file' library to 'filesystem'
02:09 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/aad9693f7d
02:09 dalek Rosella: 75e705c | Whiteknight++ | setup.winxed:
02:09 dalek Rosella: Add the new FileSystem.winxed file to the build and fix things so it passes my little adhoc tests again
02:09 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/75e705cae1
02:09 dalek Rosella: d64113b | Whiteknight++ | src/unstable/filesystem/FileSystem.winxed:
02:09 dalek Rosella: really really add the file this time
02:09 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/d64113bf13
02:13 whiteknight left #parrot
02:15 contingencyplan joined #parrot
02:17 bacek left #parrot
02:59 bubaflub left #parrot
03:40 mtk left #parrot
03:49 mtk joined #parrot
04:23 preflex left #parrot
04:25 preflex joined #parrot
04:27 soh_cah_toa left #parrot
04:32 ShaneC joined #parrot
05:00 gbacon left #parrot
06:01 dukeleto 95.5% coverage of http://tapir2.ro.vutbr.cz/cover/late​st-c_cover/src-extend_vtable-c.html !
06:01 dukeleto the elder gods were pleased
06:01 sorear yay
06:15 cotto ~~
06:40 cotto dukeleto, ping
06:47 jsut_ joined #parrot
06:51 jsut left #parrot
06:57 cotto msg dukeleto I put some more (and better-formed) questions for tomorrow in the gist.  Feel free to fork and add or modify.
06:57 aloha OK. I'll deliver the message.
08:45 mj41 joined #parrot
08:47 ShaneC left #parrot
10:09 mj41 left #parrot
10:13 jsut joined #parrot
10:15 gbacon joined #parrot
10:17 jsut_ left #parrot
10:49 Kulag left #parrot
10:51 whiteknight joined #parrot
10:58 Kulag joined #parrot
11:00 whiteknight good morning, #parrot
11:02 tadzik goo morning whiteknight
11:02 tadzik or even good!
11:04 whiteknight hello tadzik, how is the coding going?
11:04 tadzik whiteknight: fighting my way through PAST
11:05 tadzik or now it's maybe Perl6
11:10 dodathome joined #parrot
11:12 jsut_ joined #parrot
11:15 JimmyZ joined #parrot
11:16 jsut left #parrot
11:20 ligne left #parrot
11:30 mtk left #parrot
11:36 mtk joined #parrot
11:40 preflex left #parrot
11:43 preflex joined #parrot
11:59 ambs joined #parrot
12:02 lucian joined #parrot
12:11 preflex left #parrot
12:13 preflex joined #parrot
12:23 Kulag left #parrot
12:37 Kulag joined #parrot
12:40 lucian left #parrot
12:47 lucian joined #parrot
12:54 contingencyplan left #parrot
13:15 ligne joined #parrot
13:39 bubaflub joined #parrot
13:54 dalek Rosella: 03d1946 | Whiteknight++ | VERSION:
13:54 dalek Rosella: Add filesystem to VERSION
13:54 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/03d194679a
13:54 dalek Rosella: f00a966 | Whiteknight++ | src/core/IO.winxed:
13:54 dalek Rosella: add sayf and printf functions. They're simple but I end up using them all the time
13:54 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/f00a966bd6
13:54 dalek Rosella: c0b911a | Whiteknight++ | / (4 files):
13:54 dalek Rosella: Add a deletion visitor to delete directories recursively. Implement Directory.delete with it.
13:54 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/c0b911af9a
14:24 gbacon left #parrot
14:26 hudnix joined #parrot
14:28 kid51 joined #parrot
14:38 rohit_nsit08 joined #parrot
14:58 jsut joined #parrot
15:03 jsut_ left #parrot
15:21 cotto left #parrot
15:50 kid51 left #parrot
16:51 JimmyZ left #parrot
16:56 rohit_nsit08 left #parrot
17:31 dukeleto ~~
17:41 lucian_ joined #parrot
17:41 lucian left #parrot
17:48 whiteknight hello dukeleto
18:00 dukeleto whiteknight: wazzup
18:01 * dukeleto is prepping to meet up with cotto++, chromatic++ and allison++ about M0
18:05 sorear YAPC::RU?
18:06 jsut_ joined #parrot
18:07 dukeleto sorear: nope, we are all meeting in Porland, OR :)
18:10 tadzik YAPCOR!
18:10 jsut left #parrot
18:14 soh_cah_toa joined #parrot
18:22 dukeleto tadzik: :)
18:29 sorear how is M0 doing?
18:38 dalek TT #2126 created by dukeleto++: Parrot_PMC_morph acting odd
18:38 dalek TT #2126: http://trac.parrot.org/parrot/ticket/2126
18:54 ambs left #parrot
18:55 sorear dukeleto: most of Rakudo's C code is in dynpmcs
18:55 sorear dukeleto: dynpmcs are forced to include <parrot/parrot.h>
19:00 cotto joined #parrot
19:01 cotto ~~
19:02 sorear hello cotto.
19:04 cotto hi sorear
19:16 mtk left #parrot
19:25 mtk joined #parrot
19:36 kid51 joined #parrot
19:41 spinclad left #parrot
19:48 contingencyplan joined #parrot
19:49 mj41 joined #parrot
19:59 whiteknight heh, fun new results
20:00 whiteknight N = 100000
20:00 whiteknight sort with .sort BUILTIN - 4.757166s - %100.000000 (%0.000000 diff)
20:00 whiteknight sort with Rosella Query - 3.422617s - %71.946559 (%-28.053441 diff)
20:00 whiteknight qsort+insertion sort - 2.789996s - %58.648283 (%-41.351717 diff)
20:00 whiteknight 41% less time than the built-in if we use a hybrid insertion sort + quicksort
20:01 whiteknight well, that's for an input array which is in perfect reverse order
20:02 cotto talking with dukeleto, allison and chromatic about m0
20:02 mtk left #parrot
20:04 whiteknight cotto++ nice
20:04 whiteknight N = 100000
20:04 whiteknight sort with .sort BUILTIN - 4.853371s - %100.000000 (%0.000000 diff)
20:04 whiteknight qsort+insertion sort - 2.571077s - %52.975080 (%-47.024920 diff)
20:04 whiteknight that's with the transition value tuned to 14 items
20:04 whiteknight that seems to be the sweet spot
20:04 whiteknight so, 47% better than the current sort routine
20:08 whiteknight I need to test with a random array too
20:11 kid51 Barcelona 3, Man United 1
20:17 lucian_ whiteknight: interesting. this also shows that a nicer language makes experimenting easier
20:17 whiteknight I've got a much larger test coming up soon
20:24 whiteknight N = 100000
20:24 whiteknight sort with .sort BUILTIN (presorted) - 4.791100s - %100.000000 (%0.000000 diff)
20:24 whiteknight sort with .sort BUILTIN (reversed) - 4.817222s - %100.545221 (%0.545221 diff)
20:24 whiteknight sort with .sort BUILTIN (random) - 7.011140s - %146.336751 (%46.336751 diff)
20:24 whiteknight sort with Rosella Query (reversed) - 3.358541s - %70.099580 (%-29.900420 diff)
20:24 whiteknight sort with Rosella Query (random) - 4.409708s - %92.039573 (%-7.960427 diff)
20:24 whiteknight qsort+insertion sort (reversed) - 2.662546s - %55.572747 (%-44.427253 diff)
20:24 whiteknight qsort+insertion sort (random) - 4.098206s - %85.537889 (%-14.462111 diff)
20:25 sorear hmm, did we switch .sort to n/2 pivoting?
20:25 lucian_ again, quite interesting
20:25 sorear ISTR that sort(N =100000, presorted) did not finish at all last time I tried
20:25 lucian_ the difference is indeed gigangic
20:26 lucian_ i'd heard a handwavy and interesting story from cotto about M0 being a target for a C-like language, without the stack. this sort of results reinforce that
20:26 lucian_ also, PyPy and JikesRVM
20:26 * lucian_ should stop blabbering
20:27 lucian_ is now known as lucian
20:28 dafrito joined #parrot
20:29 estrabd left #parrot
20:30 estrabd joined #parrot
20:34 dodathome left #parrot
20:52 jsut joined #parrot
20:57 jsut_ left #parrot
21:10 dafrito left #parrot
21:42 dafrito joined #parrot
21:45 Psyche^ joined #parrot
21:51 Patterner left #parrot
21:51 Psyche^ is now known as Patterner
21:59 kid51 left #parrot
22:02 lucian left #parrot
22:14 bubaflub dukeleto: ping
22:16 davidfetter joined #parrot
22:17 whiteknight I should rearrange those result sets better. What's the most interesting result is the random list on the builtin, and the random list on my hybrid implementation
22:17 whiteknight 7.01s - 4.10s
22:17 whiteknight that's not anything to sneeze at
22:19 whiteknight sorear: the builtin version has always used pivot=N/2. The Rosella version does now too
22:19 bubaflub whiteknight: why is the builtin one so slow?  C -> PIR barrier?
22:19 whiteknight bubaflub: as best I can tell, yes
22:20 whiteknight sorear: I'm thinking about moving to a median-of-three pivot selection, or a random selection for Rosella
22:30 mj41 left #parrot
22:49 dafrito left #parrot
23:21 dalek Rosella: 6589eff | Whiteknight++ | src/ (2 files):
23:21 dalek Rosella: +docs for Rosella.IO
23:21 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/6589eff199
23:21 dalek Rosella: 11b669b | Whiteknight++ | s (4 files):
23:21 dalek Rosella: Add in a visitor which executes an arbitrary function on all files. Add in a method on Directory to do this easily
23:21 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/11b669b60b
23:21 dalek Rosella: 8578b07 | Whiteknight++ | src/unstable/filesystem/ (7 files):
23:21 dalek Rosella: +docs for filesystem
23:21 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/8578b07028
23:21 dalek Rosella: 2707402 | Whiteknight++ | benchmarks/query/sort.winxed:
23:21 dalek Rosella: update the sort benchmark, to show more data sets and more sorting options, including the qsort+isort hybrid which I am exploring
23:21 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/270740253d
23:27 davidfetter left #parrot
23:36 spinclad joined #parrot
23:48 contingencyplan left #parrot
23:50 Limbic_Region joined #parrot
23:56 dalek parrot-gmp: aa7c432 | bubaflub++ | gmph2ncidef.pl:
23:56 dalek parrot-gmp: first shot at gmph2ncidef
23:56 dalek parrot-gmp:
23:56 dalek parrot-gmp: script to read gmp.h and output nci2def
23:56 dalek parrot-gmp: so far parses correctly
23:56 dalek parrot-gmp: need to add more type mappings i.e.
23:56 dalek parrot-gmp: void -> v
23:56 dalek parrot-gmp: review: https://github.com/bubaflub/​parrot-gmp/commit/aa7c432f6e
23:57 * dukeleto waves from YAPC::OR
23:57 bubaflub dukeleto: unping

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

Parrot | source cross referenced