Camelia, the Perl 6 bug

IRC log for #parrot, 2008-09-25

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

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

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced