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.
01:19 benabik joined
Yuki`N whiteknight, ping 01:33
www.google-melange.com/gci/task/vie...11/7115343 oh dear. 06:26
benabik Difficulty: Hard 06:27
Yuki`N Fantastic, isn't it?
dalek kudo/nom: 2154ebb | moritz++ | src/core/ (4 files):
fix comparison ops for Complex numbers
06:31
07:25 contingencyplan joined 08:18 fperrad joined
dukeleto msg moritz yes, those are valuable comments, i hadn't seen them. thanks! 08:50
aloha OK. I'll deliver the message.
moritz good 08:52
dukeleto moritz: i am starting to think that getting PL/Perl6 working on nom might be very hard, since everything it relies on changed 08:54
moritz: but i am not sure 08:55
moritz dukeleto: is the postgres side statically/strongly typed? 08:56
dukeleto moritz: github.com/leto/plparrot/blob/mast...lperl6.pir
moritz: that is part of it 08:57
moritz: and github.com/leto/plparrot/blob/mast...rot.c#L530 08:58
moritz: pl/perl6 relies on using PMC_ISA on objects 08:59
whiteknight.github.com/Rosella/winx...mples.html is starting to look very nice 09:01
dukeleto .sleep() 09:02
09:32 JimmyZ joined 10:07 mj41 joined 10:11 zby_home joined 10:16 alvis joined
dalek sella: 0f2835a | Whiteknight++ | / (7 files):
Rewrite decorate tests in winxed, autogenerated. Add them to the harness because apparently they weren't there before. Several updates and cleanups to the decorate library
11:50
sella: bec689a | Whiteknight++ | src/unstable/reflect/ (4 files):
Several cleanups for Reflect
sella/winxed_inline: e1babde | Whiteknight++ | src/unstable/random/randomnumber/MersenneTwister.winxed:
One more instance of lsr
sella/winxed_inline: 350ba9e | Whiteknight++ | src/ (3 files):
Start updating the Core library to use inline. Move some common ops to inline functions in the Core include, so other libraries can use them
sella/winxed_inline: cc0f081 | Whiteknight++ | s (3 files):
Start updating the Query library to use inlines
sella/date_library: b199a6d | Yuki`N++ | / (3 files):
Add Doomsday algorithm.
sella/date_library: d666805 | Whiteknight++ | / (3 files):
Merge branch 'master' of git://github.com/nol888/Rosella into date_library
11:51
sella/date_library: 96f9186 | Whiteknight++ | / (2 files):
Quick fix so reflect builds again. avoid warnings on the new example program
11:54 alvis joined
dalek p/nci: 003586e | jnthn++ | src/6model/reprs/CStruct.c:
Fix a copy-paste fail.
11:55
p/nci: c9d6b20 | jnthn++ | / (465 files):
Don't include version number in directory holding dyncall; it'll just make every upgrade annoying.
sella: b199a6d | Yuki`N++ | / (3 files):
Add Doomsday algorithm.
12:06
sella: d666805 | Whiteknight++ | / (3 files):
Merge branch 'master' of git://github.com/nol888/Rosella into date_library
sella: 96f9186 | Whiteknight++ | / (2 files):
Quick fix so reflect builds again. avoid warnings on the new example program
sella: 46785e8 | Whiteknight++ | src/query/Stage.winxed:
Fix Stage.Sort to sort things in the correct direction, again
sella: 35313da | Whiteknight++ | t/query/Queryable_Streams.t:
Add a new test file to test interactions between Queryable and Stream. First test is that the sort order is the same
p/nci: 61a0eac | jnthn++ | 3rdparty/dyncall/ (263 files):
Upgrade to latest version of dyncall lib, which has Win64 fixes amongst other things.
12:13 Psyche^ joined
dalek rrot/green_threads: 98dcec0 | Whiteknight++ | src/pmc/integer.pmc:
fix build failure
12:15
rrot/green_threads: 17a6980 | Whiteknight++ | / (56 files):
Merge branch 'green_threads'
rrot/green_threads: aed1bca | Whiteknight++ | ChangeLog:
Add note about green_threads to ChangeLog
rrot/green_threads: 6078766 | dukeleto++ | DEPRECATED-branch.pod:
Remove DEPRECATED-branch.pod which came in on the green_threads merge
rrot/green_threads: 874cd8f | moritz++ | MANIFEST:
update MANIFEST, DEPRECATED-branch.pod is gone
rrot/green_threads: e05858c | nine++ | / (9 files):
Merge branch 'green_threads' of git://github.com/parrot/parrot into green_threads
rrot/green_threads: b6d2e1a | nine++ | / (4 files):
Move preemption_enabled and scheduling_enabled to scheduler.pmc private flags

Conflicts:
  \tsrc/scheduler.c
rrot/green_threads: 0ee9c32 | nine++ | / (6 files):
Merge branch 'master' into green_threads
rrot/gsoc_threads: 64fc967 | nine++ | include/parrot/threads.h:
revert f27900c32af063ea55ab75f0b1f12bca4b5d98b6, fixing build failure
rrot: 421284d | nine++ | src/pmc/structview.pmc:
Remove space between function name and open parens
rrot: 65406c7 | nine++ | src/gc/mark_sweep.c:
Fix function doc to make c_function_docs.t happy
12:16
rrot: a8b33eb | nine++ | src/pmc/structview.pmc:
Add missing ASSERT_ARGS to some new functions in structview.pmc
rrot: 29adeab | nine++ | t/pmc/nci.t:
Make t/pmc/nci.t more reliable

One of the tests failed sometimes on some machines. It tests asynchronous callbacks which get scheduled as tasks. The sleep 0.001 gave the scheduler a chance to stop the current task and work through all the posted async callbacks. But one millisecond might not be enough time on a slow or loaded system to get all callbacks done. On expiry of the alarm, the interrupted Task gets scheduled for immediate execution again, so the next test could start before all callbacks are done.
Fixed it by calling pass in a loop until the callbacks are all done.
rrot: 40d9cee | nine++ | src/gc/ (2 files):
Fix headerizer confusion about mark_code_segment
nine master passes fulltest again :) 12:18
whiteknight nine++ 12:19
12:19 alvis joined
nine Though it would have been nice of people to run codingstd tests themselves... 12:20
But it feels good to work on parrot again :) 12:21
whiteknight yeah, you've been pretty busy haven't you? 12:22
nine Yep. Illness cost me a couple of days which completely screwed up my schedule. Just now cought up again after a crazy week. 12:24
whiteknight feeling better? 12:25
nine Yes, thanks. So what did I miss? 12:26
12:29 alvis joined
whiteknight nothing much. GCI got started, so we have lots of students running around doing little tasks 12:35
nine Seems like you didn't have much time for green_threads_win either? 12:36
whiteknight time or not, I don't have a windows machine to test it on 12:37
I only have one at work
nine Where are those billions of Windows users when one needs them? 12:38
Now that's a nice segfault: scsys.co.uk:8002/162696 12:45
I guess that every running task increases the main task's recursion_depth 12:47
whiteknight that's probably not good 12:49
dalek rrot/runtime_prefix: 81774d0 | (Paweł Nowak)++ | src/ (3 files):
Fixed up coding standard tests errors.
12:53
rrot/runtime_prefix: 31b8edb | Whiteknight++ | frontend/parrot2/ (3 files):
Code cleanups
NotFound whiteknight: ping 12:54
whiteknight pong
NotFound whiteknight: I've checked inline with float and it seems to be working. What problem did you had?
whiteknight I'll try that. I have a winxed_inline branch in rosella with a few changes, and there were some build problems there. I'll try the new float stuff and see what is left 12:55
12:55 schmooster joined
NotFound There is no new stuff, I just rechecked and see that all known problems were already fixed- 12:56
whiteknight here's one I get when I try to build: Method 'getPirString' not found for invocant of class 'Winxed;Compiler;TokenIdentifier'
current instr.: 'parrot;Winxed;Compiler;StringLiteral;getPirString' pc 18864 (ext/winxed/compiler.pir:8192) (winxedst2.winxed:3459)
actually, that's with an older winxed. Give me a few minutes to build a new one
dalek rrot: 81774d0 | (Paweł Nowak)++ | src/ (3 files):
Fixed up coding standard tests errors.
13:00
rrot: 31b8edb | Whiteknight++ | frontend/parrot2/ (3 files):
Code cleanups
whiteknight NotFound: same error with newest winxed snapshot 13:04
I'm going to try again with head 13:05
heh, a 3rd winxed stage makes the build take longer :) 13:07
NotFound Aye 13:08
whiteknight yeah, I get the same error. getPirString not implemented in StringLiteral 13:11
oh, I think I have a fix. I had a built-in named "new" 13:12
I changed that to "new_pmc" and it's building
NotFound Good... but it needs a better diagnostic. 13:13
whiteknight ../rosella/rosella/random.winxed:55: Cannot use Winxed;Compiler;FloatStatement in inline (yet) near float 13:15
that's with winxed head
NotFound Uh, right, I forgot that again. 13:16
dalek nxed: 3c9d777 | NotFound++ | winxedst2.winxed:
clone FloatStatement
13:19
NotFound Done
whiteknight :) 13:20
NotFound++
testing now
works 13:25
NotFound++
And rosella passes all tests too, so that's a good sign 13:30
13:31 ambs joined
dalek p/nci: 65cfe28 | jnthn++ | src/ (3 files):
Add a way to get the name of the representation an object is based on.
13:38
kudo/nci: 81bbe8e | jnthn++ | src/binder/sixmodelobject.h:
Grab latest sixmodelobject.h.
13:40
kudo/nci: fb11f7d | jnthn++ | src/ (2 files):
Implement .REPR.
whiteknight NotFound: do inlines dispatch based on type? 14:10
NotFound whiteknight: no, but in some usages you can just not specify the type and it sorts of dispatch. 14:11
nine whiteknight: do you see any reason why simply restoring the recursion_depth in Parrot_Task_invoke after invoking the associated sub would be wrong? 14:28
whiteknight nine: not off the top of my head 14:29
I never liked recursion depth handling anyway, so feel free to fix it
nine Wouldn't be a fix rather than a workaround... 14:32
14:33 mj41 joined
nine But recursion depth handling seems to be messy anyway. Accessor functions use postfix operators for inc and dec, so they return the previous value while the macros behave differently. Thus a recursion_limit of 2 actually allows three layers 14:46
whiteknight NotFound: Null PMC access in find_method('numargs') 14:51
current instr.: 'parrot;Winxed;Compiler;InlinedBlock;InlinedBlock' pc 64307 (pir/winxed_compiler.pir:26864) (winxedst2.winxed:10633)
nine: that is t3h suxx0rs
NotFound: I think it's an inline with no args 15:01
int nargs = (args == null) ? 0 : args.num_args();
I think that should fix it 15:02
dalek sella: bf8d347 | Whiteknight++ | s (3 files):
Move builtins to a separate file that all libraries have use of
15:03
sella: afd26e9 | Whiteknight++ | src/ (2 files):
Don't need a get_class builtin, winxed already has it (and winxed doesn't like having an inline with the same name as a builtin
sella: 97e8ef4 | Whiteknight++ | / (5 files):
Merge branch 'master' into winxed_inline
sella: a01fa2f | Whiteknight++ | s (52 files):
Convert most raw pirops to inline/builtins
sella/winxed_inline: d666805 | Whiteknight++ | / (3 files):
Merge branch 'master' of git://github.com/nol888/Rosella into date_library
sella/winxed_inline: 96f9186 | Whiteknight++ | / (2 files):
Quick fix so reflect builds again. avoid warnings on the new example program
sella/winxed_inline: 46785e8 | Whiteknight++ | src/query/Stage.winxed:
Fix Stage.Sort to sort things in the correct direction, again
sella/winxed_inline: 35313da | Whiteknight++ | t/query/Queryable_Streams.t:
Add a new test file to test interactions between Queryable and Stream. First test is that the sort order is the same
sella/winxed_inline: bf8d347 | Whiteknight++ | s (3 files):
Move builtins to a separate file that all libraries have use of
sella/winxed_inline: afd26e9 | Whiteknight++ | src/ (2 files):
Don't need a get_class builtin, winxed already has it (and winxed doesn't like having an inline with the same name as a builtin
sella/winxed_inline: 97e8ef4 | Whiteknight++ | / (5 files):
Merge branch 'master' into winxed_inline
rrot: f823a32 | nine++ | / (4 files):
Fix recursion_depth growing with every task started

Restore the recursion_depth in the current context after invoking a task's sub. This is a workaround for Parrot_Sub_invoke incrementing recursion_depth unconditionally which is not true for invoked tasks, since they run in parallel to the invoking sub, not nested but still inherit the context.
This patch also unifies recursion_depth accessors to return the new value, fixing an off by one error in recursion depth limiting.
15:09
rrot: 4d8bda1 | nine++ | frontend/parrot2/ (3 files):
Merge branch 'master' of github.com:parrot/parrot
15:13 alvis joined
nine Wow: 9354 active, busy waiting green_threads and Parrot only uses 51MB RAM 15:13
dalek sella: 6943c70 | Whiteknight++ | src/include/Builtins.winxed:
Cleanup and organize list of builtins
15:16
sella: d1affab | Whiteknight++ | src/winxed/Distutils. (2 files):
Small cleanups to Distutils. Add begin/end markers for concatenated files
sella: e26ac11 | Whiteknight++ | src/winxed/ (6 files):
Some cleanups for the winxed library
whiteknight nine: that's very impressive
nine: much better than it used to be
nine++ 15:17
nine whiteknight: not really. The difference is between busy waiting and sleeping. Sleep needs more PMCs for setting the alarm
But it's still quite nice. When replacing sleep with a simple pass I can create 100_000 waiting tasks and have them run in just 35 seconds with about 1.1GB of RAM used 15:19
whiteknight thats....impressive 15:45
dalek nxed: 6c50b84 | NotFound++ | winxedst2.winxed:
fix inline without args, whiteknight++
15:51
p/nci: 4aade5a | jnthn++ | src/ops/nqp_dyncall.ops:
Handle string returns.
16:51
Heuristic branch merge: pushed 73 commits to parrot/threads by niner 18:14
18:14 zby_home_ joined
dalek rrot/threads: 889ef48 | nine++ | src/thread.c:
Don't set a thread interp's parent_interpreter (confuses GC)

The GC follows the parent_interpreter pointer when marking but a thread interp's parent belongs to an other GC.
18:18
18:47 mj41 joined
dalek p/nci: ba2dda5 | jnthn++ | src/ (3 files):
Handle struct returns. Needs some more work on memory management stuff, but basically works now. Needed a little refactor to the CStruct REPR, thanks to braino when doing it before.
18:48
p/nci: 1a92ea7 | moritz++ | 3rdparty/dyncall/ConfigVars:
[dyncall] ConfigVars is a generated file, and should not be part of the repositry
19:30
20:05 snearch joined
ttbot Parrot 4d8bda1e MSWin32-x86-multi-thread make error tt.taptinder.org/cmdinfo/60291 20:11
20:29 AzureSto_ joined 20:35 whiteknight joined 20:36 perlite_ joined 20:38 ambs_ joined
dukeleto ~~ 20:56
nine++ # fixin' thangs and stuff 20:57
whiteknight yeah, nine++ is totally awesome 20:59
dukeleto whiteknight: are you waiting on my for anything gci-related?
dukeleto is trying to not be a bottleneck
whiteknight not that I am aware of
dukeleto whiteknight: we have about a day to add more tasks, right? 21:00
whiteknight: this week is gonna be hella crazy for me
whiteknight: i am going to burrow deep under a rock
whiteknight I think so. I'll see wht I can do
dukeleto whiteknight: i am impressed with gci so far. We have gotten lots of cool stuf already!
whiteknight yes
dukeleto whiteknight: really nice to see the doomsday algorithm in rosella. We finally have the beginnings of some kind of datetime library 21:01
whiteknight I'm actually trying to work on that todat
but my son is sitting on my arm, which makes typing suboptimal
dukeleto whiteknight: yeah, my cat likes to sit on both my arms whenever I am coding anything important 21:02
whiteknight ...which is why I never code anything important :)
dukeleto whiteknight: i think porting some prime number algorithms from github.com/leto/math--primality to Winxed would make a few good tasks 21:03
whiteknight: there are a few different algorithms in there
whiteknight that would be an interesting task, but nothing rosella needs
dukeleto whiteknight: i can make those tasks
whiteknight it would make a decent separate project
please do
dukeleto whiteknight: yeah, but stuff that I want :)
whiteknight: yes, a seperate project
whiteknight: it would make for a nice benchmark of Winxed vs. Perl 5 for numerics 21:04
whiteknight yes, it would 21:05
dukeleto is on it
crap, i am just seeing the pull request for making Rosella a submodule of libgit2 21:06
dukeleto is making stuff happen, prepping to make more gci tasks 21:17
gonna make some hard tasks, since these gci kids are ripping through tasks 21:18
21:22 mj41 joined
whiteknight yeah, I find myself over-estimating tasks, like I'm calling a task "hard" that's really only medium or less 21:23
so hard tasks can actually be relatively large
21:27 whiteknight joined, plobsing joined 21:28 whiteknight joined
dukeleto whiteknight: it is all relative 21:32
whiteknight: i just want to give Yuki`N a proper challenge :)
whiteknight yeah, he needs it:) 21:35
21:46 Yuki`N joined
dukeleto oooh, just thought of a nice task for Yuki`N 22:00
Yuki`N tell me later, going out for dinner now. 22:01
dukeleto we have about 25 open gci tasks right now 22:14
i just created 2 new Winxed-related tasks 22:31
dalek p/unirx: 1216a2a | diakopter++ | src/ops/nqp.ops:
import is_uprop parrot op from rakudo ng
22:49
p/unirx: 109e4aa | diakopter++ | src/ops/nqp.ops:
add uchar.h include
22:51
23:18 GodFather joined 23:30 alvis joined
dukeleto ~~ 23:30
we only have 3 gci mentors in Melange 23:32
why?
dalek p/unirx: d4a0667 | diakopter++ | src/Q (3 files):
Unicode properties in regexes (new S05 syntax)
23:48
whiteknight dukeleto: Only 3 people volunteered 23:53