Documentation (in HTML and PDF), as well as the PLT file.
DrScheme users should be able to select File -> Install PLT file…, paste the url for the URL for the PLT bundle in, and things should ” just work.”
Update, 20040511 (Today) 5:12 PM
I feel a bit guilty releasing this software today; my only reason is because I have someone (apparently) desperately (?) attempting to make use of XML-RPC in PLT Scheme. The reason I’m particularly not keen is that I do not handle exceptions gracefully; faults from the underlying libraries are not handled well. In fact, I have no idea how faults are handled on the server-side of the library at this time.
This isn’t great software engineering practice, I don’t think. The evolution of the second version is
- I needed a version of the library that could run under Apache.
- I chose reasonable libraries for parsing and extracting data from XML (SSAX and SXPath).
- I kept what I could from version one.
- I developed version two, running against a small suite of test cases.
- I expanded those test cases into a larger suite of unit tests, focusing on covering the internal methods of the library, exploring all the possible methods of failure for each of the components; I do not have complete coverage yet.
- I tested version two against two other standard implementations (Apache’s XML-RPC for Java and SOAP::Lite for Perl), adding error-handling code for each error I encountered (but did not systematically search for).
Certainly not Waterfall, and definitely not Extreme Programming. Perhaps closer to “Advanced Hack.”
I don’t expect that I’ll develop my code in a black-box, but I do expect better testing and error handling. Certainly before I release the code for others to use. As it stands, the documentation says nothing about how the library might fail, and under what conditions it will fail.
Am I proud of this? No. Why does that matter? Because it is my software, and other people might build on top of it. I’d rather that my software didn’t cause other people problems. Hell, I know that I’ll build on top of it, and I would rather not discover uglies a year from now that I could have handled when I originally wrote it. But, it’s out now, and I’ll just have to update the documentation and software as quickly as is reasonable to address these problems.