Camelia, the Perl 6 bug

IRC log for #parrot, 2011-11-24

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:38 Yuki`N Can I get the current unix time via a winxed builtin function?
00:39 dukeleto Yuki`N: ping NotFound about that
00:39 * dukeleto has to head to the relatives
00:42 Yuki`N alright
00:43 Yuki`N will you have the opportunity to review my task?
00:51 tristan_ joined #parrot
00:52 tristan_ Is Andrew Whitworth here?
01:13 whiteknight joined #parrot
01:14 tristan_ whiteknight: Can you mark my GCI task as completed? Leto couldn't do it. See this: https://github.com/parrot/parrot/pull/206
01:14 whiteknight yes! Give me a minute to look at it
01:16 Yuki`N whiteknight, is there long integer support in Parrot? I completely forget.
01:17 whiteknight tristan_: Did you open a pull request?
01:17 whiteknight Yuki`N: we have a BigInt PMC type, but it's optional.
01:18 whiteknight you only get it if you have libgmp-dev installed on your system and configure/build parrot with it
01:18 Yuki`N I can't implement mersenne twister get_float without it.
01:18 whiteknight Yuki`N: it absolutely needs big ints?
01:19 Yuki`N I'll look for alternative ways to generate floats, but this Java implementation uses 64-bit ints.
01:19 tristan_ whiteknight: see my link. Leto already closed it. He just doesn't have permission to close it on the GCI site.
01:19 whiteknight Yuki`N: if you're on a 64-bit machine, Parrot will have 64-bit integers
01:20 alvis joined #parrot
01:20 Yuki`N whiteknight, I can't rely on that though.
01:21 whiteknight tristan_: okay, it doesn't look like dukeleto actually merged it, but I'll deal with that later.
01:23 whiteknight tristan_: task closed. Congrats. Thanks for the help
01:27 Yuki`N hmmm
01:27 Yuki`N I need to look through the parrot opcodes for a right shift with sign extension.
01:27 jsut joined #parrot
01:28 whiteknight Yuki`N: src/ops/bit.ops
01:28 whiteknight I see shr and lsr (shift right, logical shift right), etc
01:29 tristan_ whiteknight: thanks. I like how parrot uses github for their tasks. Having to submit files is so old school.
01:29 Yuki`N Would you happen to know whether or not the >> in winxed is logical or arithmetic?
01:29 whiteknight tristan_: yes, we like github a lot
01:29 whiteknight Yuki`N: we can find out quick
01:30 Yuki`N I suppose so
01:30 whiteknight winxed -o - -c -e "int x; x = x << 4;"
01:30 whiteknight shl
01:30 Yuki`N It's arithmetic.
01:31 whiteknight which do you need, logical?
01:31 Yuki`N Yes.
01:31 Yuki`N This is a pain.
01:31 Yuki`N Can we add an operator to winxed?
01:31 whiteknight you can do a raw parrot op with ${ } syntax
01:31 whiteknight ${ lsr x, y, z }
01:32 whiteknight same as x = lsr y, z in PIR
01:32 whiteknight msg NotFound we would like to add ops to winxed for logical shift (lsr, lsl). What do you think?
01:32 aloha OK. I'll deliver the message.
01:37 blaise does winxed not have >>= and <<= or did I just not find them?
01:37 blaise also, &=, |=, and ^=
01:37 whiteknight blaise: I am pretty sure it does have at least some of them. Let me look
01:39 whiteknight no, maybe it doesn't
01:39 whiteknight you're going to have to do long-form on those operations.
01:40 blaise yeah, that's what I did for the smoothsort one
01:41 Yuki`N blaise, care that >> is arithmetic and not logical shift.
01:41 Yuki`N whiteknight, would I have to embed PASM to load a dynoplib?
01:42 whiteknight Yuki`N: no, there is a $load directive
01:42 whiteknight or maybe $loadlib
01:42 whiteknight which dynops do you need?
01:42 Yuki`N sys.ops
01:45 whiteknight $loadlib "sys_ops"
01:48 Yuki`N Alright!
01:48 Yuki`N Mersenne Twister implementation complete.
01:48 whiteknight :)
01:48 whiteknight Yuki`N++
01:48 Yuki`N I need dukeleto to approve my current task though.
01:48 Yuki`N And he's travelling.
01:48 whiteknight you're going to get to tell your algorithms professor how much ass you kicked
01:48 whiteknight let me look at it
01:49 whiteknight the libgit2 one? I just closed it
01:49 whiteknight BAM
01:50 jsut_ joined #parrot
01:50 Yuki`N whiteknight, https://github.com/nol888/Rosella/commit/​98ffa77a64cd06a1a3ac506ba0398ea7309bef49
01:50 Yuki`N BAM.
01:51 Yuki`N I got the build working 100% though. Made the Makefile symlink rosella -> Rosella/rosella
01:53 whiteknight oh, clever
01:55 Yuki`N Meanwhile I requested claim on your mersenne twister task.
01:55 Yuki`N http://www.google-melange.com/gci​/task/view/google/gci2011/7172206
01:55 Yuki`N .c
01:58 whiteknight accepted. I would wish you luck, but...
02:01 whiteknight blaise: I just ran the smoothsort benchmarks. 210% slower than my quicksort
02:01 whiteknight so....there's room for improvement
02:01 whiteknight :)
02:01 whiteknight I'm going to play with it a little bit, see what I can do
02:02 blaise wow, that isn't very good
02:02 blaise maybe it's the arithmetic shift thing?
02:04 blaise ^ not a serious suggestion
02:07 whiteknight I got it down to 57% slower by turning LP into a class attribute like you intended
02:07 blaise wow, dramatic
02:07 dalek Rosella: 47b410f | (Blaise Ritchie)++ | benchmarks/query/sort.winxed:
02:07 dalek Rosella: Added smoothsort
02:07 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/47b410f974
02:07 dalek Rosella: c4246e0 | (Blaise Ritchie)++ | benchmarks/query/sort.winxed:
02:07 dalek Rosella: Added back old code
02:07 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/c4246e0a52
02:07 dalek Rosella: 01fe811 | Whiteknight++ | benchmarks/query/sort.winxed:
02:07 dalek Rosella: Merge in smoothsort implemenation from blaise++. Add it to the list of benchmarks that we run (hint: it's very poor)
02:07 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/01fe811607
02:07 dalek Rosella: ff5ed58 | Whiteknight++ | benchmarks/query/sort.winxed:
02:07 dalek Rosella: Fix indending on smoothsort. Use class attributes instead of recreating the LP and other array every time we call a function.
02:07 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/ff5ed585bf
02:08 Yuki`N >recreating the LP and other array
02:08 Yuki`N oh god functional programming.
02:08 blaise I couldn't get the class attribute thing working correctly
02:08 blaise kept throwing errors at me, so I ended up doing this so I could test the implementation
02:10 blaise four-space indentation?
02:15 Nol888 joined #parrot
02:17 particle joined #parrot
02:18 whiteknight blaise: yeah, I've been using 4 space indents, and it's easier just to keep consistent at this point
02:20 blaise reasonable, any future work for this I do I'll keep it four space
02:22 whiteknight ha! Smoothsort is now 1% faster than the built-in quicksort for random data
02:22 whiteknight and 8% faster than Timsort
02:22 whiteknight Smoothsort appears to really dislike reverse-sorted lists
02:22 whiteknight so it does very bad there
02:26 Nol888 timsort performs poorly on completely random data, though.
02:28 whiteknight right, every sort has inputs that it performs poorly on
02:28 whiteknight timsort does very well if the data is mostly sorted, or mostly reverse-sorted
02:30 blaise smoothsort does well if it's mostly sorted, doesn't it?
02:32 whiteknight I'm running some benchmarks now, I'll show you the results
02:34 whiteknight ...at least, I would show you but my mouse stopped working
02:34 whiteknight (my laptop)--
02:37 whiteknight joined #parrot
02:37 whiteknight https://gist.github.com/1390508
02:38 whiteknight smoothsort blows quicksort out of the water for the presorted array. Does the worst on the reverse-sorted array. Does in the ballpark well for the random array
02:38 whiteknight timsort does great on the presorted, great on the reverse-sorted, and terrible on the random
02:42 dalek Rosella: ee8e2e0 | Whiteknight++ | / (2 files):
02:42 dalek Rosella: Fix qsort so it goes in the right direction. Add pre-sorted benchmarks for sort algorithms
02:42 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/ee8e2e0526
02:42 whiteknight Okay, I think I'm shutting down for the night. I will *try* to be on tomorrow morning to approve/accept tasks. I will *try* to be on tomorrow night at some point to do the same
02:42 whiteknight no promises, the holiday is always crazy
02:44 whiteknight goodnight
03:14 jsut joined #parrot
03:27 dukeleto ~~
03:29 * dukeleto in transit, tethering, so I am not clogging GCI
03:52 dukeleto msg whiteknight i want to use the source of your tasks and tweak them, do they live in a repo?
03:52 aloha OK. I'll deliver the message.
04:34 RobertLJ1 left #parrot
05:07 rfw joined #parrot
06:30 contingencyplan joined #parrot
06:35 contingencyplan joined #parrot
08:23 mj41 joined #parrot
08:28 lucian joined #parrot
09:15 lucian joined #parrot
09:45 mj41 joined #parrot
10:13 jsut_ joined #parrot
10:50 dalek nqp/nci: 329046c | moritz++ | Configure.pl:
10:50 dalek nqp/nci: Fix the build on Linux amd64/gcc
10:50 dalek nqp/nci:
10:50 dalek nqp/nci: Without this fix, "make" in the dyncall-0.6 directory would copy the .a
10:50 dalek nqp/nci: files into a build_out/*/ dir, and thus the nqp ops compilation failed.
10:50 dalek nqp/nci:
10:50 dalek nqp/nci: I hope this doesn't break the build on other platforms.
10:50 dalek nqp/nci: review: https://github.com/perl6/nqp/commit/329046ce79
11:10 whiteknight joined #parrot
11:34 whiteknight good morning, #parrot
11:37 bacek joined #parrot
11:42 dalek Rosella: de587e3 | Whiteknight++ | / (4 files):
11:42 dalek Rosella: Use  instead of 'using extern', as per Winxed deprecation. dukeleto++ for pointing this out. Fixes issue #34
11:42 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/de587e37af
11:46 dalek Rosella: eb39b3f | Whiteknight++ | / (4 files):
11:46 dalek Rosella: Merge pull request #33 from nol888/master
11:46 dalek Rosella:
11:46 dalek Rosella: Add Mersenne Twister implementation.
11:46 dalek Rosella:
11:46 dalek Rosella: Yuki'N++ for the excellent work.
11:46 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/eb39b3f056
11:52 dalek Rosella: 636fe72 | Whiteknight++ | examples/mersenne.winxed:
11:52 dalek Rosella: Fix compilation warning on the mersenne example using a forward declaration
11:52 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/636fe721ba
11:53 dalek Rosella: 689ae06 | Whiteknight++ | src/unstable/random/ (2 files):
11:53 dalek Rosella: A few small code cleanups to the new random lib
11:53 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/689ae06dd1
11:59 dalek rakudo/nci: 1340fa6 | jnthn++ | src/core/Parameter.pm:
11:59 dalek rakudo/nci: Parameter.type should return the type, not its name.
11:59 dalek rakudo/nci: review: https://github.com/rakudo/rakudo/commit/1340fa68ba
11:59 dalek nqp/nci: e11c46a | jnthn++ | src/ops/nqp_dyncall.ops:
11:59 dalek nqp/nci: Decontainerize passed arguments.
11:59 dalek nqp/nci: review: https://github.com/perl6/nqp/commit/e11c46a7bc
12:12 Psyche^ joined #parrot
13:22 JimmyZ joined #parrot
13:50 mj41 joined #parrot
14:10 dalek winxed: 91e4694 | NotFound++ | t/advanced/02postincdec.t:
14:10 dalek winxed: typo in test (how I didn't notice it?)
14:10 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/91e46947b7
14:11 dalek winxed: 38ff428 | NotFound++ | examples/Mysql.winxed:
14:11 dalek winxed: fix StructView used for results in example Mysql
14:11 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/38ff4288d8
14:18 dalek winxed: 3080ce3 | NotFound++ | / (3 files):
14:18 dalek winxed: operator >>> (unsigned shift right)
14:18 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/3080ce3df1
14:51 dalek winxed/inline: cfc0ece | NotFound++ | t/advanced/02postincdec.t:
14:51 dalek winxed/inline: some tests for post ++ and -- with var
14:51 dalek winxed/inline: review: https://github.com/NotFoun​d/winxed/commit/cfc0ece986
14:51 dalek winxed/inline: 91e4694 | NotFound++ | t/advanced/02postincdec.t:
14:51 dalek winxed/inline: typo in test (how I didn't notice it?)
14:51 dalek winxed/inline: review: https://github.com/NotFoun​d/winxed/commit/91e46947b7
14:51 dalek winxed/inline: 38ff428 | NotFound++ | examples/Mysql.winxed:
14:51 dalek winxed/inline: fix StructView used for results in example Mysql
14:51 dalek winxed/inline: review: https://github.com/NotFoun​d/winxed/commit/38ff4288d8
14:51 dalek winxed/inline: 3080ce3 | NotFound++ | / (3 files):
14:51 dalek winxed/inline: operator >>> (unsigned shift right)
14:51 dalek winxed/inline: review: https://github.com/NotFoun​d/winxed/commit/3080ce3df1
14:51 dalek winxed/inline: 885fc28 | NotFound++ | / (8 files):
14:51 dalek winxed/inline: resolve merge master conflict
14:51 dalek winxed/inline: review: https://github.com/NotFoun​d/winxed/commit/885fc285bb
15:10 schmooster joined #parrot
16:52 bluescreen joined #parrot
16:57 dalek nqp/nci: 3587326 | jnthn++ | src/ops/nqp_dyncall.ops:
16:57 dalek nqp/nci: Fix string passing memory leak.
16:57 dalek nqp/nci: review: https://github.com/perl6/nqp/commit/358732619e
16:57 dalek nqp/nci: 497c48b | jnthn++ | src/ (3 files):
16:57 dalek nqp/nci: Support user-chosen calling conventions (or at least a few extra ones).
16:57 dalek nqp/nci: review: https://github.com/perl6/nqp/commit/497c48b6a9
17:07 dalek winxed: 5395518 | NotFound++ | Makefile:
17:07 dalek winxed: change test Makefile targets:
17:07 dalek winxed: 'test' now tests the last stage
17:07 dalek winxed: 'test0' tests stage 0
17:07 dalek winxed: older and not used targets deleted
17:07 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/5395518677
17:20 dalek nqp/nci: 896015d | jnthn++ | src/ops/nqp_dyncall.ops:
17:20 dalek nqp/nci: Make it so passing a string type object will lead to a null being passed.
17:20 dalek nqp/nci: review: https://github.com/perl6/nqp/commit/896015d2ff
17:25 cosimo joined #parrot
17:35 cosimo joined #parrot
17:38 fperrad joined #parrot
18:51 mj41 joined #parrot
19:52 dalek rakudo/nom: d5d5a3f | moritz++ | src/core/ (2 files):
19:52 dalek rakudo/nom: Merge pull request #42 from lumimies/nom
19:53 dalek rakudo/nom:
19:53 dalek rakudo/nom: Fix gist/perl for Junction and Bool
19:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d5d5a3f454
20:10 perlite_ joined #parrot
20:43 blaise for http://www.google-melange.com/gci​/task/view/google/gci2011/7185217 if I don't know what a function does, is there some kind of documentation somewhere to "use better judgement" to name things?
20:45 NotFound blaise: that paragraph says "ask for help"
20:45 tristan_ left #parrot
20:46 blaise oh, I see that now
20:48 blaise would include/parrot/interpreter.h have to be editted as well? it's not mentioned, but it seems like it would make sense to do so
20:49 NotFound blaise: usually you don't need to edit it, headerizer takes care.
20:50 blaise oh, didn't know that parrot's .h files were auto generated
20:51 NotFound Auto edited may be a better description.
20:52 blaise so it really is exactly what the task says?
20:54 NotFound I think so
20:54 blaise are the functions called anywhere?
20:58 NotFound The task says "Update all references to these functions throughout the codebase and test suite."
20:59 NotFound So assume any non static function can be called from anywhere.
20:59 blaise okay
20:59 blaise could probably find all calls with grep/find
20:59 tadzik use ack
21:01 dalek rakudo/nom: de3997a | moritz++ | src/core/Backtrace.pm:
21:01 dalek rakudo/nom: make Backtrace.new() DWIM
21:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/de3997a736
21:06 lucian joined #parrot
21:07 contingencyplan joined #parrot
21:10 dalek nqp/nci: 5899327 | jnthn++ | / (3 files):
21:10 dalek nqp/nci: Start to stub in a CStruct REPR.
21:10 dalek nqp/nci: review: https://github.com/perl6/nqp/commit/58993275cd
21:10 dalek nqp/nci: 9f0fc01 | jnthn++ | tools/build/Makefile.in:
21:10 dalek nqp/nci: Add some missing makefile deps.
21:10 dalek nqp/nci: review: https://github.com/perl6/nqp/commit/9f0fc01af1
21:10 dalek nqp/nci: c7250db | jnthn++ | src/6model/reprs/CStruct.h:
21:10 dalek nqp/nci: Sketch out more of how CStruct probably needs to end up looking once it supports the bits it'll need to.
21:10 dalek nqp/nci: review: https://github.com/perl6/nqp/commit/c7250dba21
21:10 dalek nqp/nci: fabd74f | jnthn++ | src/ops/nqp_dyncall.ops:
21:10 dalek nqp/nci: An (untested) shot at getting the native call handling side of passing a CStruct in place.
21:10 dalek nqp/nci: review: https://github.com/perl6/nqp/commit/fabd74f00e
21:28 PacoLinux joined #parrot
21:52 Khisanth joined #parrot
22:40 dalek nqp/nci: 02dca35 | jnthn++ | src/6model/reprs/CStruct. (2 files):
22:40 dalek nqp/nci: Steal some bits from P6opaque and twiddle with them to start getting things into a more CStruct-ish shape.
22:40 dalek nqp/nci: review: https://github.com/perl6/nqp/commit/02dca35e84
22:40 dalek nqp/nci: 878aafe | jnthn++ | src/6model/reprs/CStruct. (2 files):
22:40 dalek nqp/nci: Get allocationy bits of CStruct in place, or at least for the basic cases.
22:40 dalek nqp/nci: review: https://github.com/perl6/nqp/commit/878aafe59b
23:15 dalek nqp/nci: c14163d | jnthn++ | src/ops/nqp_dyncall.ops:
23:15 dalek nqp/nci: Handle cstruct as one of the types we now recognize.
23:15 dalek nqp/nci: review: https://github.com/perl6/nqp/commit/c14163d7aa
23:15 dalek nqp/nci: ceaf986 | jnthn++ | src/6model/reprs/CStruct.c:
23:15 dalek nqp/nci: Fix struct offset computation; add the attribute lookup bits we need for the basic int/num attributes we support thus far.
23:15 dalek nqp/nci: review: https://github.com/perl6/nqp/commit/ceaf986558

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

Parrot | source cross referenced