Parrot 3.0.0 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Goals: Deprecations as data, merge/cleanup, AutomatedHLLTesting, clean up false test failures | Schedule next weekend's Summit: doodle.com/4phzuaiahkgd3ie5
Set by moderator on 22 January 2011.
jnthn sleep & 00:00
cotto 'night
whiteknight (the IMCC compreg is PJt, it will not be that anymore in about 30 seconds)
plobsing whiteknight: yes. see src/nci/signatures.c for the parser of such signatures.
whiteknight okay. 00:01
thanks
dalek rrot: 65bfa2c | NotFound++ | src/exceptions.c:
reorganize a bit the function Parrot_ex_throw_from_c
00:18
bacek_at_work jnthn, ping 00:24
cotto bacek_at_work, he probably won't he up for a while
bacek_at_work msg jnthn parrot hashes ARE parametric. Even on PIR level. Hash.set_key_type() 00:25
aloha OK. I'll deliver the message.
bacek_at_work msg jnthn .include "hash_key_type.pasm"; $P0 = new 'Hash'; $P0.'set_key_type'(.Hash_key_type_int) 00:26
aloha OK. I'll deliver the message.
bacek_at_work cotto, ok, thanks 00:27
msg jnthn t/pmc/hash.t, line 131, sub hash_key_type for more examples :) 00:28
aloha OK. I'll deliver the message.
cotto wonders what that was about 00:34
bacek_at_work cotto, latest post in 6guts 00:36
cotto, 6guts.wordpress.com/2011/01/24/well...ng-6model/ (somewhere in the middle) 00:37
cotto ah 00:40
00:42 mberends left
dalek rrot: 33e36e4 | NotFound++ | src/pmc/exceptionhandler.pmc:
reorganize and avoid some redundant operations in ExceptionHandler
00:44
whiteknight I always do like reading jnthn's posts 01:12
01:16 kurahaupo joined
kurahaupo Welcome from LCA2011 (where it is *NOT* raining!) 01:17
whiteknight LCA? 01:28
dalek rrot/luben/gc_threshold_adjust: 609e793 | luben++ | / (463 files):
merge master
01:30
bacek_at_work speaking of "constant exceptions" - we can introduce new op C<push_new_eh> which can create cached ExceptionHandler 01:32
and store it inside Sub PMC
dalek rrot: 8e36690 | luben++ | src/pmc/continuation.pmc:
do not fetch unused attributes
01:33
rrot: 442af32 | luben++ | src/ (2 files):
Merge branch 'master' of github.com:parrot/parrot
bacek_at_work e.g. C<push_new_eh some_label, .CONTROL_RETURN>
01:35 kurahaupo left 01:37 kurahaupo joined
Tene jnthn: Yes, statically annotating bytecode sections with an exception handler is *certainly* possible, afaict. 01:48
Not with parrot as it stands right now, but it's a SMOP
push_new_eh or push_cached_eh or whatever is certainly a possibility too. 01:49
whiteknight bacek_at_work: Yes, that's an interesting idea to store it into the Sub 01:51
Tene jnthn: I really wish I could help you with that, but I wouldn't be hopeful. 01:53
01:56 kid51 joined
kid51 ~~ 01:57
dukeleto: ping 02:09
whiteknight kid51: ping 02:12
bacek_at_work whiteknight, I'll probably start experimental branch in parrot/nqp to test possible performance improvements.
seen pmichaud_
aloha pmichaud_ was last seen in #parrot 2 days 2 hours ago joining the channel.
kid51 whiteknight: pong
bacek_at_work seen pmichaud
aloha pmichaud was last seen in #perl6 3 days 7 hours ago saying "and sometimes we're even sincerely humorous.".
whiteknight bacek_at_work: Awesome. I'll be watching closely
kid51: I am getting a failure I don't understand in my branch. whiteknight/imcc_interfaces. The test t/perl/Parrot_Test.t is failing a test and I dont understand why 02:13
kid51: Whenever you have a spare moment, could you take a looksie?
kid51 Can you paste something?
whiteknight sure 02:15
nopaste?
aloha: nopaste?
aloha whiteknight: nopaste is is nopaste.snit.ch (works with the script in $_PARROT/tools/dev/nopaste.pl)
bacek_at_work thinking about switching on "passive answer" in aloha.
nopaste "Whiteknight" at 192.168.1.3 pasted "test failure for kid51++" (39 lines) at nopaste.snit.ch/28687
whiteknight kid51: I removed a series of test functions from Parrot::Test. all the "pir_2_pasm" test functions got cut out 02:16
I'm suspecting my incision was not as precise as I had hoped
bacek_at_work msg pmichaud I'm kind of finished first part of migration of POST to nqp. There is many things to polish still. Any feedback will be very useful for me to continue work on it. 02:18
aloha OK. I'll deliver the message.
kid51 whiteknight: Fresh checkout of your branch on linux/i386. I cannot reproduce your error. 02:21
whiteknight wtf
okay, let me nuke 02:22
kid51: Okay, I'm still getting it in a fresh repo 02:24
so it's my machine or something 02:25
kid51 Well, then, all I can suggest is to start reverting some stuff until you no longer get the failure
AFAICT from your paste, the only difference must be a newline or tab or other whitespace.
Could there be a DOS vs Unix line ending problem in there somewhere? 02:26
whiteknight okay. I'm going to ignore this particular failure for now. I'll dig back into it later 02:27
thanks for looking at it
kid51 smolder.parrot.org/app/projects/rep...tails/4951 smolder for that branch
whiteknight thanks
kid51 cotto: ping 02:28
Drat. Why did that smolder report not include the branch? 02:29
02:30 kurahaupo left 02:36 Limbic_Region left 02:42 fbrito joined
dalek rrot/whiteknight/imcc_interfaces: cb9cbab | Whiteknight++ | compilers/imcc/ (4 files):
remove some duplicated code in imcc_compile_file. IMCC_push_parser state takes two more args, since they are almost always set at the same time. do_pre_process now takes the source file name to provide this information
02:53
rrot/whiteknight/imcc_interfaces: 208e98a | Whiteknight++ | / (5 files):
IMCC interfaces all take a STRING* instead of a char*. Move GC manipulations out of IMCC. Misc other cleanups
rrot/whiteknight/imcc_interfaces: 5625b05 | Whiteknight++ | compilers/imcc/main.c:
start cleaning up imcc_compile_file. use determine_input_file_type to open the file and check for errors to reduce duplicated code. Remove GC block/unblock
rrot/whiteknight/imcc_interfaces: 7c36857 | Whiteknight++ | / (2 files):
move context-related logic out of imcc_compile_file. IMCC can assume we have a fresh context available. misc cleanups
rrot/whiteknight/imcc_interfaces: b8b1aef | Whiteknight++ | compilers/imcc/main.c:
break out functions to setup/teardown bookkeeping for reentrant compile. BUILD IS BROKEN. Will fix it tomorrow morning
whiteknight and with that, I bid thee a fine evening
02:54 whiteknight left
dalek rrot: 9c1655d | jkeenan++ | lib/Parrot/Harness/Smoke.pm:
Allow for possibility of directory separators (/) in branch names when submitting smoke report.
02:59
rrot/whiteknight/imcc_interfaces: 753df38 | jkeenan++ | lib/Parrot/Harness/Smoke.pm:
Allow for possibility of directory separators (/) in branch names when
03:01
03:04 cosimo left 03:13 kurahaupo joined 03:22 kurahaupo left
kid51 must sleep 03:32
dalek tracwiki: v6 | bacek++ | BacekTaskList 03:34
tracwiki: push_cached_eh
tracwiki: trac.parrot.org/parrot/wiki/BacekTa...ction=diff
cotto just too late 03:53
kid51, ping (if you're up)
er, pong
03:55 kurahaupo joined
dalek rrot/luben/gc_threshold_adjust: 0755f49 | jkeenan++ | lib/Parrot/Harness/Smoke.pm:
Get the correct regex for matching a branch with a directory separator in it.
03:58
rrot: bdd6fb4 | jkeenan++ | lib/Parrot/Harness/Smoke.pm:
Get the correct regex for matching a branch with a directory separator in it.
04:00
04:01 kid51 left
dukeleto ~~ 04:11
cotto: ping
cotto dukeleto, pong 04:14
dukeleto cotto: lxnews.org/2011/01/20/parrot-3-0-released/ 04:16
cotto: your release announcement for 3.0 made a few people chuckle. Good job :)
cotto I'm glad to see that. 04:17
I hope it won't be the last of such announcements. 04:19
dukeleto cotto: indeed. we have set the stage
also, that looks like a cool new site that just popped up
cotto do tell 04:20
dukeleto, what site? 04:31
05:13 preflex left 05:16 preflex joined 05:19 kurahaupo left 05:24 athomason left
cotto fbrito, ping 05:30
fbrito cotto, pong
cotto fbrito, I'd like to get that github script in use.
Have you tested it? 05:31
and to what degree
fbrito yes, I have tested it 05:32
just a moment
I have even used a ruby script to send POST requests just like GitHub does 05:33
cotto ok. Did you test it with a couple real github POST requests?
as in, from github
fbrito yes, but only with 2 or 3 commits 05:34
cotto that's fine.
Are there any gotchas about setting it up? 05:35
apart from changing the hard-coded values
fbrito ah, here is the task url: www.google-melange.com/gci/task/sho...9202922193 05:36
I remember that I wrote some comments there
cotto I'm going to try to catch the osuosl folks tomorrow. Is there any time you'll be on in case something goes wrong? 05:38
dukeleto, ping
fbrito I will be online the whole day tomorrow :) 05:39
cotto fbrito, great
github's default commit messages are getting old 05:40
The larger commits make firefox cry
fbrito++ for the script 05:43
05:45 Patterner left
fbrito I had so many performance problems with firefox in the last few months 05:45
05:45 Psyche^ joined, Psyche^ is now known as Patterner 05:53 rurban_ joined 05:55 rurban left, rurban_ is now known as rurban 06:01 kurahaupo joined 06:12 allison left, allison joined 06:18 theory left
cotto fbrito, did you ever figure out the fix for github's api not showing new files? 06:22
If you can detect when it happens, you can manually get the contents of the file. 06:23
fbrito not really, but I was already planning to do some research on it after I wake up
cotto great
fbrito I will keep you informed tomorrow 06:24
cotto I'd rather not put it in action before that happens. It might also be easier on osuosl to put that script in a separate github repo.
that way if there are ever updates, we can just have them pull the latest version.
fbrito, Had you considered using an external file for configuration? 06:25
fbrito hm, not really :P
cotto It'd make updates less painful. 06:26
fbrito hm, thats true 06:27
cotto osuosl is an excellent resource. I'd like to make life minimally difficult for them. 06:28
I suspect that we may end up making several improvements to the script. 06:30
It'd be really nice if it ignored generated files, for instance.
fbrito ok, sure! so tomorrow I should: 1- move the file to a separate repository, 2- move config variables to a new file and 3- solve the new/deleted files problem
cotto but I'd rather get it working first
good plan 06:31
you can have dukeleto set you up with something in the parrot org
msg dukeleto Could you move tools/dev/github_post_receive.pl into its own repo under the parrot org?
aloha OK. I'll deliver the message.
fbrito good! I am going to bed right now. good night :) 06:36
cotto 'night fbrito 06:37
06:37 fbrito left
dalek TT #1985 closed by cotto++: Add windows-related temporary files to .gitignore 07:07
TT #1985: trac.parrot.org/parrot/ticket/1985
07:13 cosimo joined 07:14 fperrad joined 07:29 kurahaupo left, kurahaupo joined 07:31 kurahaupo left 07:32 kurahaupo joined 07:36 Drossel joined, Kulag left
dalek TT #1570 closed by cotto++: Out-of-date binaries/packages on Parrot.org 07:39
TT #1570: trac.parrot.org/parrot/ticket/1570
TT #1567 closed by cotto++: parrot does not compile on ia64
TT #1567: trac.parrot.org/parrot/ticket/1567
rrot/tt1331-osx-conf-fix: 3b85078 | cotto++ | config/ (2 files):
manual application of wonky patch from #1331
07:41
cotto is amused at tickets that'll get done "in a day or two" which haven't been touched in more than a year. 07:46
07:46 kurahaupo left 07:47 jan left
cotto trac-- 07:47
stupid crazy formatting of email replies to tickets 07:48
cotto sleeps 07:52
dalek TT #1138 closed by cotto++: Create a 'vivify' opcode 07:55
TT #1138: trac.parrot.org/parrot/ticket/1138
07:56 baest joined 09:28 plobsing left
dukeleto msg cotto done github.com/parrot/parrot-utils 10:00
aloha OK. I'll deliver the message.
10:05 Kulag joined 10:06 Drossel left
dalek rrot: 33252c0 | dukeleto++ | / (2 files):
[tools] Remove github_post_receive.pl, which now lives in the parrot-utils repo
10:07
10:12 Drossel joined, Kulag left 10:17 Kulag joined 10:18 Drossel left 10:22 Kulag left, Kulag joined 10:30 Drossel joined 10:32 Kulag left 10:35 Kulag joined 10:36 Drossel left 10:41 Kulag left 10:42 Kulag joined
bacek aloha, humans 10:51
10:54 Kulag left 10:55 Kulag joined
jnthn o/ bacek 10:56
bacek \\o jnthn
jnthn, Parrot hashes are typed for 1.5 year already :) 10:57
jnthn bacek: Yes, so a couple of people pointed out. :)
bacek: Though in the end, doing a few pointer comparisons in a list is faster than a hash lookup. 10:58
So I skipped hashes completely for now in that bit of the code.
But it's good to know otherwise...
bacek jnthn, we optimize hash lookups for small hashes anyway :)
for up to 4 keys afaik we are doing linear scan 10:59
jnthn Ah, OK
Still overhead to make the v-table call though. ;-)
bacek not so big comparing to PCC...
jnthn Oh, for sure.
dalek rrot/cached_eh: 9d4e9cc | bacek++ | src/ops/experimental.ops:
Simplify POD markup.
11:00
jnthn But when I can have an array of 3-4 pointers to quickly scan through to find the one I want...
It's really cheap to do that.
I can probably use the typed hash in another place too. 11:01
So good to know. :)
bacek jnthn, you welcome :) 11:02
jnthn bacek: How's NQP-ized PCT? 11:03
bacek jnthn, waiting for review/feedback from pmichaud. I did convert most of POST to nqp. 11:04
moritz bacek: did you get rakudo to work on it?
bacek Next step - switch PAST to generate "newPOST" from "pirate" and emit PIR from it. 11:05
Next one - emit PBC from POST :)
moritz, not completely. We have to add more workaround into src/core/Parcel.pm 11:06
moritz, for .reverse and other methods from RPA in nqp-setting.
Or just wait until jnthn++ will finish 6model :)
11:07 woosley joined 11:14 dip joined
jnthn :) 11:14
bacek: Do you already have the PAST nodes translated to NQP?
bacek jnthn, nope. I more interested in PBC generation atm. And converting PAST to NQP will be straight forward after pmichaud's feedback. Few days work :) 11:15
jnthn OK :) 11:16
11:56 JimmyZ joined 12:03 cogno joined
dalek rrot/cached_eh: 14f83f2 | bacek++ | / (2 files):
Add stub for push_cached_eh
12:05
rrot/cached_eh: 6e5bf52 | bacek++ | src/pmc/sub.pmc:
Add cache for ExceptionHandlers into Sub PMC.
rrot/cached_eh: 35fdb32 | bacek++ | examples/benchmarks/exceptions.pir:
Add modified example from jnthn++ for ExceptionHandlers benchmarking.
rrot/cached_eh: 9d7f0dd | bacek++ | src/ops/experimental.ops:
Implement push_cached_eh
rrot/cached_eh: a06275c | bacek++ | / (4 files):
Rebootstrap ops
jnthn bacek++ :) 12:09
bacek ~/src/parrot (cached_eh)$ ./parrot examples/benchmarks/exceptions.pir
no_eh 17.0370171070099
push_cached_eh 25.3536229133606
push_eh 35.1596508026123
Parrot_cx_add_handler_local is freaking slow... 12:10
jnthn, but it's a "good start" :)
jnthn bacek: :)
Shaving 30% off the invocation overhead of every sub/method in Rakudo and current NQP is a good start. :) 12:11
bacek jnthn, I have to patch nqp to use it first :) 12:13
dalek rrot/cached_eh: 724c96e | bacek++ | src/scheduler.c:
Add temporary variables into Parrot_cx_add_handler_local for readability purpose.
12:18
rrot/cached_eh: 5451bb7 | bacek++ | config/gen/makefiles/root.in:
Add dependency of core_ops.o from pmc_sub.h
p-rx/push_cached_eh: bffc552 | bacek++ | t/setting/01-resizablepmcarray.t:
Stylish change in test.
jnthn bacek: I think that the return_pir that you need to change may be in PAST::Compiler. 12:19
bacek jnthn, hmm. Checking
12:19 Kulag left 12:20 Drossel joined
bacek jnthn, yes, you right. 12:20
make: *** [src/dynoplibs/obscure_ops.c] Segmentation fault 12:22
Yay!...
12:22 cogno left 12:47 JimmyZ left 13:04 woosley left 13:22 plobsing joined 13:30 whiteknight joined
dalek rrot: 02ed851 | (Gerd Pokorra)++ | docs/translations/README.deutsch:
update to current version number
13:37
rrot/cached_eh: be84b8a | bacek++ | src/ops/ (2 files):
Fix stupid typo in creating of ExceptionHandler
13:40
Coke msg dukeleto your grant report post is duplicatcated.
dalek rrot/cached_eh: 10bc6fd | bacek++ | / (5 files):
Add typeless version of push_cached_eh and rebootstrap ops
aloha OK. I'll deliver the message.
Coke msg dukeleto dukeleto++ for posting regular grant reports!
aloha OK. I'll deliver the message.
Coke someone bored? have wiki privs? make sure every *TaskList wiki page is linked to from WikiStart. 13:42
seen particle? 13:43
aloha particle was last seen in #parrot 2 days 5 hours ago saying "sleepytime &".
Coke is pretty sure that command doesn't work on windows.
whiteknight good morning, #parrot 13:44
Coke allo 13:45
whiteknight good morning, Coke 13:46
how are you today?
13:53 rurban_ joined 13:55 rurban left, fperrad left, rurban_ is now known as rurban 13:59 fperrad joined 14:16 plobsing left 14:27 JimmyZ joined
Coke whiteknight: up and down. 14:29
whiteknight Coke: I'm sorry to hear about the downs 14:34
14:34 ambs joined
Coke eh. old car is dead, looks like a job offer might be nice but could have been awesome a mere month ago. I'll be fine. ;) 14:36
whiteknight Car troubles are the worse, especially in this kind of weather
I'm sure it's even colder up by you 14:37
worst*
Coke -7oF, windchill is -18oF
whiteknight ouch. Compared to that Philadelphia is a balmy 8 degrees 14:38
Coke thankfully my wife said 'wear your hat' before I left today. ;)
whiteknight a new job offer, anywhere good?
atrodo Now I feel like I'm in a heatwave at 23 14:42
whiteknight 23? practically shorts weather!
atrodo Don't I know it! About ready to break out the suntan lotion
whiteknight The building I work in isn't well insulated, and I'm wearing a big hooded sweatshirt, a knit hat, and wool gloves 14:44
my typing words per minute has decreased as fast as the temperature
Coke philly, eh? ROODE@cpan.org is there.
whiteknight who's he? 14:46
dalek rrot: 5e3b4d2 | moritz++ | compilers/pct/src/PCT/HLLCompiler.pir:
[pct] add --ll-backtrace option that always forces PIR-level backtraces
14:52
Coke wrote Readonly, Time::Format, few other modules.
we're alums of the same school (RPI) 14:53
whiteknight oh nice 14:58
dalek rrot/whiteknight/imcc_interfaces: 40a1a4f | Whiteknight++ | / (3 files):
fix build failures from yesterday. The new IMCC compreg interface is PJS, not PJt like the old version. Replace that NCI signature in the core list and make bootstrap-nci
14:59
15:01 PacoLinux joined 15:05 plobsing joined 15:16 mtk joined
dalek rrot/whiteknight/imcc_compreg_pmc: 3c75ac6 | Whiteknight++ | src/pmc/imccompiler.pmc:
add in a stub imccompiler PMC type. I am going to be developing this in parallel with IMCC interface changes and other changes.
15:17
plobsing ping whiteknight 15:20
whiteknight pong 15:22
plobsing compreg pmc looks cool. you might want to make it a dynpmc though. 15:23
to prepare for the upcoming IMCC-ectomy
whiteknight yeah, that's the general plan. I have it where it is now to facilitate faster building and testing 15:25
initially it may be built-in, since everybody requires it and having to load it for every program will be a waste
but yes, long term plan: dynpmc
plobsing long term? PIR compiler availability is fair game now. 15:26
moritz just make dynpmc loading fast :-)
plobsing moritz: it is fast SFAIK. do you have any examples of where it is not that we might improve?
well... fast-ish as far as parrot goes. I mean, it hits the filesystem far too much sometimes, but that's about it. 15:28
moritz plobsing: no example, just the general response to "and having to load it for every program will be a waste"
which implies that dynpmcs are wasteful, more or less
plobsing dynpmcs are slightly overhead compared to core, but paid only by those that use them. core pmcs are overhead to everyone that doesn't use them. which is why I push for smaller core. 15:29
we already have 87 core PMCs. bloaty.
I doubt FBoolA and RBoolA pull their weight, but there they are. 15:30
I should rig the makefile so that dynpmcs are dead easy to add and corepmcs are a PITA to add in stead of the other way around. Might put the incentive in the right direction. 15:32
15:34 Themeruta joined 15:35 Themeruta is now known as NotFound_b
whiteknight plobsing: When that branch matures a little more We'll figure out where to put it. For fast development it's just going to be a core PMC 15:41
we're weeks away from being able to merge it. I have a lot of work I have to do concurrently before that PMC becomes usable 15:42
Right now I want to start separating out imc_info_t from interp. That's going to be a huge project
There's no gains to be had in making IMCC a dynpmc until after that separation 15:43
dalek rrot/whiteknight/imcc_interfaces: 5ac00a2 | Whiteknight++ | / (2 files):
fix function documentation
16:00
rrot/whiteknight/imcc_interfaces: 2690e47 | Whiteknight++ | src/embed/api.c:
small doc fix
16:04 mtk left 16:09 mtk joined
cotto_work ~~ 16:25
plobsing zomg its cotto!
cotto_work as far as you know, yes 16:26
16:27 dmalcolm joined
plobsing snowflake? 16:27
cotto_work I'm not at liberty to discuss that. 16:28
tadzik o/ 16:33
Coke anyone else here on OS X? 16:37
someone put together a port file for 3.0.0 that should be tested. 16:38
whiteknight I really need to get access to an OSX box eventually 16:39
16:40 Drossel left 16:41 Kulag joined 16:42 hercynium joined
dalek nxed: r741 | NotFound++ | trunk/winxedst1.winxed:
refactor a bit namespace parsing in stage 1, no functional changes
16:47
17:02 theory joined
dalek nxed: r742 | NotFound++ | trunk/winxedst1.winxed:
refactor a bit class parsing in stage 1, no functional changes
17:09
cotto_work whiteknight: the second to last paragraph in your last blog post looks truncated. 17:13
whiteknight hmm... lemme look 17:14
17:14 plobsing left
whiteknight wtf. how does that crap happen 17:14
cotto_work not enough internets?
whiteknight at least one too few
atrodo ENEEDMOREINTERWEBS
cotto_work msg fbrito Your github script now lives at github.com/parrot/parrot-utils 17:17
aloha OK. I'll deliver the message.
17:22 ambs left, plobsing joined, JimmyZ left
Coke anyone know how to install a macport from a localportfile? 17:36
doing a port search, 2.6.0 shows up from the macport server, 3.0.0 is showing up locally, but every time I try to install, It goes after the 2.6 variant. 17:37
17:37 plobsing left 17:39 Kristaba joined
dalek rrot: 00cadd1 | Coke++ | ports/macports/Portfile:
Update macport to 3.0.0

Courtesy h at henriknj.dk
17:52
Coke (there, got it to build & install. whee.)
17:56 mikehh left 18:03 mikehh joined 18:39 plobsing joined
dalek p-rx/nom: 26e717c | moritz++ | src/HLL/Compiler.pm:
port --ll-backtrace from parrot 5e3b4d2f
18:50
19:06 slavorg left 19:14 slavorg joined
dalek rrot: 4fe94e4 | NotFound++ | src/scheduler.c:
DRY a bit Parrot_cx_add_handler_local
19:16
19:22 plobsing left 19:25 plobsing joined
sECuRE_ dukeleto: you around? i saw you created a branch for my ipv6 patch 19:31
19:50 PerlJam left 19:51 PerlJam joined
whiteknight GSoC 2011 has been announced 19:54
moritz \\o/
cotto_work I guess we've recovered from gci. 19:58
moritz hey, this year I'm still enrolled at a university :-) 19:59
tadzik applying starts on March 28 20:04
jnthn Wow, that's not so far away 20:05
20:06 nwellnhof joined
dukeleto ~~ 20:24
tadzik ~~ 20:25
cotto_work -- 20:26
dukeleto salutations
cotto_work: i made a parrot-utils repo and put that script in it, is that what you wanted? 20:27
cotto_work dukeleto: I saw. I was thinking of a repo that contained only the script so that it'll be minimally difficult for osuosl to deploy, but you know perl deployment better than I do. 20:28
dukeleto cotto_work: a repo for a single script? 20:29
cotto_work: they could just download it from the github web interface at that point
cotto_work: i don't understand the problem, exactly
cotto_work: and github repo can be downloaded as a tarball, as well
cotto_work: what is the actual thing that they want to do?
cotto_work I suspect that some people (me for one) will want to update it, and I want updates to be as simple as possible for osuosl. 20:30
dukeleto cotto_work: the issue of needing to clone a huge parrot.git to get a single script, I get that.
cotto_work I haven't talked to them yet. fbrito has some changes to make.
What's most sensible from your pov?
dukeleto cotto_work: i can add a Build.PL to that repo that will track perl dependencies
cotto_work dukeleto: ok 20:31
dukeleto cotto_work: they can check out the parrot-utils git repo and do a "git pull --rebase" whenever we want them to use an updated version
cotto_work: that seems reasonable
cotto_work dukeleto: seems reasonable to me too
sECuRE_ dukeleto: hey there. i was wondering about the further steps of #1798. you created a branch and some tests, what’s missing to get it merged into the master branch now? 20:33
cotto_work thanks
dukeleto sECuRE_: is that the ipv6 ticket? 20:35
sECuRE_ dukeleto: yes
dukeleto sECuRE_: that branch is a bit stale. nwellnhof made some big improvements to sockets lately, so that branch needs master merged into it, or something like that 20:36
sECuRE_: do you want to work on that?
cotto_work dukeleto: your blog post has lots of duplicate content.
leto.net/dukeleto.pl/2011/01/parrot...ate-2.html
dukeleto sECuRE_: i am busy with other stuff at the moment, but I can help guide you in the correct direction with that stuff 20:37
cotto_work: i think i just fixed it
cotto_work I think you just did.
dukeleto cotto_work: :)
sECuRE_ dukeleto: sounds good to me. i would be willing to spend some work on it, given that we can achieve it actually getting merged
dukeleto sECuRE_: the issue with that branch was it was a huge patch with no tests 20:38
sECuRE_: and there are some design issues (it creates a new kind of PMC which I am not sure is needed)
sECuRE_ yes, i figured. it took relatively long and i ran out of time after getting it to work due to my new girlfriend ;)
dukeleto sECuRE_: but since we have seen lots of improvements in our sockets due to nwellnhof++, it would be interesting to see that branch updated 20:39
sECuRE_: do you have a fork of parrot.git on github?
sECuRE_ not yet, but i can do that
dukeleto sECuRE_: there is good docs in docs/project/git_workflow.pod about keeping a fork in sync and all that goodness
sECuRE_: and github renders the POD as nice HTML :)
dalek nxed: r743 | NotFound++ | trunk/winxedst1.winxed:
minor refactors and typo fixes in parser error checkings
20:40
sECuRE_ forking right now ;) 20:41
dukeleto sECuRE++ 20:42
sECuRE_ ok, i have github.com/mstap/parrot now
dukeleto sECuRE_: cool!
cotto_work forking++
dukeleto sECuRE_: i would suggest checking out the tt1798_ipv6 or whatever it is called branch
sECuRE_ yep 20:43
dukeleto sECuRE_: then attempt to merge master in and see the sparks fly :)
cotto_work bacek: pign
dukeleto bacek: pidgin
sECuRE_ heh, alright
cotto_work or ping if you prefer
dukeleto sECuRE_: if you can get "make test" to pass after merging master in, send a pull request :) 20:44
sECuRE_ dukeleto: will try to run the testcase before merging anything right now, just cloning ;)
cotto_work dukeleto: won't we need ipv6-specific tests too?
sECuRE_ cotto_work: there are some
dukeleto sECuRE_: am I to understand that you wrote the ipv6 patch?
sECuRE_ yes
dukeleto cotto_work: we have some, but they are basic
cotto_work: we of course need many more
sECuRE_: now it all makes sense! 20:45
sECuRE_ i’ll see if i can add some tests, but i need to look at that first
dukeleto sECuRE_: we have a little socket server in our test suite now, so you can actually write a test that connects to a port and all that junk
sECuRE_: i think that only works for ipv4 now, so we need an ipv6 version
sECuRE_ ok, should be no problem
last time i looked at the testcases they were rather… special ;) 20:46
(for the socket stuff)
dukeleto sECuRE_: indeed. I've improved code coverage roughtly 20% in that branch, and then nwellnhof++ increased it some more in master
sECuRE_ ok
dukeleto sECuRE_: but it is still < 40%
moritz since threads don't work properly, it's a bit hard to test stuff
sECuRE_ yes
dukeleto moritz: we can write tests in Perl 5 to get around that 20:47
moritz: but yes, you are right
20:47 mberends joined
sECuRE_ dukeleto: in which timezone do you live? (so i know when it’s realistic to hope for an answer and when rather not) 20:50
cotto_work whiteknight: the 3rd from last paragraph in your tagged subs post is also truncated. Also, "phasers". 20:52
er, 4th
whiteknight: nice idea about tagged subs. Have you run it by any Rakudo folks? 20:53
20:54 plobsing left
dukeleto sECuRE_: i am in Pacific Standard Time, whith is UTC-7 or UTC-8 depending on DST 20:54
clock?
aloha, clock?
aloha dukeleto: LAX: Mon, 12:54 PST / CHI: Mon, 14:54 CST / NYC: Mon, 15:54 EST / UTC: Mon, 20:54 UTC / LON: Mon, 20:54 GMT / BER: Mon, 21:54 CET / TOK: Tue, 05:54 JST / SYD: Tue, 07:54 EST
dukeleto sECuRE_: which are you in? 20:55
sECuRE_: i am in LAX in aloha's clock
sECuRE_ dukeleto: oh, alright, i’m in Europe/Berlin
(timezone)
so UTC+1 currently 20:56
dukeleto sECuRE_: ok, sounds good.
sECuRE_: thanks for hackign on ipv6 again!
nwellnhof sECuRE_: i made some changes to socket code lately. unfortunately, i didn't know about your patch, so it won't be that easy to merge.
dukeleto sECuRE_: i think that when we merge that, we will see many people interested in ipv6 attracted to parrot 20:57
sECuRE_ nwellnhof: don’t worry, i’ll figure it out ;)
dukeleto nwellnhof: tis ok, that is the rule of the road
sECuRE_ dukeleto: hopefully. we really need to get ipv6 in parrot/perl6 soon
cotto_work goes off to hunt a wild sandwich
dukeleto The person who merges first has the fewest conflicts.
sECuRE_: let's make it happen :)
nwellnhof sECuRE_: i moved the platform specific socket code to src/platform/generic/socket.c. there's now a single implementation for UNIX and Windows. 20:58
sECuRE_ ah, alright
my run of the testsuite just finished, all tests pass. cool 20:59
let’s merge the branch
nwellnhof sECuRE_: i also changed to platform api to use OS handles instead of PMCs.
dukeleto sECuRE_: did you get many conflicts? 21:00
21:00 fperrad left
sECuRE_ just adding the remote to git first 21:00
21:01 snarkyboojum left
whiteknight cotto_work: thanks for finding that. Annoying as hell. I'll fix those posts later. Also, I'll talk to the rakudo folks about the tagged-sub idea 21:04
sECuRE_ ok, conflicts in config/, io_unix.{c,h} (well, doh) and src/pmc/socket.pmc 21:05
dalek nxed: r744 | NotFound++ | trunk/winxedst1.winxed:
minor changes in Emitter
21:07
dukeleto sECuRE_: let us know if you are confused about resolving any of them. I would just use whatever nwellnhof++ did in config/ and socket.pmc, mostly I just added tests and maybe added a bit of error checking
/win 2 21:09
dukeleto facepalms
21:12 whiteknight left
dalek rrot/whiteknight/imcc_interfaces: b7a21c6 | Whiteknight++ | / (3 files):
fix codetest
21:13
rrot/whiteknight/imcc_interfaces: a50f445 | Whiteknight++ | / (3 files):
fix some of the new additions to be codetest and headerizer-warnings free
dukeleto really nice to see whiteknight++ attacking IMCC from every angle 21:16
The day IMCC is a memory from the past will be a bright day for Parrot. 21:17
sECuRE_ nwellnhof: the PMC you mentioned earlier (which you think is not required) is the addrinfo pmc, right? 21:18
dukeleto sECuRE_: that is what I said 21:19
sECuRE_: and yes :)
sECuRE_: maybe use a (Un)ManagedStruct insteada ?
instead, even
seems like an unnecessary PMC to me
sECuRE_ hm, very possible, i just need some container to hold the struct addrinfo 21:20
let me look at the managedstructs ;) 21:21
21:24 snarkyboojum joined
cotto_work seen fbrito 21:34
aloha fbrito was last seen in #parrot 14 hours 57 mins ago saying "good! I am going to bed right now. good night :)".
21:38 plobsing joined
nwellnhof sECuRE_: no, i didn't make changes to the addrinfo PMC. 21:40
sECuRE_ yep, nevermind :)
21:43 fbrito joined
cotto_work fbrito: ohai 21:47
fbrito cotto_work: hello :)
cotto_work I was just wondering where that guy that's you was. 21:48
fbrito sorry... I couldn't be online earlier 21:49
cotto_work no need to apologize 21:50
sECuRE_ is there a difference between using INTVAL and int? 21:51
i see both as parameters in src/platform/generic/socket.c
21:53 rurban_ joined
plobsing sECuRE_: INTVAL might not be the same thing as 'int'. for example, it might be 'long'. 21:54
sECuRE_ ah, ok
21:55 rurban left, rurban_ is now known as rurban 22:04 Kristabou joined 22:05 ligne joined 22:08 Kristaba left
sECuRE_ dukeleto, nwellnhof: hmpf, first showstopper. the functions in src/platform/generic/socket.c work with a PIOHANDLE (either a fd or void* on windows), but the connect method for IPv6 needs to open new sockets (you pass it an addrinfo structure which contains multiple results, possibly of different address families). how do i do that? 22:14
fbrito cotto_work: I am having problems with the perl "shebang" (first line on top of perl scripts). "#! perl" doesn't work on my environment, only "#! /usr/bin/perl" (but this is platform specific and should be avoided) 22:16
sECuRE_ fbrito: #!/usr/bin/env perl
fbrito I had something like that, but we should only use "#! perl" 22:17
(github.com/parrot/parrot/commit/e1...f5e8d86f9)
22:18 Eclesia joined
Eclesia good evening 22:19
I have a question about memory management in parrot.
Is there some way to limit the amount of memory used for an application ?
and somthing like weak/soft references ?
cotto_work fbrito: what about env perl? 22:26
nwellnhof sECuRE_: where does the addrinfo come from?
plobsing Eclesia: in the general case, your operating system should provide facilities for limiting the amount of memory consumed (eg: ulimit)
sECuRE_ nwellnhof: you create it by using the getaddrinfo method
nwellnhof i mean where in the parrot code?
cotto_work Heh. I missed the response from sECuRE_++
plobsing Eclesia: parrot is garbage collected, therefore there is the erroneous but common misconception that soft references are not necessary. 22:27
sECuRE_ nwellnhof: the socket pmc provides a getaddrinfo method (after my patches)
plobsing and so they aren't implemented
jnthn I could use softrefs.
nwellnhof sECuRE_: then that should probably be handled in Parrot_io_connect_handle in src/io/socket_api.c 22:28
Eclesia plobsing: the problem, is how to manage caches in an application.
jnthn (that is, have a use case if Parrot had 'em...)
sECuRE_ nwellnhof: alright
plobsing jnthn: soft references are still needed in a GCed environment, agreed. that's why java, .Net, etc implement them even though they have decent GC.
jnthn plobsing: Right. 22:29
plobsing I'm just explaining why we don't have them at the current time.
jnthn plobsing: I need to build some kinda pub/sub event model for 6model to keep its caches coherent, without leaking memory when anonymous subclasses appear.
plobsing: So I could certianly use 'em there. :)
plobsing: Yes, see you're just epxlaining why. Just adding a "me too" to the "I'd like those" list. :) 22:30
bacek_at_work ~~
cotto_work, pong
cotto_work baest: What will code that uses push_cached_eh look like?
plobsing Eclesia: our GC has no hard-ceiling parameter at the current time.
bacek_at_work cotto_work, EWRONGCOMPLETION 22:31
cotto_work oh noes
plobsing jnthn, Eclesia: I suggest starting tickets to attract the attention of GC developers.
Eclesia plobsing: I thing it's a good thing, it's a severe limitation on the jvm. but the other way is also usefull, to limit a program memory usage 22:32
nopaste "bacek" at 192.168.1.3 pasted "Final change to PAST::Compiler to use push_cached_eh" (18 lines) at nopaste.snit.ch/28743 22:33
plobsing possibly send messages on parrot-dev (leading up to PDS this weekend) requesting GC features.
bacek_at_work cotto_work, nopaste.snit.ch/28743 Unfortunately, it's broken. Something have to be done with ExceptionHandler to make it reusable
cotto_work bacek_at_work: similar to what the rethrow ops do? 22:34
bacek_at_work cotto_work, nope. rethrow do nothing with Exception. 22:35
cotto_work, basically, I have to write bunch of unittests for push_cached_eh. Most valuable is "invoke sub with EH twice and check that exception is handler properly" 22:36
cotto_work like whiteknight's rethrow test
plobsing cotto_work: NotFound++ wrote that 22:37
cotto_work right. whiteknight just committed it 22:38
22:39 hercynium left
plobsing wow. our annotations seem... innefficient. I thought someone took care of the schlemeil the painter algo in there. 22:44
cotto_work It's been on my todo list, but not with a high enough priority to actually get done. 22:46
plobsing I'll be rearranging this from the free-for-all we have now into a hash of binary trees unless anyone has any objections.
jnthn They only tend to be used to produce an exception backtrace when there's an unhandled exception.
Optimizations welcome but they're hardly a critical path.
plobsing jnthn: I'd like to use the same mechanism for truly static exception handlers
jnthn Oh. :)
Well, they weren't really built with that in mind. :)
cotto_work plobsing: be my guest.
jnthn So yes, if you're planning stuff like that, they'll certainly need changes. 22:47
22:47 Eclesia left
plobsing first... are they covered? 22:48
coverage?
aloha, coverage?
aloha plobsing: coverage is cv.perl6.cz or tapir2.ro.vutbr.cz/cover/cover-results/
jnthn plobsing: I'm sure I remember writing tests for them. 22:49
plobsing yeah, they appear to have decent coverage.
jnthn t/op/annotate.t 22:50
Ah, you found it already. :)
plobsing nope. just looked at the coverage report and saw lines averaged ~100 coverage
dalek rrot/cached_eh: d345157 | bacek++ | t/op/push_cached_eh.t:
Add skeleton for push_cached_eh testing.
22:51
rrot/cached_eh: c9bae33 | bacek++ | t/op/push_cached_eh.t:
Add (broken) test for push_cached_eh
bacek_at_work cotto_work, you can play with cached_eh branch now. Broken test describing desired behaviour :)
cotto_work Nice. I'll have to do that when I get home. 22:52
bacek++
aloha: clock? 23:03
aloha cotto_work: LAX: Mon, 15:03 PST / CHI: Mon, 17:03 CST / NYC: Mon, 18:03 EST / UTC: Mon, 23:03 UTC / LON: Mon, 23:03 GMT / BER: Tue, 00:03 CET / TOK: Tue, 08:03 JST / SYD: Tue, 10:03 EST
23:07 whiteknight joined 23:28 jan joined 23:29 kurahaupo joined 23:42 kid51 joined 23:43 TonyC left, nopaste left
dukeleto sECuRE_: good question. not sure at the moment 23:43
23:43 TonyC joined
dukeleto sECuRE_: if you can describe the situation and send an email to parrot-dev, somebody may impart some wisdom 23:43
23:44 kid51 is now known as kid51_at_dinner
dalek rrot/cached_eh: df6436f | bacek++ | t/op/push_cached_eh.t:
Fix test little bit
23:47
rrot/cached_eh: 0fc33b1 | bacek++ | src/ops/experimental.ops:
Reinit ExceptionHandler for reuse
rrot/cached_eh: b68cffe | bacek++ | src/ops/core_ops.c:
Rebootstrap ops
rrot/cached_eh: f7117a2 | bacek++ | src/scheduler.c:
DRY in add_handler_local
23:52 nopaste joined 23:55 kid51_at_dinner left
cotto_work bacek_at_work: is that a complete fix for push_cached_eh? 23:58
bacek_at_work cotto_work, nope.
cotto_work Sweet. What remains to be done?
dalek rrot/nwellnhof/unicode_dynpmcs: a9976c5 | nwellnhof++ | / (6 files):
Implement more platform specific stat functions

This lays the groundwork for cross-platform 64 bit file sizes and inodes and subsecond file times.