Parrot 3.9.0 "Archaeopteryx" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 19 October 2011.
NotFound I wonder how people react at reading the FAQ about the name. Specially the winx club part X-) 00:00
dalek p/nfa: 5680b10 | jnthn++ | src/QRegex/NFA.nqp:
Fix NFA construction for the empty literal, so / '' / now gets its NFA built properly. Gets 45-smartmatch.t building and passing again.
00:03
NotFound dukeleto: you can mention winxedxx as one of the exciting points. It's starting to be a bit usable. 00:07
Specially if you want to do benchmarks, winxedxx is impressive in some cases. 00:11
dukeleto NotFound: tell me what is exciting, and I will :) 00:16
NotFound dukeleto: is a backend for winxed that generates C++. The result if a full compiler to native code. 00:18
And thus functions using only native int and floats run at full C/C++ speed. 00:19
It still lacks a lot ot thngs to be fully exciting, but already shows its potential. 00:21
00:39 wknight8111 joined 00:43 schmooster joined
wknight8111 t/steps/auto/warnings-01.t fails. I'm ignoring it 01:05
fulltest takes forever 01:11
benabik yes 01:12
wknight8111 we need a make lightningtest
which isn't comprehensive, but is very very fast
what it will do is only run the tests which might fail
and if everything is good, it won't run anything 01:13
01:19 woosley joined
wknight8111 I want to go through the tests and rip out all the TODO tests which we are clearly not working towards 01:22
dalek rrot/release_3_10: 6f76221 | Whiteknight++ | / (9 files):
Update all the metadata and other jazz for Parrot 3.10.0, Apple Pi.
01:30
wknight8111 interesting article about memory allocation and optimization: locklessinc.com/articles/allocator_tricks/ 01:31
cotto that's a big article 01:33
make dtrttest
wknight8111 more fulltest 01:39
I might get old and die before I get this release ready
cotto -j 5000 01:43
We could probably knock out releases really quickly on some of those speedy machines where dukeleto's trying to set up jenkins. 01:44
-j128 would make sense there
this would have been a good idea to have yesterday 01:46
wknight8111 tarballs are up
benabik Somebody get a mop. Tar will _ruin_ the ceilings. 01:48
dalek website: Whiteknight++ | Parrot 3.10.0 "Apple Pi" Released 01:58
website: www.parrot.org/news/2011/Parrot-3.10.0
tadzik @add corresponding lines@ ? 02:02
02:04 jsut_ joined
wknight8111 I already fixed that 02:10
I'm not updating the docs tonight. I'll do it tomorrow, if nobody else beats me to it 02:19
02:20 alvis joined
dalek rrot: 6f76221 | Whiteknight++ | / (9 files):
Update all the metadata and other jazz for Parrot 3.10.0, Apple Pi.
02:23
rrot: 777824a | Whiteknight++ | / (10 files):
Merge branch 'release_3_10'
02:31 kid51 joined
dukeleto ~~ 02:51
msg wknight8111 the blog post on parrot.org has the old Changelog 02:52
aloha OK. I'll deliver the message.
benabik dukeleto: He grabbed it from the release branch. You updated it in master. 02:53
dukeleto msg wknight8111 and no contributor list :(
aloha OK. I'll deliver the message.
dukeleto benabik: yes, i thought he was going to cherry pick it
benabik: miscommunication
wknight8111 bleh
I'll fix those things tomorrow
I wonder why the release announcement got the wrong changelog entry 02:54
that's the right changelog entry 02:56
dukeleto wknight8111: i edited in master, but you were working in the release branch
wknight8111: i added stuff in master 02:57
wknight8111 oh, you added to it
okay, I didn't see that change
Coke dukeleto: no, I'm on the TPF Grants Committee. 03:04
I theoretically am managing pmichaud's Hague grant, but that's on hold at the moment. (hurm. I guess so, yes, but not one of hte normal ones.)
the only undocumented junk in the "cut the release docs" is the webroot dir, which is documentable pretty easily. 03:07
03:12 benabik_ joined
dukeleto Coke: document at will :) 03:31
Coke: i am looking for a potential hague grant manager
cotto dukeleto, ping 04:59
dukeleto, unping 05:08
08:49 mj41 joined 08:53 cognominal joined 09:09 schmooster joined 09:20 lucian joined 09:45 bacek joined 10:03 woosley left 10:15 snearch joined 12:12 Psyche^ joined 12:14 ambs joined 12:37 bluescreen joined 13:11 whiteknight joined, mtk joined
whiteknight good morning, #parrot 13:11
moderator Parrot 3.10.0 "Apple Pi" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC 13:36
dalek p: 86080ba | mls++ | src/ (3 files):
reapply directaccess patches now that we again build against an up-to-date parrot
13:40
Coke dukeleto: hague grant managers have nothing to do with the "normal" grant managers. the whole hague process is separate.
You can pretty much nominate anyone. I would avoid me if possible due to my lack of perlian tuits. 13:41
whiteknight mls: ping
he Hm, I'm behind the curve, currently fixing the packaging of 3.8.0 on pkgsrc in NetBSD. 13:43
It appears that pkgsrc is now stricter that there should be no work-directory references in any installed file, and parrot is a Big Violator in that regard -- 12 installed files reference the build directory. 13:44
mls pong?
he I think that's bad. 13:45
There's no guarantee that the work directory will or will not exist at any future point in time. Carrying around references to it is pointless at best, and can be dangerous if references to libraries are attempted to be resolved. 13:46
whiteknight mls: I want to get your ehqueue branch merged. I can work on it, unless you want to 13:47
mls no prob, I can merge it for you 13:48
whiteknight mls: If you want to do it, go for it!
mls ok, merging... 13:49
Coke he: that bug has come and gone many times; definitely needs to be fixed ,yes.
whiteknight mls: And what's the status of your Sub refactor branch? 13:51
he Coke: should I perhaps open a ticket for it -- would that be via trac?
Coke new tickets are probably better done at github at this point.
pull requests even better! (but tickets good.)
mls whiteknight: seems to work. just needs a bit of cleanup. I'll create a branch later today
he OK, I'll look at how that's done.
whiteknight mls: okay, awesome 14:02
he ok, issue #201 created, documenting the offending files and strings. 14:12
14:13 benabik joined
dalek rrot: 3c927ac | mls++ | / (30 files):
Merge remote branch 'origin/master' into mls/kill-events-in-ehqueue

Conflicts:
  \tsrc/ops/core_ops.c
14:23
rrot: be7897f | mls++ | / (20 files):
Merge branch 'mls/kill-events-in-ehqueue'
Heuristic branch merge: pushed 29 commits to parrot/mls/kill-events-in-ehqueue by mlschroe
mls hmm, dalek ignored the merge into master again 14:25
oh wait, not true
dalek kudo/nom: 8f1f5d1 | coke++ | t/spectest.data:
track failure modes
15:18 bluescreen joined 15:48 allison joined
dukeleto he: you probably want to package 3.9.0, that was a stable release 16:03
he: but i am sure all the same issues exist there as well
cotto++ 16:05
16:10 alester joined
alester Oooh boy I now have a JSON format to write tickets to gist.github.com/7f75ced1fa7576412901 16:10
dalek rrot: e6bedb1 | dukeleto++ | docs/project/release_manager_guide.pod:
Add myself as the release manager of 4.2.0
16:11
dukeleto alester++ # ticket whisperer 16:14
whiteknight those github guys are on top of things. That's why I want to move so much of our infrastructure to their system 16:23
dukeleto indeed. 16:24
They are very responsive
whiteknight: did you get a chance to update the Changelog on parrot.org ? 16:25
src/pmc/exceptionhandler.c:567: error: invalid conversion from ā€˜PMC*’ to ā€˜INTVAL’
make: *** [src/pmc/exceptionhandler.o] Error 1
who broke the build?
on g++, anyway
dukeleto sighs 16:26
benabik o/ #parrot
dukeleto: git-blame is your friend.
dukeleto benabik: too good of a friend. I try not to go out drinking with him too often, 'cause it ends up being like the movie The Hangover
whiteknight dukeleto: I have not. Swamped with $dayjob all morning 16:28
dukeleto: feel free to poke it yourself, if you have time, otherwise it has to wait till I get home
benabik May be from the merge?
whiteknight ah, yes. That's probably the culprit
we'll fix it. Today is "break the damn build day"
it's like a national holiday
atrodo *international holiday 16:29
benabik National, for the sovereign nation of Parrot.
whiteknight wherever
dukeleto whiteknight: i just updated the changelog on parrot.org 16:38
whiteknight: it is important to get the word out about GCI
whiteknight okay
16:41 davidfetter joined
dukeleto davidfetter: mornin' 16:41
davidfetter hi! 16:42
benabik I'm started to get piles of warnings about PACKAGE getting redefined in ffi.h and fficonfig.h 16:43
That PMC* -> INTVAL conversion g++ is complaining about looks like a bug, not g++ being overly picky. I think mls wanted to use type, not handledtype there. (src/pmc/exceptionhandler.pmc:108) 16:48
16:49 dngor joined 16:55 cosimo joined 17:05 dngor joined
dalek rrot: e80192d | mls++ | src/pmc/exceptionhandler.pmc:
fix build again, sorry
17:06
benabik Oh, buh. I got distracted halfway through making that exact fix.
mls well, I broke it, so it's only fair that I repair it again ;) 17:07
benabik mls: True 'nuff.
I just try to actually commit fixes instead of just complaining about them. :-)
mls yeah, me too. At least I want to know exactly why something doesn't work. 17:08
dukeleto mls: a good rule of thumb is that c++ compilers are much more strict, so confirming the build compiles/tests with one when making C-level changes is good practice 17:11
another reason we need a friggin' CI environment. I am attempting to get Jenkins installed on Supercell... 17:12
mls yes, CI would help a lot 17:14
dalek rrot/mls/new-autoclose: 3b35e03 | mls++ | / (5 files):
new autoclose implementation, no longer relying on sub->ctx

sub->ctx contained the context of the last call to this sub. It was used in the autoclose code, which does not work when multiple threads are running. Thus we do away with sub->ctx, but search the call chain for a suitable context instead. We also delete the now unused SUB_FLAG_IS_OUTER flag.
17:15
whiteknight mls++ 17:21
I'm very excited about this work. It's a stepping stone to some refactors I want to do later to Sub 17:22
What I really want to do with Sub is Ctrl+A,Delete, then rewrite the damn thing correctly
git rm src/pmc/sub.pmc && git commit -a -m"see you later, sucker" 17:23
mls aww, poor sub.pmc
dalek rrot/mls/new-autoclose: f2b28ef | mls++ | src/pmc/sub.pmc:
make sure outer_sub is set before calling autoclose_ctx()
17:25
benabik Parrot master, nqp master hangs building srx/stage2/gen/nqp-mo.pm for me. Anyone else have an issue with it? 17:34
mls building... 17:39
17:44 fperrad joined
mls yeah, seems to hang 17:44
whiteknight that stinks 17:45
mls I wonder what it's doing, it isn't using up memory
whiteknight break it in gdb and see where it's stuck 17:46
mls just did that
whiteknight nqp doesn't use event handlers, does it?
benabik Uses exceptions a lot.
mls hey, nqp/rakudo worked with my branch 17:47
benabik I'm testing with 3.10
mls: Might have been something missed in the merges. 17:48
mls Null PMC access in Parrot_set_p_kc_p
p_kc could be some exception setup
oh wait, p_kc_p. that can't be an exception setup 17:53
whiteknight sure it can be: exception["payload"] = foo 17:55
mls I meant can't be because of my PCT changes regarding exception setup 17:56
ok, it dies in the module loader 17:57
benabik Does not hang on 3.10
mls set exception["handled"], $P1063
was there a change that calling .get_results multiple times no longer works? 17:58
I wonder why it worked for me in the past. very strange. 18:04
whiteknight has it ever worked? I can't think of a reason why it would have changed
.get_results is going to call the get_params op, which I don't know if that can be called more than once 18:05
get_params op eventually calls the fill_params function, which is the path to insanity
mls get_results sets the signature (i.e. the callcontext) to PMCNULL after it is done 18:06
benabik Bah. bisecting an NQP problem is obnoxious. Have to match NQP versions to the bisected Parrot version. I'll try that later if needed. 18:07
mls no need. I know exactly why it fails. 18:08
I just don't know how to fix it.
benabik Ah. mls++
mls I changed PCT to automatically finalize the excpetion
to do this, I need to get the exception in the handler 18:09
benabik ponders writing a script that scans through commits looking for one that can install under the current parrot.
mls I just revert that part for now, I guess
benabik afk
18:21 plobsing joined
dalek rrot: 307b816 | mls++ | compilers/pct/src/PAST/Compiler.pir:
disable auto-finalize for now

To finalize, we need to get the exception with get_results. Unfortunately, get_results clears the caller object, so other code also doing a get_results to get the exception will no longer work. I don't know how to fix that except to add a new op that just "peeks" at the exception.
18:36
mls this is all very sad :-(
sorear mls: imo one of the biggest advantages of Parrot's design over something like the JVM is how cheap and easy it is to add new ops 18:37
do not hesitate
mls yes, I don't see any other way to fix it and stay compatible to the current HLL implementations
sorear why are you looking for other ways to fix it? do you have an internalized fear of adding ops? 18:38
mls of course, I could also change get_results to not clear the call object any longer. get_params does not clear it, why should get_results?
no, I already added some ops ;) 18:39
sorear if get_results doesn't clear the call object there is potential for excessive memory retention
mls yeah, it may be better to clear it. I think clearing it was added when the calling convention were changed so that get_results had to be called after the invoke 18:41
earlier you had to call it before the invoke
anyway, will fix it tomorrow. gotta head home now.
afk
whiteknight Ideally, Parrot will become fully CPS and get_results and get_params will be merged 18:47
right now, I think the two are different as something of an optimization
although it's a dubious one 18:48
NotFound mls: the cleaning of the call object is to avoid getting references to objects that otherwise will be collected. 19:08
whiteknight: in such ideal world, we probably won't have "special" registers in the context- 19:10
19:17 mj41 joined
whiteknight NotFound: we don't have special registers in the context now anyway 19:18
alester did we have our release? 19:19
whiteknight yessir 19:21
alester: it's officialy "break stuff" o'clock 19:22
alester yay
Good, 'cause I don't want to test this code I jsut wrote. 19:23
Hey look, splint found an uninitialized variable. Yay splint. 19:30
whiteknight alester: have you ever used coccinelle? 19:31
NotFound whiteknight: the call object
alester whiteknight: No
whiteknight NotFound: the call object is a special register?
NotFound You can clean it with pir code? 19:32
dalek rrot: 25443f2 | petdance++ | src/scheduler.c:
Use a proper NULL, not 0
19:34
19:38 bluescreen joined 19:41 bluescreen joined 19:42 bluescreen joined
benabik docs.parrot.org is still 3.8? 19:47
19:47 RobertLJ joined
dalek rrot: 951b099 | petdance++ | lib/Parrot/Pmc2c/PMC.pm:
Remove some DRY in creating var name. Sort the keys so output is consistent between runes.
19:53
alester OK, I've mucked around enough. Back to real work.
cotto benabik: how odd. I'm pretty sure I updated it for 3.10 19:57
benabik cotto: It says 3.8.0 in the title. Dunno what to tell you 19:58
cotto indeed it does
when reality and my memory conflict, reality wins
3.8.0 is the latest on the server 19:59
apparently added by me
20:04 bluescreen joined
cotto updated 20:05
benabik++ 20:07
20:16 perlite joined
dalek p/nfa: 46e0f9e | jnthn++ | src/QRegex/Cursor.nqp:
Fix an LTM tie-breaking bug; diakopter++ for spotting.
20:24
benabik Hm. Disassembler can't disassemble itself. Poor. 20:39
This looks far more like a disassembler: gist.github.com/1291423 20:48
dalek p/nfa: cecd970 | diakopter++ | src/QAST/ (2 files):
move node() from QAST::Regex to QAST::Node; add $!node to QAST::Node
20:50
p/nfa: abf900a | diakopter++ | src/QRegex/Cursor.nqp:
Merge branch 'nfa' of github.com:perl6/nqp into nfa
CT: cf92723 | benabik++ | src/disasm.winxed:
disasm: Prettify oplib version
20:58
CT: 9324eb0 | benabik++ | src/disasm.winxed:
disasm: Disassemble bytecode!

Dealing with PCC was less irritating that expected.
cotto benabik: how's PACT going? 21:02
benabik cotto: Well, I'm starting to get a decent handle on the Packfile formats.
cotto disassembling bytecode sounds encouraging
benabik The disassembler is already reasonably useful, I think.
cotto they're not amazing, but they could be a lot worse
whiteknight benabik: that gist is pretty awesome 21:13
dukeleto benabik: nice work!
whiteknight why can't the disassembler disassemble itself? Any particular feature that's missing?
also, it might be nice to add a label "segment" before the name of the segment, because CONSTANT_temp.pir isn't very descriptive about what it is 21:14
benabik It tries to load_bytecode itself and gets conflicts.
whiteknight SEGMENT "CONSTANT_temp.pir"
dukeleto benabik: that is really sexy! want! 21:15
dalek kudo/protoregexes: 88f6945 | jnthn++ | src/Perl6/Grammar.pm:
Parse current protoregex syntax; keep older deprecated ones for now, though we'll put a warning in the next * release about them.
kudo/protoregexes: 829f9d3 | jnthn++ | src/Perl6/Actions.pm:
Update actions so we can, in theory, handle protoregexes, though the NFA construction explodes for some reason.
cotto benabik++
whiteknight oh, okay. Rosella's pbc reading utilities have that same problem. if you try to read one of the libraries that is already loaded, there can be fireworks
if you do a load_packfile("pbcname.pbc") it should return the cached handle without trying to load more symbols
benabik Why does sprintf('%03d', i) die with `get_pmc_keyed() not implemented in class 'Integer'`? 21:16
whiteknight benabik: is i an integer?
benabik int i, yes
whiteknight the second arg to sprintf should be an array
benabik Ohhhhh.
whiteknight sprintf('%03d', [i])
cotto that's a fun one
whiteknight i run into that
all the time 21:17
benabik: that output looks really really awesome. I'm excited now
what would be awesome to do is try and insert sub start/end point markers 21:18
I don't know if that information is easily available, but we should make it available
benabik I think it is. I have the sub PMCs around.
whiteknight are you writing this in C or WinxeD?
or winxed
benabik Which I think give the start/end points.
Winxed
whiteknight okay, it might be available at that level, if not we need to expose it 21:19
benabik++
dalek CT: 9561b90 | benabik++ | src/disasm.winxed:
disasm: Show PC
21:21
CT: 5e4a2a4 | benabik++ | src/disasm.winxed:
disasm: Show segment types

At whiteknight's request
rrot-libgit2: 047d673 | dukeleto++ | README.md:
Add info about needing Rosella to run the parrot-libgit2 test suite
rrot-libgit2: 8b80088 | dukeleto++ | README.md:
fix link in readme
21:23
NotFound benabik: The Sub PMC has start_offs and end_offs methods 21:25
whiteknight NotFound: okay, I wasn't sure. Other bits like MultiSub don't have those methods, i know 21:26
okay, I'm heading home. Goodnight 21:27
dalek kudo/protoregexes: a8b2873 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
Add nqpattr cheat used for now by protoregexes implementation, so the NFA builder can get at NFAs for subrules. And with this, we seem to have workingish protoregexes - to the limit of the NFA engine (which still means more powerful than the literal only we had before).
21:28
p/nfa: ad45f01 | jnthn++ | src/QRegex/NFA.nqp:
Twiddle NFA subrule merge logic to avoid needing to boolify.
21:28 Hackbinary joined 21:31 Hackbinary joined
benabik aloha: msg whiteknight using load_packfile doesn't seem to work: "Error reading packfile". I'm using File.readall and Packfile.unpack right now. 21:32
aloha benabik: OK. I'll deliver the message.
dalek CT: 0fce27c | benabik++ | src/disasm.winxed:
disasm: Show Sub positions
21:34
21:44 Hackbinary|2 joined
dalek CT: 250be55 | benabik++ | src/disasm.winxed:
disasm: Space after keyword

Consistency is good, even without a written down code style
21:45
CT: 4d3f730 | benabik++ | src/disasm.winxed:
disasm: Make integer floats more obvious
CT: 5124ad7 | benabik++ | src/disasm.winxed:
disasm: switch is a keyword too
21:46
NotFound benabik: the recommended way to get array length is elements, better than converting to int. 21:49
benabik NotFound: Er, yes? I tend to store the result of elements in an int since I don't like calling it on every iteration of the loop. 21:50
Is there somewhere I didn't?
NotFound benabik: you use cast to int in main
benabik So I did. benabik-- 21:51
dalek CT: 1426a0c | benabik++ | src/disasm.winxed:
disasm: Use elements, not cast to int, for length
21:53
benabik NotFound++
dalek p/nfa: 0bbd9c1 | jnthn++ | src/QRegex/NFA.nqp:
Handle empty concat nodes in NFA builder; fixes tests we regressed in the protoregexes branch.
22:11
22:22 RobertLJ joined
dalek kudo/protoregexes: e41953a | jnthn++ | src/Perl6/Grammar.pm:
Ensure that regex compiler sees the name of the regex. Fixes use of <sym> in protoregexes, and protoregex.t now passes all but one test (which seems to be unrelated to protoregexes themselves).
22:26
rrot: 2001ad8 | benabik++ | src/pmc/packfileannotation.pmc:
PackfileAnnotation: Add PMC and type methods

Previously there was no way to determine the type of the annotation
  (except trial and error), nor a way to get a PMC annotation.
22:31
CT: 7d1d648 | benabik++ | src/disasm.winxed:
disasm: Show annotation values

Requires Parrot > RELEASE_3_10_0-26-g2001ad8
nxed: 16db222 | NotFound++ | winxedst1.winxed:
allow multiple comma sparated expressions in iteration part of for
22:33
benabik Heh. I was just trying to do that. 22:34
22:39 lucian joined
benabik Okay, and now I'm off. Enjoy my disassembler. 22:43
dalek website: benabik++ | PACT - Disassembler 22:45
website: www.parrot.org/content/pact-disassembler
p/nfa: 2668e04 | jnthn++ | src/QRegex/P6Regex/Actions.nqp:
Ensure that <sym> captures.
22:50
23:37 rfw joined
dukeleto dukeleto.pl \\o/ 23:38
23:52 whiteknight joined