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