Parrot 3.1.0 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Goals: ?
Set by moderator on 20 February 2011.
00:05 worr left
ShaneC totally random question, anyone know who wrote gumbybrain? 00:09
00:16 kid51 joined
kid51 ~~ 00:20
dalek rrot/opsc_full_parse: 0dea075 | bacek++ | t/compilers/opsc/03-past.t:
Update test to more strict grammar.
00:37
rrot/opsc_full_parse: 51b672f | bacek++ | compilers/opsc/src/Ops/Compiler/Actions.pm:
Fix PASTing of sym<call>
rrot/opsc_full_parse: 2efc409 | bacek++ | compilers/opsc/src/Ops/Compiler/Grammar.pm:
Add array initializer to declarator.
rrot/opsc_full_parse: f4d8bdd | bacek++ | compilers/opsc/src/Ops/Compiler/Grammar.pm:
Add struct to type_declarator
rrot/opsc_full_parse: aa2a676 | bacek++ | compilers/opsc/src/Ops/Compiler/Actions.pm:
Store initializer and array_size in PAST::Var declaration
rrot/opsc_full_parse: e5bae8c | bacek++ | compilers/opsc/src/Ops/Op.pm:
Macro calls has "macro" type now.
rrot/opsc_full_parse: 1fad0c3 | bacek++ | compilers/opsc/src/Ops/Op.pm:
Process PAST::Var declarations
kid51 msg whiteknight: In whiteknight/imcc_compreg_pmc branch I am getting no failures. And the only test I see for pir_error_output_is() is can_ok. 00:48
aloha OK. I'll deliver the message.
whiteknight why do I always see problems with that test, and you do not see them? 00:49
that is troublsome
kid51 Run on linux/i386, no --optimize (but none of that should affect this kind of test). paste?
whiteknight the build is currently broken while I fix some things. I'll send you a paste tomorrow if it's still a problem 00:50
kid51 the build is broken? but I just did a fresh checkout and built! 00:51
doing smolder atm
whiteknight oh, wait. the g++ build is broken. I may have fixed the C build 00:52
kid51 with gcc builds, but plenty of test failures: smolder.parrot.org/app/projects/rep...ails/10861 00:56
whiteknight expected 00:57
00:57 dmalcolm left
kid51 Is aloha not delivering private messages? 00:58
cotto_work msg kid51 good question 00:59
aloha OK. I'll deliver the message.
kid51 ~~
whiteknight I just got one
kid51 ok, I got that.
cotto_work there you go
kid51 I guess people just haven't been sending me responses ;-)
nopaste "kid51" at 192.168.1.3 pasted "whiteknight/imcc_compreg_pmc: where 'make' fails during all-g++ build" (1 line) at nopaste.snit.ch/34046 01:01
kid51 lemme try that again; got no line breaks.
whiteknight to fix the g++ build I need to make a major change to the recursive tailcall optimizer 01:03
of course, I don't think that optimizer is used or well tested, so I won't know if I break it 01:04
I'm seriously considering disabling that particular optimization for now
nopaste "kid51" at 192.168.1.3 pasted "compreg branch: g++ build failures" (41 lines) at nopaste.snit.ch/34047 01:05
kid51 mucho mejor
whiteknight yeah, that's the function. move_regs
so I need to decide how to fix it 01:06
cotto_work: you have any opinions on it?
cotto_work -Ofire
whiteknight ....lolparse? 01:07
cotto_work imcc optimizations are pretty broken. Is the code in question hit during the build?
"optimize it with fire"
whiteknight okay, that's what I was hoping the answer would be
there will be a lot of fire
kid51 mikehh: ping 01:08
cotto_work It's a stupid tuit sink to have broken optimization code that requires developers to figure out if it's working and how to fix it.
I'd also like to know what plobsing thinks about it, since he's been knee-deep in imcc guts on more than one occasion. 01:10
01:10 bubaflub joined
whiteknight i always like hearing what plobsing has to say 01:11
cotto_work yes
dalek rrot/whiteknight/imcc_compreg_pmc: b041f97 | Whiteknight++ | / (3 files):
nuke the recursive tailcall optimizations from orbit
01:13
whiteknight pwn
dalek rrot/whiteknight/imcc_compreg_pmc: 1c3b05d | Whiteknight++ | / (2 files):
fix a stupid bug in the new IMCC API. The G++ build is now fixed
01:16
cotto_work whiteknight: are those functions run during normal use?
whiteknight which functions? the tailcall optimization ones? 01:17
cotto_work the ones that just went away in your branch
whiteknight no, they were only used if somebody called IMCC with "Sub" optimizations enabled 01:18
cotto_work I suspect not but I want to be sure we're not losing anything of value.
whiteknight I think that's "-OS"
plobsing I used to be in favour of optimizations in IMCC. We had some pretty shiny things in there. But, the tight coupling is killing it. And the amount of information available to IMCC is no greater than available in PBC. It would be interesting to try to revive those (old ideas, new code) to work stand alone on bytecode. IMCC would then become "only" an assembler. 01:19
whiteknight yes, that's what I would prefer by far 01:20
IMCC just doesn't do it well enough to justify all the extra cruft and complexity
dalek rrot/whiteknight/imcc_compreg_pmc: 023e9a8 | Whiteknight++ | t/src/embed/api.t:
fix t/src/embed/api.t with g++
01:25
rrot/whiteknight/imcc_compreg_pmc: ffc089e | Whiteknight++ | / (93 files):
fix merge in optimizer.c
whiteknight that merge was surprisingly painless 01:26
cotto_work git++ 01:27
whiteknight git++, yes. Also, it goes to show that I'm not working in a particularly popular area of the system
nopaste "Whiteknight" at 192.168.1.3 pasted "Perl_Test.t failure for kid51++" (43 lines) at nopaste.snit.ch/34054 01:29
whiteknight if plobsing weren't making a few related fixes there, nobody would be touching IMCC 01:30
cotto_work plobsing: do you happen to have an idea what the vtable swap ticket ( trac.parrot.org/parrot/ticket/569 )is about? It seems like a concept you might be familiar with. 01:41
kid51 whiteknight: Will look at that failure ... but now ... 01:42
plobsing sorry, I have no idea. and the link provided as the description is borkededead
01:42 kid51 is now known as kid51_at_dinner
plobsing protip: providing an actual description for tickets dramatically increases the odds anyone will know what it is about. 01:43
cotto_work wfm. I'll reject it.
whiteknight +1 01:47
cotto_work done 01:48
01:56 whiteknight left
dalek TT #569 closed by cotto++: vtable swap (e.g. bignum) 01:57
TT #569: trac.parrot.org/parrot/ticket/569
02:35 bubaflub left, kid51_at_dinner is now known as kid51
dalek rrot: d6d3418 | petdance++ | tools/dev/nci_thunk_gen.pir:
note that ret_object is unused to quite warnings
02:37
kid51 We now have 1500 closed tickets in the Trac system. 02:40
ttbot Parrot d6d3418e MSWin32-x86-multi-thread make error tt.taptinder.org/cmdinfo/29404
Parrot d6d3418e MSWin32-x86-multi-thread make error tt.taptinder.org/cmdinfo/29422 02:44
kid51 Uh-oh, who did a bad thing? 02:45
plobsing looks like d6d3418 isn't quite right 02:46
kid51 msg Andy Windows doesn't like d6d3418
aloha OK. I'll deliver the message.
kid51 msg petdance Windows doesn't like d6d3418
aloha OK. I'll deliver the message.
kid51 msg whiteknight On box where you are getting Parrot_Test.t failure, call: perl -MTest::Builder -E 'say $Test::Builder::VERSION;' Let's see what we can rule out. 02:48
aloha OK. I'll deliver the message.
dalek rrot: f11f934 | bacek++ | tools/dev/nci_thunk_gen.pir:
Fix previous commit.
02:51
cotto ~~ 02:53
kid51 msg whiteknight AFAICT, the only difference in your Parrot_Test.t failure between the "got" ("STDERR is") and the "expected" ("not") is the trailing whitespace in the two lines that start '# #' -- once after 'foo' and once after '/bar/' -- which I suspect may be our efforts to accommodate too many versions of Test::Builder 02:59
aloha OK. I'll deliver the message.
dalek rrot: b9dcad0 | bacek++ | t/op/gc-non-recursive.t:
Don't lie in test. Just skip it.
03:00
mikehh kid51: you rang sir - (only here briefly) 03:12
sorear I think "vtable swap" means morph
plobsing sorear: ok, what does morph mean? 03:20
cotto It seems to amount to calling Parrot_pmc_reuse with a new pmc type. 03:25
sorear plobsing: take existing pmc, install new vtable and resize slot storage if needed 03:43
unlike C++ objects, PMCs can change their type without changing their identity 03:44
kid51 mikehh: As a recent Release Manager, would you like to glance at trac.parrot.org/parrot/ticket/1159 and see if what I did works for you? 03:45
I'll cc you. No rush.
msg whiteknight Still need your feedback on trac.parrot.org/parrot/ticket/1948 03:46
aloha OK. I'll deliver the message.
kid51 must sleep
sorear who is in charge of the bigint pmcs?
mikehh kid51: I'll have a look at it - but have to go now 03:49
03:52 kid51 left 04:05 mtk left
cotto Can someone clarify tt 1212? jnthn seems to be saying that fh.eof works exactly like it should. 04:07
eof returning true when there's nothing more to be read is the expected (and documented, afaict) behavior. 04:09
s/true/false/ would make sense, but nobody's mentioned that in the ticket 04:11
04:11 mtk joined
cotto jnthn, ping 04:17
seen jnthn 04:31
aloha jnthn was last seen in #perl6 1 days 5 hours ago joining the channel.
dalek rrot: cba535a | petdance++ | src/pmc/nci.pmc:
removed unused variable
04:51
rrot: 027c663 | petdance++ | src/pmc/packfilebytecodesegment.pmc:
removing unused vars
rrot: 946692a | petdance++ | src/ops/ (5 files):
consting local variables
rrot: 4264641 | petdance++ | src/pmc/packfileopmap.pmc:
removed unused variables, and consted local vars
rrot: d63dabe | petdance++ | src/embed/api.c:
removed unused variable
rrot: 3841cd8 | petdance++ | src/gc/gc_gms.c:
removed unused vars, and consted many pointers
rrot: acc2926 | petdance++ | src/nci/signatures.c:
Removed a dead var
rrot: 7e38731 | petdance++ | src/gc/fixed_allocator. (2 files):
removed unused vars, and shimmed up an interp arg
rrot: f0a50b0 | petdance++ | frontend/parrot/main.c:
removing und vars
05:24
rrot: 314f233 | petdance++ | frontend/pbc_merge/main.c:
removed unused var and unused parameters from pbc_merge_debugs()
rrot: 9aff00f | petdance++ | src/ops/core_ops.c:
regenerated .c code for the ops
05:37
rrot: c159d22 | petdance++ | src/dynoplibs/ (3 files):
consting local vars
05:44
06:15 rurban_ joined
dalek rrot/opsc_full_parse: dcf3108 | bacek++ | compilers/opsc/src/Ops/Compiler/Grammar.pm:
Add fake :pirop to infix operators.
06:17
rrot/opsc_full_parse: 72ce1af | bacek++ | compilers/opsc/src/Ops/ (2 files):
Emit more C code. Subject to heavy refactor
06:18 rurban left, rurban_ is now known as rurban
dalek rrot/opsc_full_parse: dcedab9 | bacek++ | compilers/opsc/src/Ops/Compiler/Grammar.pm:
Replace french quotes with angle brackets. NQP doesn't handle them well.
06:21
nopaste "bacek" at 192.168.1.3 pasted "New shiny opsc!" (134 lines) at nopaste.snit.ch/34055 06:22
bacek_at_work cotto, look! It's alive! :) nopaste.snit.ch/34055 06:23
cotto bacek_at_work, !!! 06:27
bacek_at_work cotto, not finished (of course :) 06:28
cotto bacek_at_work, anything I could hack on now that I finally have a few tuits? 06:31
That's a pretty fast parse too. 06:33
Is it anywhere near parsing a core or dynop .ops file? 06:34
bacek_at_work cotto, it was used to pass 02-parse-all-ops.t 06:45
now it's failing. More tweaks of grammar required...
t/compilers/opsc/02-parse-all-ops.t (Wstat: 0 Tests: 19 Failed: 8)
Failed tests: 1, 3, 5, 7-11
cotto, you can work on PASTing other statement_control things. Like "for", "while", etc 06:46
cotto ok
06:49 cosimo left
dalek rrot/opsc_full_parse: 9276bae | bacek++ | compilers/opsc/src/Ops/ (2 files):
Introduce pirop mapping for infix operators with angles
06:50
06:50 cosimo joined, cosimo left
bacek_at_work bacek@illusion:~/src/parrot (opsc_full_parse) $ prove t/compilers/opsc/02-parse-all-ops.t 06:54
t/compilers/opsc/02-parse-all-ops.t .. ok
All tests successful.
cotto, yeah :)
dalek rrot/opsc_full_parse: 22d4963 | bacek++ | compilers/opsc/src/Ops/ (2 files):
Add more mappings
cotto I blink and suddenly you've fixed another batch of tests. 06:58
bacek++
dalek rrot/opsc_full_parse: 73901a3 | bacek++ | t/compilers/opsc/03-past-declarator.t:
Fix test for new PAST generation
07:07
rrot/opsc_full_parse: 32621f4 | bacek++ | t/compilers/opsc/03-past.t:
Fix test
cotto those tests are messy 07:14
bacek_at_work cotto, which one? 07:15
dalek rrot/opsc_full_parse: 98bf4e4 | bacek++ | compilers/opsc/src/Ops/Compiler/Actions.pm:
PASTing of circumfix:sym<( )>
cotto 03-past.t 07:16
I have while past generation implemented. What'd be a good way to test it? 07:21
and for
bacek_at_work I think 03-past can go 07:22
It's from "old" opsc
I just made it pass without big effort
New tests are 01-parse-body and 02-past-declarator 07:23
(Bad names but whatever)
cotto wfm
bacek_at_work anyway, time to loose _at_work suffix 07:25
cotto, you can also implement PASTing of ternary operator 07:26
07:46 theory left 07:47 nopaste left 07:51 [hudnix] joined, hudnix left 07:54 nopaste joined
dalek rrot/opsc_full_parse: 89cc7b5 | cotto++ | compilers/opsc/src/Ops/Compiler/Actions.pm:
untested past generation for while and for loops
08:04
rrot/opsc_full_parse: 668cbd8 | cotto++ | t/compilers/opsc/03-past-declarator.t:
add some basic tests for while and for
08:04 AzureStone left 08:05 AzureStone joined
bacek ~~ 08:18
cotto ohai
bacek cotto++ # hooray :)
Don't forget about for(;;) {} :)
cotto that seems to cause a failure 08:21
bacek looks like it's not parsed properly 08:22
08:24 benabik left
cotto likely not 08:24
dibs
bacek cotto, fixed.
dalek rrot/opsc_full_parse: 645e19b | bacek++ | / (2 files):
Made all parts of 'for' optional
bacek But I probably broke pasting
cotto can EXPR not be empty? 08:25
bacek nope
EXPR is always non-empty thingy
dalek rrot/opsc_full_parse: cbb3c58 | bacek++ | / (2 files):
Implement parsing of do-while
08:28
rrot/opsc_full_parse: 1924519 | bacek++ | t/compilers/opsc/01-parse-body.t:
Fix test.
08:34
rrot/opsc_full_parse: 75805cc | bacek++ | compilers/opsc/src/Ops/Compiler/Actions.pm:
Fix PASTing of <for>
08:38
08:44 ShaneC1 joined
cotto aloha, clock 08:47
aloha, clock?
aloha cotto: LAX: Fri, 00:47 PST / CHI: Fri, 02:47 CST / NYC: Fri, 03:47 EST / UTC: Fri, 08:47 UTC / LON: Fri, 08:47 GMT / BER: Fri, 09:47 CET / TOK: Fri, 17:47 JST / SYD: Fri, 19:47 EST
cotto aloha, clock???
aloha, clock!
08:57 ShaneC1 left 08:58 JimmyZ joined
dalek rrot/opsc_full_parse: 0fc4ee3 | bacek++ | compilers/opsc/src/Ops/Op.pm:
Poor-man Perl6-style multi-dispatch emulation.

Yes, I do want something like "multi method process(PAST::Op $op { where .pasttype eq 'if' })"
09:04
09:05 lucian joined
dalek rrot/opsc_full_parse: 93c9ffb | bacek++ | compilers/opsc/src/Ops/Op.pm:
Rewrite pasttype<call> slightly
09:15
rrot/opsc_full_parse: 9695d75 | bacek++ | compilers/opsc/src/Ops/Op.pm:
Rename process_body_chunk to to_c. Huffman encoding ftw.
09:19
09:36 lucian left 09:48 JimmyZ left
dalek rrot/opsc_full_parse: 0209085 | bacek++ | compilers/opsc/src/Ops/Op.pm:
Remove unused variable
10:57
rrot/opsc_full_parse: 8579cac | bacek++ | t/compilers/opsc/0 (2 files):
Rename test file to squeeze in new one.
rrot/opsc_full_parse: 3c54d3c | bacek++ | t/compilers/opsc/07-op-to-c.t:
Add skeleton for generating C from Op.
rrot/opsc_full_parse: 01cccfd | bacek++ | t/compilers/opsc/07-op-to-c.t:
Add first real test for emitting C from Ops::Op.
rrot/opsc_full_parse: 5cbbac3 | bacek++ | t/compilers/opsc/07-op-to-c.t:
Add more tests for emitting C from Op. With gracefully handling errors.
11:04
11:08 JimmyZ joined 11:13 M_o_C joined
dalek rrot/opsc_full_parse: d277e61 | bacek++ | compilers/opsc/src/Ops/Op.pm:
Add emitting of 'while'
11:14
rrot/opsc_full_parse: 67ce75d | bacek++ | / (2 files):
Implement emitting of 'for'
rrot/opsc_full_parse: 0993287 | bacek++ | t/compilers/opsc/07-op-to-c.t:
Indent code. No functional changes.
11:23
11:30 JimmyZ left
dalek rrot/opsc_full_parse: 17824c5 | bacek++ | / (3 files):
Handle (some) prefix ops
11:34
bacek cotto, why don't you sleep??? 11:37
ooops
window scrolled... 11:38
11:40 woosley joined
dalek rrot/opsc_full_parse: ef738a8 | bacek++ | t/compilers/opsc/07-op-to-c.t:
Add test for infix:<*>
11:41
11:52 mtk left 11:59 M_o_C left, mtk joined, allison left 12:00 allison joined 12:09 JimmyZ joined 12:17 M_o_C joined 12:19 M_o_C left 12:21 JimmyZ left 12:23 bluescreen joined 12:46 lucian joined 13:13 JimmyZ joined 13:30 whiteknight joined
whiteknight good morning, #parrot 13:31
moritz good morning whiteknight, TCIF 13:36
whiteknight TCIF? 13:40
ah nevermind 13:41
yes, fridays are good
I think I have the last remaining IMCC bug figured out in my head 13:51
fixing it is probably not trivial, but at least I have a plan now
is anybody else seeing problems in t/compilers/data_json/*.t? Sometimes when I run that test it hangs. Twice it crashed the VM 14:09
I'm not sure if it's a function of my branch being different from master or what 14:10
Coke smolder gives you a half decent interface to find that out. 14:14
smolder.parrot.org/app/projects/tes...tory/1/299 - all green 14:15
smolder.parrot.org/app/projects/tes...tory/1/300 - all green.
so, at first glance, it's just you.
14:16 rurban_ joined 14:18 rurban left, rurban_ is now known as rurban
whiteknight this particular problem causes the test to hang. It doesn't complete and wouldn't submit a report 14:25
and like I said, on two occasions It brought down my entire machine, and then you can't submit a smoke report
tadzik what kind of pmc is the one that is sent to the :main sub? 14:28
whiteknight tadzik: At the moment, I think it's an RSA
but it may be FSA or RPA
tadzik: I would *love* to be able to put in an alternate front-end that could insert a Hash instead. Or RPA and Hash 14:29
tadzik whiteknight: how can I check the length of it, are they all implementing some common interface?
whiteknight "$I0 = elements $P0" 14:30
and to get the type, it's "$S0 = typeof $P0"
tadzik shouldn't 14:33
.return (1) 14:34
Coke $I0 = elems $P0
tadzik make the program return 1?
Coke the program or the sub?
tadzik the program, if it's a main sub
NotFound The simple way has the advantage that you can build more elaborate schemas on it.
Coke tadzik: no. use exit 1
tadzik ok
14:52 bluescreen left
whiteknight tadzik: No, the return values from :main are ignored 14:57
15:04 Andy joined
tadzik github.com/parrot/parrot/blob/mast...i.yaml#L11 -- aren't these two redundant? 15:10
Andy ping kid51 15:11
dalek rrot/whiteknight/imcc_compreg_pmc: 81f7bfc | Whiteknight++ | compilers/imcc/main.c:
fix the reentrant compile logic and put it back in place. However, this doesn't seem to win us back the failed tests and I don't know why
15:15
whiteknight this last set of test failures is proving to be the most frustrating 15:17
15:21 JimmyZ left
tadzik nxp-rx: say "new 'Complex'" ~~ / new \\[?'Complex'\\]? / # why doesn't this match? 15:24
15:39 bluescreen joined
dalek rrot/tewk/select: c210acb | tewk++ | src/pmc/hash.pmc:
Hash pmc gets set_pmc_keyed_int and delete_keyed_int
15:42
rrot/tewk/select: 6bc6496 | tewk++ | / (9 files):
Select PMC
rrot/tewk/select: 197c6d0 | tewk++ | src/pmc/select.pmc:
Removed no_ro, whitespace fixes
rrot/tewk/select: 3d8aa6c | tewk++ | src/pmc/select.pmc:
Removed unneeded fd_set *r_ attributes from Select PMC
rrot/tewk/select: 4c52a81 | cotto++ | src/pmc/select.pmc:
code cleanup; no functional changes
rrot/tewk/select: f8b2c75 | cotto++ | src/pmc/select.pmc:
more code cleanup; still no functional changes
rrot/tewk/select: ecccba0 | cotto++ | / (2 files):
rename data_hash to fd_map, update METHODs and tests
rrot/tewk/select: 667539c | cotto++ | src/pmc/select.pmc:
ATTR alloc/free isn't needed with auto_attrs
rrot/tewk/select: 53688c9 | tewk++ | / (2 files):
Fix getmaxfd test
rrot/tewk/select: 1a3b6c6 | tewk++ | / (2 files):
make timeout a FLOATVAL
tewk Wow that happens everytime I rebase?
whiteknight only if you're lucky 15:44
plobsing don't rebase publicly visible stuff. some people consider it rude. 15:46
15:52 woosley left 16:08 jan joined, jsut joined 16:12 jsut_ left 16:17 Patterner left 16:18 Psyche^ joined, Psyche^ is now known as Patterner 16:20 dmalcolm joined 16:21 theory joined
whiteknight Blah. I may need to enlist some help on this last IMCC bug 16:25
I simultaneously have no idea why I get a bug in my branch, and I can't understand why it works in master 16:26
which implies that maybe I don't even really know what the cause is 16:27
cotto_work ~~ 16:44
whiteknight hello cotto_work 16:47
welcome to my personal hell
Andy I thought IMCC was going away. 16:48
whiteknight Andy: It's a long road to get there 16:49
and the road is not paved
and there have been no bathrooms in site for like 60 miles
Andy OK, so I should still continue to ignore it?
whiteknight what do you mean ignore it?
Andy I haven't been fixing compiler warnings or anything else in it.
whiteknight yeah, you can continue to ignore it for that 16:50
It is going out, slowly but steadily
Andy Aren't some of the GCs going away, too? 16:51
whiteknight I don't even know what we have in there. I think that everything that was going away already has 16:55
16:55 Hackbinary joined
whiteknight bacek may be better to ask about that, at this point 16:56
16:58 Hackbinary|2 joined
cotto_work Andy: I don't think any of the current GCs are on the chopping block. You might be thinking of the fact that we've recently made bacek++'s new generational gc the default. 17:01
Hackbinary hello #parrot
whiteknight hello Hackbinary
cotto_work squaak
Andy I just don't want to bother cleaning up GC code that's goin' away.
But it sounds like that won't be the case. 17:02
cotto_work Andy: correct 17:03
Coke Andy: You have a pending pull request on bobby-tables, btw. 17:06
Andy huh
link?
Coke github.com/petdance/bobby-tables/pulls
Andy ooh yeah, I saw that.
haha, I assumed that was for ack.
I just saw the CF and thought it must be ack. 17:07
thanks, Coke bobby-tables.com/coldfusion.html 17:10
Coke crap! Now that I see the HTML, I see a bug. ;) 17:12
where it says name = "status",
we need a line after that with:
value = form.status, 17:13
want another pull request?
Andy looking 17:15
after name = "status" and before cfsqltype? 17:16
dalek rrot: c27d1da | petdance++ | / (2 files):
removed interp from a static, and shimmed up interps in other public functions where interp was not used
Andy like this, Coke? bobby-tables.com/coldfusion.html 17:18
Coke perfecto. 17:21
Andy Thanks. 17:24
dalek rrot: d5ae072 | cotto++ | src/io/buffer.c:
typo fix in docs
17:27
rrot: 8c0d19c | cotto++ | src/ (2 files):
fewer lies in the io api docs
18:01 hercynium joined 18:12 ShaneC left 18:18 fperrad joined
sorear FWIW, the current .eof behavior sounds like the classic "Pascal" eof. 18:28
cotto_work ? 18:44
sorear www.informatik.uni-hamburg.de/RZ/so...c.html#592 # this looks promising 18:49
cotto_work an hll can add that behavior if it's warranted. 18:52
18:56 ShaneC joined
cotto_work bacek: ping 19:19
Coke discovers he is still a parrot-dev owner at launchpad. 19:29
msg kid51 - why downgrade the severity on #1015? a segfault is pretty serious, especially when you can trigger it from PIR-or-higher. 19:31
aloha OK. I'll deliver the message.
19:38 plobsing_ joined 19:39 mtk left 19:43 plobsing left 19:45 mtk joined 19:58 Eclesia joined
Eclesia hi 19:58
tadzik hi 19:59
nopaste "tadzik" at 192.168.1.3 pasted "Cardinal build error" (24 lines) at nopaste.snit.ch/34133 20:00
tadzik why would adding a get_bool method and vtable to a class break cardinal?
wklej.org/id/482572/txt/ -- here's what I've changer 20:01
plobsing_ maybe whatever is throwing the exception depends on arrays only being true when they contain 1 or more items 20:03
tadzik that'd not be Ruby
20:05 jsut_ joined
plobsing_ but that is FPA, from which your array inherits (why else would you be using RPA.shift()?) 20:05
tadzik nah, that's RPA 20:08
plobsing_ RPA isa FPA
tadzik arrayproto = cardinalmeta.'new_class'('CardinalArray', 'parent'=>'parrot;ResizablePMCArray CardinalObject')
oh, ok
plobsing_ not the most intuitive of inheritance structures, but that's just how we roll around here aparently.
20:09 jsut left
dalek rrot/param-stmt: ed8c74c | plobsing++ | compilers/imcc/imc (3 files):
move per-param code into per-param rule
20:10
rrot/param-stmt: 8d01902 | plobsing++ | compilers/imcc/ (2 files):
remove unused ITADDR
rrot/param-stmt: cac9e0e | plobsing++ | compilers/imcc/ (2 files):
remove unused ITALIAS
rrot/param-stmt: 412ce6c | plobsing++ | compilers/imcc/instructions.h:
remove unused ITSAVES
rrot/param-stmt: fbe0b62 | plobsing++ | compilers/imcc/ (5 files):
handle param unpacking in param parsing code, not being sub code
rrot/param-stmt: 155bbe5 | plobsing++ | / (3 files):
combine .param into statement handling so it can occur anywhere within a sub
20:11
rrot/param-stmt: c8ee0cb | plobsing++ | compilers/imcc/imc (2 files):
unecessary variable is unecessary
whiteknight plobsing: what's the story with that branch? 20:20
...I wish there was a way to tell github not to produce diffs of the flex/bison generated files 20:21
because...damn
20:21 bluescreen left
tadzik .githubignore (: 20:22
plobsing_ whiteknight: it implements .param as a statement, such that it can occur in the middle of a sub. We had previously discussed this as desirable in the context of exceptions. 20:24
20:24 plobsing_ is now known as plobsing
whiteknight oh, nice 20:25
That would make it much much easier to prototype my "several small arg fetching ops" idea
I still think it would be a win
plobsing I was going to discuss with you before merging. How close is your imcc work? 20:26
whiteknight plobsing: I'm stuck on a particularly nasty bug 20:27
plobsing: coretest passes all important tests. NQP builds and passes all tests. I'm failing a few tests that look related to PGE 20:28
if I can get over this last set of failures I think we're golden
plobsing: Do you have a few minutes to take a look at it? I think some fresher eyes may catch what I am missing
plobsing sounds fun. I guess I'll merge this branch and have a look at your bugs when I get the chance. I'm AFK for a couple hours in a bit. 20:29
whiteknight okay 20:30
t/compilers/pge/regression.t shows the easiest way to get to the failure 20:31
I think it has to do with calling IMCC recursively. the inner call calls imc_cleanup, and then the outer call tries to use some of the variables which have been freed
the problem is that the logic works the same way in master, so I don't understand it
I'll be staring at it tonight too 20:32
Tene tadzik: did someone answer your question? 20:38
tadzik Tene: not quite
Tene tadzik: a common pattern you'll see is approximately: while (foo) { i = shift foo; do shit with i } 20:39
where foo = some array
but, y'know, in PIR instead
if RPA is hll_mapped to CardinalArray, you'll see this problem 20:40
(which it should be)
(maybe)
So: 1) check if there's an hll_map for that
2) check out the code in stc/classes/String.pir and verify that that's what's going on (I'm pretty sure it is) 20:41
3) change the logic there to check the number of elements or whatever
or get an iterator instead
(another common pattern, slightly better)
there's an opcode for that, I think? get_iter? or a method on the RPA class and friends? 20:42
so: foo_i = iter foo; while(foo_i) { i = shift foo_i; do shit with i }
change it to be like that is probably the solution, i'm pretty sure 20:43
tadzik: does that make sense?
tadzik Tene: no idea. Will investigate in the near time 20:47
Tene tadzik: Great; let me know if I can do anything more to help.
tadzik: My only real concern here is why src/gen_grammar.pir is calling into cardinal code... that seems a little weird to me. 20:48
tadzik actions generate Cardinal objects?> 20:54
dalek rrot: 86b6c03 | petdance++ | src/gc/gc_ms (2 files):
shimmed an unused interp
20:58
21:26 whiteknight left
Tene tadzik: they shouldn't 21:29
tadzik: I think that the grammar might be running in the cardinal hll instead of the parrot hll, maybe. I haven't checked. 21:30
I'm pretty sure it is, actually.
if so, hll_mapping may cause issues
which, if so, we may need to adjust that to run the compiler in the _cardinal hll or something, which I wanted to do someday anyway.
but, if we fix whatever is crashing there, it may just work anyway 21:31
in which case we can just ignore it for now
bacek Good morning, humans 21:45
cotto, pong 21:46
21:53 hercynium left
cotto_work bacek: Do you have anything in opsc that you can offload? 21:57
and good morning to you
or is it already so perfect that my attempts to touch it could only result in making it worse ;)
Tene excited to work on Parrot over this weekend. 22:08
bacek cotto_work, todo list for opsc: 1) Finish pasting; 2) Finish Op.to_c for new PAST; 3) Implement C macros; 4) Emit LLVM. 22:10
cotto_work, steps 3 and 4 are "optional" :)
cotto, for steps 1 & 2 - there is few prefix/postfix ops which are not handled. And sym<concat> 22:11
Jump on this train. I probably will not have much time over weekend to do anything for parrot 22:14
cotto_work I will. It'll be fun.
bacek afk # breakfast 22:15
22:17 rurban_ joined 22:20 rurban left, rurban_ is now known as rurban 22:36 donaldh joined 22:58 Andy left 23:01 lucian_ joined 23:03 lucian left 23:25 kid51 joined, lucian_ left, lucian joined 23:34 donaldh left
dalek TT #356 closed by jkeenan++: better detect cpuarch with possible cmdline overrides 23:35
TT #356: trac.parrot.org/parrot/ticket/356
23:41 whiteknight joined
Eclesia pfiu, starting to look like something :) eria.wikidot.com/ 23:46
I wasn't imagining I was that hard to be precise when defining a language 23:47
lucian Eclesia: i'm doing it in VDM, it's not too bad i guess 23:48
Eclesia vdm ? 23:49
lucian Eclesia: Vienna Development Method
a language/framework to formally define and prove stuff
cotto_work keep plenty of sausage and chocolate on hand? 23:50
lucian especially useful for defining context abstract syntax and context conditions
Eclesia learn a language to define a language, that's always funny ^^ 23:51
lucian Eclesia: indeed
although VDM is mostly just an extension of mathematical language
cotto_work It makes me sad that nobody told me about that during college. It looks interesting. 23:52
lucian it's a bit hand-wavy
cotto_work: it's somewhat obscure. my lecturer happens to be one of its main developers
the ascii concrete syntax is really crap, but conceptually it's an interesting languge
Eclesia will skip vdm 23:54
lucian the way i see VDM is a nice effort towards comfortable, real-world, formal definition 23:56
Eclesia vdm makes me think of the french abbreviation for "Vie de Merde" == "shitty life" . You are right we can say it's a real-world definition :D 23:59