Sunday, December 21, 2008

some headway

After spending some time just treading water with parrot updates, we've made some headway against the spec tests, which is nice. ^_^

Thanks to dgp on #tcl on freenode for his suggestion for a stub for [interp alias] that let us run basic.test to completion!

We regressed on  compile.test with the recent updates, but added five more spec test files that run to completion. That's 320 more passing tests, include a few extras in already completing files.

I also tracked down the expected boolean value but got "" error that is blocking many of the spec tests from running any tests; turns out that the constraint framework in tcltest.tcl (which helps determine if a given test in the file should be run or not) requires a minimal version of [trace] in order to work. Pulling at this thread, the trace refers to [namespace code], which means we also need [namespace inscope] ; I have a work in progress on each of these, but it's not quite ready for checkin. Thanks to pmichaud on #parrot for some thoughts on how trace (or tie in p5) might work on parrot.

Thursday, December 18, 2008

Speedups since parrot 0.8.1

I got partcl's trunk working with parrot's trunk again, catching up with some changes in parrot that we couldn't deal with because of segfaults we were seeing.

With the updates, 'make test' now passes again in trunk, and 'make spectest' completes, giving the same results it did against 0.8.1; Here's a snippet from our progress tracker:

"date","revision","parrot revision","files","test","pass","fail","skip","time in seconds"
"2008-11-19 12:51",159,"v0.8.1",57,4001,2341,1059,601,12550
"2008-12-18 12:15",195,"r34059",57,4001,2341,1059,601,9232

So, with no functional changes, we've gone from 3.5 hours to run the tests to 2.6 hours. Which is still terribly slow, but down from horrifically slow.

I've also identified a parrot segfault that is blocking completion of the spec test "expr-old.test"; which would get us at least 254 more passing tests. This particular segfault is also impacting rakudo perl, so hopefully between the two of us we can get a small test case for core parrot developers to resolve the issue.

Wednesday, December 17, 2008

Not just for developers anymore?

When we moved partcl out of parrot's svn repository, one of the goals was to target a stable version of parrot so that we could work without having things break underneath us. (One of the reasons I'm looking forward to parrot 1.0.); I've ended up turning this requirement sideways a bit: I want a stable version for users of partcl (All 1.2 of you.)

I've now created a "stable" branch of the partcl svn repository that tracks a released version of parrot (currently 0.8.1). The download instructions for partcl now show you how to get a combination of parrot & partcl that work together.

Hopefully after every parrot release, we'll be able to update our stable branch to track it. Unfortunately, due to some issues that cropped up near the end of the 0.8.2 development lifecycle, we missed that release.

I'd definitely be interested in feedback, especially from folks that use tcl on a regular basis.