www.parrotcode.org/ | Last release: 0.7.1 "Manu Aloha"
Set by moderator on 17 September 2008.
00:09 AndyA joined
dalek r31394 | coke++ | trunk: 00:12
: [tcl] add a very teeny hack to tcltest.tcl - it now WORKS.
: If you look at the explanation of how [::tcltest::outputChannel] works, I think you'll forgive me this temporary workaround.
: With this commit, we can now run: ../../parrot tcl.pbc t_tcl/llength.test directly[1]:
: $ ../../parrot tcl.pbc t_tcl/llength.test
: ++++ llength-1.1 PASSED
: ++++ llength-1.2 PASSED
: ++++ llength-1.3 PASSED
: ++++ llength-2.1 PASSED
: ++++ llength-2.2 PASSED
: ++++ llength-2.3 PASSED
: 0: Total 6 Passed 6 Skipped 0 Failed 0
: expected boolean value but got ""
: Which, aside from that last line, is pretty awesome.
: [1] You need to run 'make spectest' before that test file shows up. Go ahead. I'll wait.
diff: www.parrotvm.org/svn/parrot/revision?rev=31394
Whiteknight "virtual function table", I like that. In the book it goes 00:13
pmichaud infix:<cmp> probably belongs in src/builtins/cmp.pir 00:17
chromatic It's different from infix:cmp then? 00:19
pmichaud it's 'infix:cmp' in PIR, yes 00:24
but moritz' ticket didn't point to the relevant thread as to why the straightforward approach isn't working
(I just replied with it)
chromatic I threw :multi(_,_) on the existing one, then defined a :multi(Perl6Pair,Perl6Pair) version in src/classes/Pair.pir.
pmichaud RT #59420 describes why that doesn't quite work
chromatic Ah, that gives me something else to look at... after floats and lexicals. 00:26
pmichaud I added a description of recursion to lexical.txt
I've found it's really difficult to write clear prose on the subject of lexicals. :-) 00:32
Whiteknight you're doing a great job though :) 00:33
pmichaud Eh, I keep re-reading it and saying "I'd have trouble understanding this."
and in the back of my mind I'm trying to decide how to turn it into a new pdd20 00:34
Whiteknight Well, when you get the details worked out, I'll add it all to the book
pmichaud excellent.
Whiteknight ...and try not to make the prose any worse along the way
dalek r31395 | Whiteknight++ | trunk: 00:44
: [Book] Updated chapter 4 to clarify the section about VTABLEs, and standardize some of the terminology.
diff: www.parrotvm.org/svn/parrot/revision?rev=31395
chromatic Looks like the problem is in mmd_arg_tuple_func, which expects it can look in the PBC to figure out argument information.
Whiteknight shoot, I forgot to add a "chromatic++" to that committ summary 00:45
chromatic pmichaud, I'm not sure this is worth fixing before the MMD branch merges. 00:46
pmichaud chromatic: I thought that might be the case, but I'm not familiar enough with mmd to say for sure.
I'd totally support a position of "We really ought to wait for the MMD branch merge to address this." 00:47
chromatic I believe we have to clean out some assumptions of argument passing and how dispatch works to fix it, but I know some of that multidispatch code doesn't exist in the branch.
pmichaud (In fact, that was going to be my initial response.)
chromatic I'm comfortable confirming that. If you need something in the next couple of weeks, let me know -- but I think we can get lexicals first. 00:48
pmichaud sorting Pairs isn't a priority for me -- I think it was noticed in S09 and so people said "hey, we should get that working."
chromatic afk -- returning to hotel
pmichaud afk also
dalek r31396 | coke++ | trunk: 00:54
: [tcl] revert some debugging comments that were accidentally committed in last mod.
: Now get more tcl-ish output [1]
: $ ../../parrot tcl.pbc t_tcl/llength.test
: 0: Total 6 Passed 6 Skipped 0 Failed 0
: expected boolean value but got ""
: [1] modulo that trailing error.
diff: www.parrotvm.org/svn/parrot/revision?rev=31396
r31397 | cotto++ | trunk: 01:02
: [config] add -Werror=declaration-after-statement, closing #50908
diff: www.parrotvm.org/svn/parrot/revision?rev=31397
cotto_home smolder? 01:03
purl hmmm... smolder is sourceforge.net/projects/smolder or web-based smoke test aggregator used by developers and testers to upload (automated or manually) and view smoke/regression tests using the Test Anything Protocol (TAP). or smolder.plusthree.com/app/public_pr..._reports/8
01:04 gryphon joined 01:25 chromatic joined 01:36 cjfields joined
cjfields re: infix:<cmp> issues: glad to see it wasn't just me 01:37
+1 on waiting for MMD branch merge 01:38
tetragon chromatic: When I set JUMP_ALIGN to 5, test 12 doesn't crash; it has been pegging a core at 99% for the past minute 01:50
01:54 TiMBuS joined
nopaste "tetragon" at 76.10.151.161 pasted "Some details about my errant JUMP_ALIGN 5 parrot process" (412 lines) at nopaste.snit.ch/14164 02:00
02:12 Ontolog joined 02:20 slavorg joined
chromatic tetragon, thanks. It was just a guess, but apparently a bad one! 02:27
tetragon I've kept the session open, and every time I break into it, there it is on line 1655 of src/jit.c (although, my recent check actually got 1654) 02:30
(although I've now killed it) 02:31
chromatic It was a long shot anyway. 02:32
02:34 TiMBuS joined
tetragon JUMP_ALIGN of at least 3 triggers the infinite loop, while under has segfault 02:38
I've looked at some of the values involved and see how it's getting stuck 03:23
if (jit_info->native_ptr)&3 is 0, jit_emit_noop doesn't increment the pointer 03:24
The second value of that pointer (first time through the loop it increments) is 0x101227C, which doesn't terminate the loop on line 1654 of src/jit.c with a JUMP_ALIGN of 5 03:28
chromatic That's trying to verify pointer alignment, I believe. 03:33
tetragon Perhaps it could work with a wider noop 03:38
With the current check in in jit_emit_noop, it may not be sufficient for 16 bytes 03:39
chromatic It's worth trying. 03:40
Anyone here awake with Cygwin or MSVC ready to go?
wgz.org/chromatic/tmp/float_precision.patch 03:41
tetragon, that patch could use some Darwin testing too.
tetragon I can't get there from here
(worked after I prefixed www. 03:42
chromatic www.wgz.org/chromatic/tmp/float_precision.patch
tetragon The tests aren't patching cleanly 03:44
Thanks to the Id tags 03:46
dalek r31398 | coke++ | trunk: 03:47
: [tcl] Now that we can use tcltest directly to run the spec tests, do so! rip out a lot of code that was just faking things until we could get to this point.
diff: www.parrotvm.org/svn/parrot/revision?rev=31398
03:48 Zaba joined
tetragon chromatic: I've hit a few crashes and failed tests with your patch (and JIT disabled) 03:51
I don't recognise some of the crashes that happened 03:52
A fair number of the json number handling tests failed 03:54
As are quite a few other unmodified test cases
In t/examples/tutorial.t, it didn't get the expected number of decimal points 03:55
The unfamiliar crashes happened during t/steps 03:57
chromatic You need to reconfigure and rebuild; sorry. 03:58
tetragon This was off of a clean tree 03:59
One that had never been configured or built before
chromatic Hm, good thing we tested it then.
I only ran coretest; probably should have expanded that. 04:02
tetragon I ran make test 04:03
chromatic I'm getting more failures that way. 04:05
Shows what I know!
04:05 cjfields joined
dalek r31399 | coke++ | trunk: 04:08
: [tcl] update NEWS for next release.
diff: www.parrotvm.org/svn/parrot/revision?rev=31399
cjfields Just ran 'make html' hoping to see docs/book/* in the mix, but nada :(
any plans to add it in?
chromatic No reason why not.
tetragon Well, time to change access points 04:09
04:11 coke joined
coke yays as he finally gets something done. 04:11
pmichaud yay! 04:12
glad my <ws> suggestion worked. That part of PGE might change, but I'll be sure to keep a mechanism around so that it continues to work :-)
coke thanks again! 04:14
743 passing. 04:18
chromatic Looks like this latest float patch is the ticket.
04:19 workbench joined
chromatic Repeat: anyone with Darwin, Cygwin, or MSVC available to check a patch? 04:20
pmichaud not I, alas.
coke I can do darwin .
cjfields nada
chromatic www.wgz.org/chromatic/tmp/float_precision.patch 04:21
Coke: you need to reconfigure first, or else you lose your birthday. Also tests fail. But no cupcakes.
coke I haven't built on darwin in some time, need to svn up first.
that very much did not apply cleanly. 04:23
04:24 tetragon joined
chromatic coke, any luck? 04:43
dalek r31400 | coke++ | trunk: 04:44
: [tcl] add docs/spectest-progress.csv, ala rakudo.
diff: www.parrotvm.org/svn/parrot/revision?rev=31400
04:49 Maddingue joined
dalek r31401 | coke++ | trunk: 05:13
: [tcl] stub out [info script] a little more so that tcltest now shows the filename that is being tested.
diff: www.parrotvm.org/svn/parrot/revision?rev=31401
05:24 Zaba_ joined
particle chromatic: can you put the patch in trunk and let the smokers have at it? 05:26
chromatic Sure, if everyone's comfortable with it. 05:27
particle if it doesn't look good, revert it.
i am, and i'm relman this month
pmichaud +1
purl 1
pmichaud the easiest way to find out what breaks is probably to throw it in. Then when we get a breakage, we also have a person with the platform that can test fixes :-)
we have 4 more weeks to release so there's plenty of time to resolve it :-) 05:28
particle i want to get a smoke setup that can smoke a tag
05:29 Theory joined
chromatic Commit landing... nowish. 05:30
dalek r31402 | chromatic++ | trunk: 05:31
: [src] Expanded float precision to 15 digits from 6. One side effect is that
: float output no longer always has six digits after the dot; this drops trailing
: zeroes. Most of the changes are to tests which expected specific output
: formats.
: The sprintf format %.15g should be portable, but watch the smokes. See RT
: #59006, reported by Patrick Michaud.
diff: www.parrotvm.org/svn/parrot/revision?rev=31402
Ontolog how is the IO stuff on parrot coming along? 05:39
dalek r31403 | coke++ | trunk: 05:40
: [tcl] stub out [package present]
diff: www.parrotvm.org/svn/parrot/revision?rev=31403
r31404 | coke++ | trunk: 05:42
: [tcl] sidestep one more procedure that uses advanced functionality for now.
diff: www.parrotvm.org/svn/parrot/revision?rev=31404
coke pmichaud: setting up a script now to automatically update my spectest file for me. 06:01
(the progress one, similar to the one you setup for perl6)
chromatic: never got it to work.
chromatic Did not apply or something else? 06:02
coke never got it to apply
I have a smoke that runs here at midnight, so you'll see failures tomorrow if so
chromatic whee!
Also, update your blog. 06:03
coke for partcl or weight loss?
chromatic Yeah. 06:04
particle congrats, coke. that's a big milestone today
coke danke. 06:05
GeJ chromatic: FWIW at r31404 on FreeBSD, I don't see any breakage (at least not on the test files you touched) 06:13
06:14 Theory joined
chromatic Thanks GeJ! Are there other failures? The transcendental math ones? Dynlibs? 06:14
GeJ some codingstd, and a coredump in stm/runtime 06:15
c_cppcomments.t c_macro_args.t c_operator.t and c_parens.t 06:16
Test returned status 0 (wstat 139, 0x8b)
chromatic Those codingstd don't run by default, so no worries there. 06:18
STM... that bugs me some.
GeJ Failed test 'queue adapted for the library' in t/stm/runtime.t at line 506.
pmichaud chromatic++ # Sane floating point output makes me very happy. 06:20
chromatic 500 easily passing spectests will pay me back. 06:21
GeJ, can I talk you into getting a backtrace?
pmichaud I'll wait a day or so to change Rakudo/PCT to use this, just in case we quickly discover we need to revert.
actually, probably one day.
cotto_home what happened to the old key_string function? 06:23
nm. still there 06:24
chromatic Code I like the least in Parrot, in rough order: IMCC, keys, hashes, dispatch. 06:26
pmichaud sleep time here, methinks.
chromatic Getting close to that here too. 06:27
Lest I think about JIT code next.
cotto_home now to figure out why the symbol isn't resolving 06:30
is it ok to make key_string as PARROT_API? 06:35
s/make/mark/ 06:37
06:39 uniejo joined
chromatic I thought I unmarked it a week or so ago. 06:41
GeJ purl: paste
purl i heard paste was (see: nopaste) or like glue but a little safer to sniff. or nopaste.snit.ch:8001/ or scsys.co.uk:8001/ anywhere shadowpaste is or mmm, sticky paste or You there! Eating the paste. or <see> 2 girls, 1 paste
cotto_home So that means I should avoid using it?
chromatic Yeah, I did in r30806.
In core, it's fine. 06:42
Elsewhere, avoid.
Are you looking at it for Pipp?
cotto_home yes
chromatic Does the inherited get_string vtable entry not do the right thing for you?
cotto_home it probably does, but I didn't know about it when I wrote the code. 06:43
I'll see.
works fine 06:44
thanks
chromatic You're welcome. I'm glad key_string can stay private; that's one step closer to removing it altogether!
07:04 Zaba joined 07:22 iblechbot joined 07:26 contingencyplan joined 07:31 Zaba_ joined 07:40 cosimo joined 08:21 mj41 joined 08:49 kj joined 08:59 contingencyplan joined 09:00 barney joined 09:27 Whiteknight joined 10:07 ruoso joined 10:09 bacek joined 10:36 bacek joined 10:57 Whiteknight joined
bacek evening 11:36
good evening
bacek found most annoing MMD bug. 11:39
But I fail in attempt to fix it...
tewk_ ncigen parses Xlib.h 12:23
dalek r31405 | tewk++ | trunk:
: [nci-gen] Xlib.h parse fixes, ast fixes from Donald Hunter
diff: www.parrotvm.org/svn/parrot/revision?rev=31405
moritz is that a sign of sanity or of insanity? ;-) 12:24
tewk Both, the grammar for built-in types still needs to be cleaned up. pmichauds suggestion looks more correct, but it wouldn't pass the existing parsing tests so I'll have to take a closer look when I have more time. 12:25
The grammar is actually very robust, it comes from the C spec. Most of the problems are due to a couple of things I did while implementing the grammar in PGE. 12:26
moritz tewk: in that patch to README you call that script ./nci_gen.pl and ./nci_gen 12:42
tewk: you should settle on one version ;)
preferrably the one that works ;)
tewk moritz: feel free to fix it. 12:44
dalek r31406 | moritz++ | trunk: 12:47
: [ncigen] small README fix
diff: www.parrotvm.org/svn/parrot/revision?rev=31406
r31407 | tewk++ | trunk: 12:53
: [ncigen] eliminate debug output that clogs GC.
diff: www.parrotvm.org/svn/parrot/revision?rev=31407
r31408 | tewk++ | trunk: 13:10
: [ncigen] mysql.h parses.
diff: www.parrotvm.org/svn/parrot/revision?rev=31408
13:11 masak joined 13:12 zostay joined 13:20 Lorn joined 13:26 bacek joined 13:31 Ontolog joined 13:37 iblechbot joined 13:46 gryphon joined 14:05 jhorwitz joined
dalek r31409 | pmichaud++ | trunk: 14:06
: [rakudo]: spectest-progress.csv update: 179 files, 3815 passing tests
diff: www.parrotvm.org/svn/parrot/revision?rev=31409
14:12 donaldh joined 14:38 cjfields joined 14:43 gmansi joined
cjfields Wow, almost to 4000! 14:45
moritz cjfields: yes, but currently it's a bit down due to RT #59308 14:47
particle rakudo doesn't autopromote to bigint, so are those expected now that we have higher precision? 14:49
moritz particle: they are compile-time errors 14:51
particle ah. urk.
masak software development is hard! 14:52
let's go shopping.
moritz probably stuff that, with high precision PIR representation causes an overflow
particle </barbie>
moritz masak: where can I shop a Perl 6 compiler? ;-)
masak moritz: well, um...
would you settle for this really nice Office package?
particle futureshop
moritz I'd actually spend money on software for a Perl 6 compiler, which I normally never do ;) 14:53
dalek r31410 | coke++ | trunk:
: [tcl] when processing -foo style switches to commands, don't be fooled by arguments like "-foo -bar -baz" which are just arguments, not switches.
diff: www.parrotvm.org/svn/parrot/revision?rev=31410
coke is pretty sure that patch will unlock a bunch more passing tests. 14:56
coke tries out his spectest runner.
moritz recommends a spectest_regression runner that runs only tests that are known to pass 14:57
coke -just- ripped that out, but may add it back, yes. 14:58
moritz it's very useful, and faster than the ordinary spectest 14:59
coke we're both talking about partcl, right? 15:00
moritz I'm talking about my experiences with rakudo, in the hope that it will help you with partcl
coke yup. I was very happy to see you adopt the things I'd been doing in partcl for years. =-)
moritz oh 15:01
I didn't know that ;)
coke if more than one person was running the tcl spec tests, I'd think about speeding them up; at this point, just trying to up the pass count.
speeding them up that way. partcl is still slow, even when passing. 15:02
(I will probably skip the one that depends on a non-existant function and runs parrot out of memory, though.)
moritz I did run partcl spectest today, but it was sooo long and no good summary at the end... 15:03
coke ... you're just trying to trick me. =-) 15:04
(didn't mean to sound dismissive before, sorry if it read that way.) 15:05
no, the spectest is only helpful for people hacking on partcl at this point, i think.
the summary will be more useful to just folk.
moritz and cmd_lsort says "attempt to access code outside of current code segment" 15:06
coke one of the disadvantage of no TAP and so much failure.
that's a long standing bug due to the inferior runloop problem.
moritz ok
coke the tests still pass (in make test)
it's because my pir sort function throws an exception through the C sort() method back into PIR.
moritz is that fixable, in principle? 15:07
coke I certainly hope so.
moritz wouldn't know how to pass exceptions in C 15:08
I mean C doesn't support exceptions, so you'd have to revert to black stack manipulation magic or some such 15:09
15:12 mj41_ joined 15:13 Themeruta joined 15:15 nopaste joined 15:16 uniejo joined 15:18 hercynium joined 15:26 pjcj joined 15:27 donaldh_ joined 15:31 sjansen joined
dalek r31411 | coke++ | trunk: 15:31
: [tcl] skip a few spec tests that report no successes.
: moritz++
diff: www.parrotvm.org/svn/parrot/revision?rev=31411
15:35 cjfields left 15:40 cjfields joined, cjfields left 15:47 pyrimidine joined
dalek r31412 | coke++ | trunk: 15:48
: [tcl] eliminate superfluous verbosity
diff: www.parrotvm.org/svn/parrot/revision?rev=31412
r31413 | julianalbo++ | trunk: 15:49
: update Complex.pmc to use ATTR, RT#48014
diff: www.parrotvm.org/svn/parrot/revision?rev=31413
coke idly supposes it might be time to re-try tcl precompilation. 15:52
15:54 Theory joined
cotto_work last day of work today 16:06
I has a sad.
moritz why that? new job? 16:07
particle ;9
cotto_work end of contract
particle :(
moritz :( indeed 16:08
cotto_work (free time)++
(applying for jobs)-- 16:09
(not dealing with the legal dept)++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
dalek r31414 | moritz++ | trunk: 16:11
: [rakudo] added list quoting test to spectest_regression
diff: www.parrotvm.org/svn/parrot/revision?rev=31414
coke you know cold fusion? =-) 16:21
(or pl/sql?)
NotFound Did we have some prefedined value for pi available from pir? 16:22
Tene cotto_work: what kind of work? 16:24
coke pokes tene now that tcl has a swell spectest harness to find things to fix with. 16:30
Tene eeps.
pyrimidine moritz: I'm refactoring .trans to deal with Closures. The new implementation will allow hashes and list of Pairs. 16:31
also, changed my nick (was cjfields)
Probably can add something for Regexes but I don't think :g is supported yet
Tene coke: I don't know what my schedule is like in the future. I'll try to take a look at it, though.
pmichaud I'm having to think a bit about :g -- should it really be treated as part of the regex or as part of the match setup? 16:32
I need to ask about that on p6l.
coke pmichaud: would implementing tcl-style regexes be low hanging fruit for anyone? 16:34
pyrimidine we could add a flag to .match using :optional (already have something like this for .trans)
pmichaud pyrimidine: yes, I'm just wondering how TimToady conceives of it being handled 16:35
pyrimidine ok
pmichaud i.e., does he think of :g as being intrinsically part of the regex, or part of the thing that
invokes the regex?
I'll ask at the next design meeting -- he's been a bit busy lately.
coke: I don't know if it's low hanging fruit. 16:38
at least, not low hanging fruit for anyone but me at the moment. and I don't know that I'd want to have someone spend a lot of effort figuring it out, because a lot of stuff in PGE will be changing in the next two months.
coke I was going to ask you to do it, but you got busy. =-) 16:39
oh, I don't need it in the next 2 months.
coke puts it back firmly at the bottom of the queue.
pmichaud after 2 months, I _hope_ that it will be low hanging fruit for people other than me
i.e., given the way STD.pm is structured, it ought to be possible to describe other regex languages using Perl 6 regexes and compile that into a front-end for PGE. :-) 16:40
Coke that would be nice, ja.
hokay. back to my own low hangers.
pmichaud and PGE should be a lot faster then, too :-) 16:41
Coke That's of interest to partcl. 16:42
-> away
pmichaud lunch. 16:43
16:46 particle1 joined 16:59 chromatic joined 17:19 iblechbot joined
dalek r31415 | julianalbo++ | trunk: 17:21
: pirric: add simplified FOR/NEXT and more trigonometric functions
diff: www.parrotvm.org/svn/parrot/revision?rev=31415
NotFound A Basic without FOR/NEXT is not a Basic ;) 17:22
Coke OOC, any reason not to have this in languages/basic? 17:23
(as the version in there is sadly stale.)
NotFound Coke: is not enough complete yet.
chromatic <purl>But Coke is the real thing, NotFound!</purl> 17:24
Coke ... wow, chromatic on IRC !? when did the world change?
chromatic It isn't Tuesday? 17:25
Coke chromatic: I have a version of parrot eating over 2G of memory on feather. you want some of that? =-)
chromatic Remove -G
Coke not usin git.
NotFound By the way, I think that if we make pirric the 'official' languages/basic many people will cry invoking Dijkstra name X-)
Coke "using it", since git means something else.
../../parrot tcl.pbc t_tcl/expr.test; i suspect I'm beating the heck out of the GC. 17:26
NotFound Coke: lua tests did that thing for me some weeks ago.
Coke (the RES size has been slowly decreasing for the last 10m.)
NotFound Well, it does not eat 2GB because I don't have enough swap for it. 17:27
Coke (it's over 10K lines of tcl, when you count the test library)
moritz NotFound: nevertheless you can promote it to languages/pirric/ or something 17:28
NotFound moritz: I must find some way to write test for it before doing that.
chromatic If RSS has been decreasing, problem solved!
moritz NotFound: if you have PRINT, you can write tests that produces TAP output 17:30
NotFound: then it's a piece of cake to set up the test harness
chromatic NotFound++ for r31413 17:31
NotFound moritz: I will try. 17:32
So I can safely asume that nobody will kill me for add an old-style spaghetti-prone language? 17:33
chromatic Kill, curse, commend -- what's the difference? 17:34
NotFound You have been warned!
moritz NotFound: you should display an EULA with a big fat warning the first time somebody chdirs to that dir ;) 17:35
NotFound moritz: in other Basic I wrote, I put on the README a copy of the jargon's file entry for 'Basic' :D 17:36
Coke blame, praise, annotate...
moritz ;) 17:37
17:40 davidfetter joined 17:44 pyrimidine joined
cotto_work Tene, do you mean where am I now? 17:49
Tene cotto_work: what kind of work are you looking for?
cotto_work probably something in web-development, using either Perl or PHP on Linux 17:50
confound cotto_work: where do you live? 17:51
cotto_work Redmond 17:52
(Washington, US)
Coke so you can work at microsoft or starbucks? =-) 17:57
confound he can start a band
Coke i stand corrected. good point.
NotFound We have some names available. 17:58
"The dangling barewords", for example.
Tene DJ Segfault and the Void Pointers 18:00
NotFound Nice!
chromatic VTABLE and the NOT METHODS
moritz if I were to open a bar, I'd either call it "h-bar" or "foo bar" (but I can't decide) 18:01
cotto_work The Null Devices
NotFound It's raining names... 18:04
particle shebang
confound .w
moritz or /win 42 18:05
chromatic g++ and the -Walls 18:06
jhorwitz EPIC FAIL
NotFound General Failure and his drives. 18:07
All in all it's just another bug in the -Wall. 18:09
Lyric for the first song recorded.
18:14 ruoso joined
Coke moritz: definitely going to go through and skip tests with no known passing; now that I'm not parsefailing so oftne, it would take a day to run teh suite, if I didn't. 18:18
moritz Coke: is the test suite so comprehensive, or partcl so slow, or both? 18:20
Coke both. 18:22
I'm not sure partcl is slower than rakudo. but it's never been zippy compared to tclsh. 18:23
Coke finds the last blog entry from '06 showing how many spec tests we were passing then. 18:24
chromatic PGE and PCT create and hold onto a lot of temporaries.
Coke and while I avoid PCT, I use PGE a bit.
to get back to where I was, need to hit 3031 passing tests. 18:25
(first pass unconverted was about 750)
(already more than double that part way through the second pass) 18:26
18:45 ruoso joined
dalek r31416 | julianalbo++ | trunk: 18:49
: pirric: IF now accepts ELSE
diff: www.parrotvm.org/svn/parrot/revision?rev=31416
particle microsoft++ # just got access to msdn 18:54
Coke I swear the memory is going -up- trying to exit parrot. :| 18:56
cotto_work 'bout time 18:58
karma microsoft 18:59
purl I don't think numbers go that low, cotto_work.
chromatic I wonder if the Rakudo integer overflow problem (#59308) goes away by using BigInt.
The problem comes from overflow detection in IMCC. 19:00
19:02 ruoso joined
davidfetter oi ruoso :) 19:08
19:17 ruoso joined 19:21 masak joined 19:32 ruoso joined
cotto_work smolder seems to be unusually full of win 19:36
Coke Whee. small fix earlier today has me at 2454 passing tests, up from 743. 19:38
can probably get another 500 or so if I patiently waited for things to finish running instead of killing them.
19:46 ruoso joined
dalek r31417 | julianalbo++ | trunk: 19:50
: pirric: STOP and CONT instructions
diff: www.parrotvm.org/svn/parrot/revision?rev=31417
NotFound The nice thing with old style Basic is that there is no standard spec to test for X-) 19:51
cotto_work just old code?
NotFound cotto_work: each old basic has his own syntax and semantic, so no one can blame for not follow a standard. 19:52
cotto_work so there's no way to say it's correct
NotFound Is correct if people is able to do things with it. 19:53
19:53 gryphon joined 19:55 rurban joined
NotFound A useful rule is to be able to run old listings from 'Sky & Telescope' 19:57
But you need an astronome to say if the results are correct. 19:58
cotto_work or another BASIC interpreter
20:00 ruoso joined
NotFound cotto_work: same problem, the programs are published under the assumption that users know how to adapt them to the peculiarities of his Basic. 20:00
20:01 bacek joined
cotto_work eew 20:01
pirric seems to be living up to its name 20:02
20:03 isop joined
NotFound For example, most dialects use SQR for square root, but some use SQRT and let SQR for square. 20:05
But mot users don't care for details, just want a language that looks familiar. 20:06
s/mot/most 20:07
Infinoid can has line numbars? 20:09
NotFound Yeah
isop pmichaud: ping 20:11
pmichaud pong
isop I just tried nested blocks in pynie again and they work, what happened?
pmichaud I don't know -- I didn't do anything (that I know of) :-) 20:12
isop hrm
isop tries going back to an older svn revision 20:14
20:14 ruoso joined
Tene Man, I forgot how tired teaching makes me. 20:16
Infinoid that'll teach ya. 20:17
Tene ... ouch
cotto_work Infinoid++ 20:21
masak I could say the same about studying. :/
20:29 ruoso joined 20:32 Whiteknight joined, donaldh joined
isop pmichaud: it passes with an old svn revision, too, I must not be reproducing it properly 20:33
or else I was doing something wrong the first time 20:39
20:47 ruoso joined
nopaste "pmichaud" at 76.183.97.54 pasted "odd lower limit for negative integer constants" (32 lines) at nopaste.snit.ch/14169 20:51
pmichaud ....doh! 20:53
dalek r31418 | julianalbo++ | trunk:
: pirric: refactor common code for jumps
diff: www.parrotvm.org/svn/parrot/revision?rev=31418
pmichaud there's a serious bug in integer comparisions 20:56
NotFound Maybe 'serious' is not the better word :D 20:57
nopaste "pmichaud" at 76.183.97.54 pasted "Parrot can't handle integer comparisons where values are in range but greater than 2^31 apart" (25 lines) at nopaste.snit.ch/14170 20:58
pmichaud posting ticket, then dinner.
posted. 21:00
dinner.
chromatic_meeting Patch submitted for RT #59308, "Test failures due to integer overflow" 21:01
21:03 pyrimidine joined 21:05 ruoso joined 21:13 sjansen joined
dalek r31419 | julianalbo++ | trunk: 21:14
: fix for cmp PMC INT RT#59336
diff: www.parrotvm.org/svn/parrot/revision?rev=31419
pmichaud chromatic: the patch for 59308 hasn't hit RT yet? 21:15
chromatic NotFound, pm's example makes a good test case. 21:16
pmichaud or is it just sent to the mailing list?
NotFound chromatic: yes, but now I'm going to bed :O
21:16 Theory joined
nopaste "chromatic" at 209.204.147.1 pasted "Ireg to Nreg Autopromote in IMCC" (78 lines) at nopaste.snit.ch/14171 21:16
pmichaud I like chromatic's solution better than the one I was working on. :-) 21:18
chromatic PCT may have to do something a little smarter, but it's an option. 21:19
21:19 pyrimidine joined
dalek r31420 | chromatic++ | trunk: 21:20
: [t] Added Patrick's test for Integer comparison outside normal INTVAL range.
: See r31419 and RT #59336.
diff: www.parrotvm.org/svn/parrot/revision?rev=31420
21:20 isop joined
pmichaud seems a little weird to need a separate int_reg_does_not_overflow function that basically repeats the conversion.... couldn't we just check errno after calling IMCC_int_from_reg ? 21:21
(haven't looked at IMCC_int_from_reg yet... just trying to avoid repetition 21:22
chromatic IMCC_int_from_reg throws an uncatchable exception. 21:23
dalek r31421 | chromatic++ | trunk:
: [config] Use configured path to perldoc for docs/ Makefile (reported by Dave
chromatic I don't care much for the duplication myself, but this isn't the only place which calls IMCC_int_from_reg.
dalek : Whipp).
diff: www.parrotvm.org/svn/parrot/revision?rev=31421
21:24 ruoso joined
pmichaud it's weird that the exception in IMCC_int_from_reg claims it's in add_1_const :-) 21:25
chromatic Someone probably extracted it. 21:26
pmichaud the other calls to IMCC_int_from_reg are all in optimizer.c
and they all appear to be checking for 0 or 1 21:27
oops, except one (line 851)
chromatic Yeah, that'll be harder to fix now. 21:29
I hate to add out parameters as flags, but....
pmichaud I _think_ there's only about 5 or 6 places we'd have to check for errno 21:31
chromatic Checking for errno anywhere apart from exactly after a syscall seems unsafe though. 21:32
pmichaud agreed.
how about IMCC_int_from_reg and IMCC_int_from_reg_with_exception ? 21:34
chromatic Ah, C. You let me write fast programs that crash, and your simplicity makes it easy to remember everything not related to your typesystem, and your stupid simplicity prevents many good design principles.
pmichaud where the second calls the first and then checks errno
it at least puts errno checking in the immediate vicinity, instead of spread all around
and avoids an extra param
oh, but that doesn't really solve the original problem. hrm. 21:35
chromatic Of course, any kind of string-to-num-thingy comparison has a semi-predicate problem without an out parameter or an exception.
pmichaud I guess I'm willing to live with the duplicate code then. It's not like it makes IMCC any uglier. :-) 21:38
chromatic Throwing an exception seems silly when we can silently remap the register, unless we want to make PIR very explicit in those terms.
pmichaud there is that, too.
chromatic It's not as if this approach respects 32- and 64-bit INTVAL differences. 21:39
japhb chromatic: What's up with your journal on use.perl? I'm getting "Sorry, the requested journal entries were not found."
chromatic Or maybe it does. I usually don't care. I usually don't do math in languages where this matters.
japhb looks around at other journals ...
chromatic japhb, I get that for nicholas's journal too. It must be upgrade day for Slashcode.
moritz japhb: Nicholas reported use.perl.org errors as well
japhb hmmm, looks like it may be all of the journals. 21:40
yup
pmichaud glad I didn't try to do my "Happy National Punctuation Day" post yesterday, then. :-)
(I think Perl should take more recognition of that day. :-) 21:41
moritz chromatic: tested your patch, with it there are still two test errors at run time, but overall it's much better 21:44
chromatic Are they compilation errors or runtime errors? 21:45
moritz run time
purl run time is the developer end, the build time is the ./configure end of things.
pmichaud note that Rakudo also need to be fixed to take advantage of the correct generation
i.e., Rakudo is still working within (or around) the limitations of the old lack-of-precision Parrot
moritz chromatic: and they are not exceptions, merely unexpected results 21:46
pmichaud I was working on that when I discovered the integer comparison outside INTVAL range bug
21:46 gmansi_ joined
pmichaud I'll backtrack and restart from chromatic's patch 21:46
isop pmichaud: bug reproduced now 21:49
moritz holy shit, not another bug!
chromatic We've only squashed several this week! 21:50
moritz only reported several this week
isop moritz: it's ok, it's not a new one :)
Whiteknight You're never going to believe what I found in my drawer 21:52
A pack of eight 3.5" floppys, install disks for Windows 3.1, new sealed in their original bag 21:53
how's that for nostalgia?
so, if we need to do any parrot regression testing on Win3.1, let me know 21:54
chromatic I have VC++ 1.0 on floppies. 21:58
nopaste "pmichaud" at 76.183.97.54 pasted "problem with 59308 patch" (10 lines) at nopaste.snit.ch/14172 22:02
pmichaud see also the reply I just posted to 59308 about why/how PCT was generating the constants with errors in the first place 22:03
chromatic Hm, that's strange. 22:09
pmichaud I can get PCT to work around the IMCC problems with ints. 22:11
I still think it would be good to get IMCC to be able to handle sequences of digits that combine to form numbers greater than 2^31 (or whatever), but I think we can also work around this other issue a bit. 22:13
chromatic I'm looking at my patch as well. 22:14
pmichaud basically PCT can see how the value stringifies, and if it's strictly a sequence of digits (optional '-') that is outside the range of ints that imcc will accept it appends an 'L' to the constant. 22:16
chromatic That seems sensible. 22:17
isop $$ in pge means end-of-line, correct? 22:19
moritz aye 22:20
nopaste "pmichaud" at 76.183.97.54 pasted "not very sensible!" (10 lines) at nopaste.snit.ch/14173 22:24
pmichaud well, it *would* be sensible if it actually worked. (see nopaste)
I guess our BigInts are really Strings in Parrot for now. :-|
chromatic Strange. 22:25
purl But true.
pmichaud otoh, I guess it might not make much difference if an out-of-range Int promotes to a Str instead of a Float. 22:26
I could probably append a decimal point, too.
then it'd definitely be a Float.
that seems nicer.
22:27 Lorn joined 22:34 davidfetter left
chromatic Hm, I bet reg-morphing needs to morph opcodes too, because they're not polymorphic. 22:36
pmichaud yes.
....but wait. 22:37
chromatic THERE'S MORE
pmichaud is the opcode chosen purely based on syntax, or based on a result of evaluating the operands?
i.e., do we pick the opcode prior to evaluating a constant, or after evaluating a constant? 22:38
chromatic Evaluating the operands.
This happens during constant folding.
pmichaud yes, but by the time we get to constant folding, we know that we won't have ints.
chromatic We haven't done the overflow check yet. 22:39
We could move the overflow check to the parsing stage.
"This is an integer, but it's way too big, so *poof* now it is a float." 22:40
pmichaud oh, constant folding. I was thinking about the add Iy, Ix, 0 optimizations
Tene Hm. I wonder if it would be rude to mail allison directly to ask her about my exceptions branch. I'd like to merge that sometime soon.
chromatic Do it! 22:41
Tene purl: allison?
purl allison is, like, Allison Randal <mailto:allison@perl.org>
pmichaud mail allison directly, or merge the branch?
;-)
chromatic First the one, then the other.
pmichaud got it. :-)
chromatic The technique or the parser lying? 22:43
pmichaud okay, I have S03-operators/arith.t passing in Rakudo 22:44
moritz pmichaud++
pmichaud I have to leave in about 4 mins, so I'll submit my patch and maybe someone else can spectest_regression it for me 22:45
there's still a couple of things to be done, but I think this solves the bulk
chromatic Losing the trailing dot and the six sigdigs didn't help much.
moritz pmichaud: I added a few tests to radix.t which *should* pass, but if you get a few failures they might not be regressions 22:46
pmichaud: but none of the new tests are related to big numbers
pmichaud oh, having the extra sigdigs is a huge improvement over what we had before. If that means that PCT and Rakudo need a bit of catching up (i.e., removing workarounds) to get spectest_regression working again, I'm all for that.
patch sent to #59308. gotta run -- be back in a couple of hours. 22:49
chromatic Fixed in the parser. 22:53
22:54 gmansi_ joined
nopaste "chromatic" at 209.204.147.1 pasted "Autopromote Overflow Ints to Nums in IMCC (take 2)" (61 lines) at nopaste.snit.ch/14174 22:59
chromatic moritz, does this work better for you?
23:02 tetragon joined
moritz chromatic: running tests now... 23:02
chromatic: works like a charm 23:04
chromatic Looks good here too. 23:06
Magic commit powers... activate!
dalek r31422 | chromatic++ | trunk: 23:08
: [IMCC] Autopromote large constant integers outside of our INTVAL range from I
: registers to N registers. This avoids weird wrapping and overflow errors in
: the PBC generated from PIR code. See RT #59308 for some symptoms of this
: problem.
diff: www.parrotvm.org/svn/parrot/revision?rev=31422
moritz chromatic++ 23:09
chromatic: does your patch make pmichaud's patch in rt.perl.org/rt3/Ticket/Attachment/4...ants.patch superfluous? 23:14
bed& 23:25
23:42 dmknopp joined