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.
01:07 nbezzala joined 01:12 japhb joined 04:59 schmooster joined 05:11 jsut joined 05:30 nbezzala joined
moritz what about giving nine a commit bit? that would make thing easier :-) 05:38
07:26 schmooster joined 08:10 contingencyplan joined 08:51 mj41 joined 09:05 nbrown joined, lucian joined 09:10 lucian joined 09:36 he joined
dalek p/bigint: f8beb9d | moritz++ | src/6model/reprs/P6bigint.c:
avoid allocations and deallocations in bigints {s,g}eg_int

jaeckel++ in #libtom told me that this works reliably, and a look into the source confirms it
09:50
rrot: c4e4578 | mls++ | t/pmc/hash.t:
add testcase for lexed key miscompilation
10:01
10:58 jsut_ joined 11:11 GeJ joined
dalek rrot: 94f418e | mls++ | src/hash.c:
fix overlong line
11:12
rrot: 1c18b96 | mls++ | / (116 files):
Merge branch 'master' into mls/directaccess

Conflicts:
  \tsrc/hash.c
rrot: 305b704 | mls++ | compilers/pct/src/PAST/Compiler.pir:
simplily PAST::Control, fix bug in block handler code when addreturn is not used
Heuristic branch merge: pushed 49 commits to parrot/mls/directaccess by mlschroe
11:22 SHODAN joined 11:38 Psyche^ joined 11:40 lucian joined
dalek p: 91838e0 | mls++ | src/how/NQPClassHOW.pm:
use reverse() method instead of manually reversing the mro array
12:02
12:02 atrodo joined 12:21 lucian joined 12:39 bluescreen joined 12:41 whiteknight joined
whiteknight good morning, #parrot 12:42
nine good morning, whiteknight
tadzik good morning #parrot 12:44
whiteknight hello nine, tadzik
dalek kudo/nom: 53dd308 | moritz++ | src/core/Hash.pm:
fix Hash.push; fix proposed by coto++
12:48
12:59 bluescreen joined
mls hi parrot! 13:03
whiteknight good morning, mls 13:05
tadzik hello mls
mls I see that the branch op now calls Parrot_cx_check_scheduler(), which looks a bit arbitrary
nine mls: well I guess that's because it is ;) 13:06
whiteknight mls: is that a problem? The branch op is infrequently used, I think
unless it isn't
mls is that to emulate preemption but still keep the overhead low
nine mls: yes 13:07
whiteknight we don't exactly get a lot of usage statistics in the feedback
mls i.e. with the hope that branch gets called often enough?
ok, makes sense
whiteknight mls: We used to have several ops tagged with a :check_events flag. Ops with that flag would automatically check events to simulate preemption
but the number of ops decreased, and eventually we sort of stopped using the flag, or forgot it, or whatever 13:08
so the branch op was probably the only one left, for reasons nobody can remember
mls ;)
whiteknight also, we were drinking
mls ah, that explains a lot ;)
whiteknight :)
13:09 pbaker joined
whiteknight actually, I don't really drink, so sometimes I just make random stupid decisions to feel alive again 13:09
mls so you emulate drinking?
whiteknight the bad decisions and feeling of regret, yes :) Especially when it comes to software
mls
.oO( warning: don't drink and code... )
13:11
nine mls: why not? That's what we have VCS and test suits for ;) 13:12
mls I have bad memories of coding while I was drunk: the next day, most of the code didn't make sense anymore
whiteknight other coders are calling you up, "dude, do you have any idea what kind of code you wrote last night?" 13:14
mls yes, that too. No sparc of ingenuity, I'm afraid ;) 13:15
nine drink, code, commit....just never push on the same day. Lest your embarrassment becomes public :)
tadzik mls: I did that once during GSoC, and not only the code worked the next day, but it also passed all tests and I was unable to figure out any tests that it will fail. I just commited and pushed that :) 13:19
mls wow, I need to switch to that type of alcohol ;) 13:20
whiteknight Seriously. I'm high on life, and I break tests all the time 13:22
one weekend I need to get really loaded and write a blog post about IMCC 13:24
mls imcc is not so bad, I think. It gets the job done and is reasonable fast. 13:25
the code is just a bit hard to understand
whiteknight that's the problem with it: the code grew very organically with no long-term plan 13:27
it's far too hard to maintain
mls it has its dark corners, yes 13:28
whiteknight it might get better with continued cleaning, but there are a lot of extremely bad design decisions to overcome
mls I had fun with that miscompilation on Friday
whiteknight "let me just jam this in here to get finished faster"
"I'll come back and fix this later"
mls there should be some interface so that pct and other generators can generate ops without needing to convert them to a string that later on gets parsed again 13:29
whiteknight yes, that would be key
I think that's going to happen through either the packfile API or the Packfile PMCs 13:30
we don't have a good interface figured out yet, and suggestions are welcome
tadzik newPOST was supposed to do that, ney? 13:31
whiteknight tadzik: well, it's two different problems. newPOST is going to require a good interface for generating ops 13:32
so we need a good way to make ops, then newPOSt can use that
but any tool for dynamic code generation is going to need the same kind of interface 13:33
tadzik mhm
dalek p: ae3236c | mls++ | / (4 files):
bump parrot revision to get directaccess support, use directaccess for most var lookups
tadzik oh, direcaccess got merged?
whiteknight directyaccess support?
tadzik whiteknight: no find_lex when we remember the register number, OSLT, iirc
whiteknight oh, okay 13:34
mls yes, dalek didn't report it for some reason
would it make sense to update nqp-rx as well? 13:35
(I think it also doesn't have the c3 mro fix)
whiteknight mls: sure, if you want to get involved in that. I don't know how much effort it will take
github makes it look reversed. Github says master was merged into directaccess, not the other way around
moritz and it was, at first 13:36
tadzik oh, I know why
fast-forward took action
moritz and then mls merged directaccess into master
without --no-ff
tadzik aye
mls ah, sorry, my mistake
Last time I used --no-ff
moritz and since the branches haven't diverged, no separate merge commit was made
tadzik I wonder if that's hard to get right, or does git have unsane defaults (unsane intended)
whiteknight it doesn't really matter, the important thing is that the code is in the repo 13:37
tadzik maybe "subsane" is more appropriate
moritz tadzik: well, if 'git merge' defaulted to --no-ff, at least 'git pull' shouldn't default to 'git merge' :-)
tadzik moritz: I have a feeling we ought to --rebase when we pull, and --no-ff when we merge, I wonder how bad other things will get if that was the default
13:51 JimmyZ joined
mls oh no, rakudo doesn't build anymore :( 13:52
whiteknight oh noes! 13:53
tadzik oh, just noticed
Method 'pirop' not found for invocant of class 'POST;Ops'
mls ...last minute code cleanups...
all the 6model stuff is not really used in nqp, thus not checked with the testsuite 13:54
eek, wrong label 13:56
sorry
testing... 13:57
dalek p: ca12593 | mls++ | src/PAST/SixModelPASTExtensions.pir:
fix label name so that rakudo builds again
14:04
14:07 benabik joined
benabik o/ #parrot 14:08
whiteknight good morning, benabik 14:40
benabik o/ whiteknight. How's things?
whiteknight benabik: good, thanks. We're moving forward on yet another house so we are cautiously optimistic
benabik The cycle begins again. Sending good vibes in your direction and hope for a lack of problems. 14:41
whiteknight we had the inspection over the weekend and things are mostly looking good, so that has us hopeful
15:04 PacoLinux joined 15:05 particle joined
dalek nxed: 6b9c3c8 | NotFound++ | winxedst1.winxed:
fix operators && and ||, issue 14
15:38
kudo/nom: ee1a1c5 | moritz++ | tools/build/NQP_REVISION:
bump NQP revision, just because we can
15:40
15:50 bluescreen joined
dalek nxed: afd7c7a | NotFound++ | t/intarray.t:
improve int array tests
15:56
nxed: 24b8d40 | NotFound++ | t/ (2 files):
move int array tests to the appropiate directory
nxed: 375d25b | NotFound++ | t/basic/04try.t:
basic tests for try/catch
16:13
rrot: f7b8d31 | mls++ | compilers/pct/src/PAST/Compiler.pir:
fix another bug in the return-less wrap_handlers case
16:50
p/reprapi2: a743c97 | jnthn++ | src/ (9 files):
Toss clone from the REPR API; it's just implementable in terms of the more primitive allocate and copy_to.
17:02
cotto ~~ 17:10
dalek p/reprapi2: e4e4bb4 | jnthn++ | src/6model/ (8 files):
Add gc_cleanup to REPR API; none of the current reprs need it, but bigint will. Not yet called.
17:11
p/reprapi2: 6dc6dc9 | jnthn++ | src/6model/reprs/P6opaque. (2 files):
Teach P6opaque to delegate to other reprs where it should. We now longer special case handling of various things in P6opaque that we probably never should have, have the hooks for getting P6bigint correctly flattenable into P6opaque, etc.
17:35
17:36 aloha joined 17:37 bacek_at_work joined
dukeleto msg bubablub would love your help with parrot-libgit2. just gave you a commit bit. currently trying to fix github.com/letolabs/parrot-libgit2/issues/8 17:42
aloha OK. I'll deliver the message.
17:53 fperrad joined
dalek kudo/reprapi2: 5711fcf | jnthn++ | src/binder/sixmodelobject.h:
Update sixmodelobject.h. Unsurprisingly, build epicly busted.
17:53
kudo/reprapi2: 63a6131 | jnthn++ | src/pmc/perl6lexpad.pmc:
Update Perl6Lexpad for new REPR API.
kudo/reprapi2: 71cf8b8 | jnthn++ | src/ops/perl6.ops:
Update ops for REPR API changes.
18:07
kudo/reprapi2: 69b450a | jnthn++ | src/binder/bind.c:
Update the binder for the new REPR API.
18:08 mj41 joined
dalek kudo/reprapi2: cf864ab | jnthn++ | src/binder/multidispatch.c:
Update multi-dispatcher for new REPR API.
18:19
kudo/reprapi2: 55293a2 | jnthn++ | src/binder/ (2 files):
Get remaining C parts updated, or at least to a first approximation. We now get to trying to build the setting...BOOM SEGFAULT!
18:32 benabik joined
whiteknight BOOM HEADSHOT 18:35
benabik Ahhhh!!! 18:36
benabik ducks.
dukeleto ~~ 18:43
18:51 contingencyplan joined 19:01 ambs joined
mls uh, wtf! Why is PARROT_ERRORS_RESULT_COUNT_FLAG off by default? 19:08
whiteknight is it? 19:10
you can toggle it if you want it
mls seems to be the case. another two hours lost in debugging rakudo
benabik Likely it's off because it didn't exist and whoever added it didn't want to break code that ignored extra return values. 19:12
Arguably underflow and overflow are different kinds of error. Wanting two but getting three is somewhat different than wanting two and getting one. 19:13
mls uh undefined behavior is never a good idea...
overflow is never an error AFAICT
this is about underflow, i.e. using an return value of a function that returned nothing 19:14
benabik PARROT_ERRORS_RESULT_COUNT_FLAG seems to consider over or underflow an error.
mls really? checking the code... 19:15
benabik Well, it's documented that it checks for both.
mls oh, then it must be correct ;)
benabik I'm not sure where it's actually implemented.
mls fill_params 19:16
Hmm, there is an "too many positional arguments: %d passed, %d expected" error message 19:17
that would be bad for return value
values
benabik Yes. Experimentally I get error on over and underflow.
mls we should make it possible to only flag underflow for return values, I think 19:19
but I want underflow errors to be on. Those are really hard to find errors
benabik Makes sense. 19:20
mls you change some code and suddenly things stop working because some register value is different and the register got reused as return value
I just had that with rakudo
cost me two hours
19:21 mj41 joined
mls afk -> home 19:37
19:41 davidfetter joined
dukeleto davidfetter: fancy seeing you here 19:43
whiteknight hates sql a little bit more every day
especialaly SQL Server Management Studio
davidfetter dukeleto, yeah, it's all about the defaults for chatzilla ;)
dukeleto github.com/blog/977-access-your-ev...gh-the-api 20:18
dalek nxed: 414187f | NotFound++ | winxedst1.winxed:
fix for volatile and indent emited store_lex
20:32
nxed: 9ed54d6 | NotFound++ | t/advanced/10volatile.t:
some tests for volatile
20:33
nxed: 39a16dc | NotFound++ | t/b (3 files):
move tests for & and | to t/basic/
20:51
20:51 plobsing joined
dalek nxed: 687124e | NotFound++ | t/b (2 files):
move to t/basic and improve tests for &&, add tests for ||
21:56
22:01 whiteknight joined 22:03 AzureSto_ joined
dalek nxed: 102d4c8 | NotFound++ | t/basic/02boolops.t:
simplify workaround for stage 0
22:04
nxed: 988cf03 | NotFound++ | t/ (2 files):
move tests for operator ! to t/basic/
22:10
22:18 rfw joined
dalek p/reprapi2: a375e18 | jnthn++ | src/ops/nqp.ops:
Don't look up something we already have.
22:45
p/reprapi2: c0c5bb0 | jnthn++ | src/NQP/SymbolTable.pm:
Fix a nasty NQP bug where the REPL and code run immediately rather than pre-compiled didn't properly see the setting.
p/reprapi2: 516c219 | jnthn++ | src/6model/reprs/P6opaque.c:
Add a missing sanity check to P6opaque that catches some nasty bugs.
whiteknight happy halloween, for those of you who observe
dalek kudo/reprapi2: caf5040 | jnthn++ | src/Perl6/Metamodel/ContainerDescriptor.pm:
Avoid the NQP default constructor for now, which doesn't handle native types properly. This gets us a bit further into the build.
22:59
p/reprapi2: fd65ca0 | jnthn++ | src/ops/nqp.ops:
Fix thinko in repr_clone op.
23:17
23:23 benabik joined 23:27 bubaflub joined
dalek nxed: 175ad9b | NotFound++ | winxedst0.cpp:
quick fix to assignment in stage 0 to allow some tests
23:29