I'm waiting for SourceForge to approve my Specter project (previously know as BooSpec). It's been 7 days so far already.. I'm hoping they're just really busy and will get round to me soon.
I'll blog as soon as the project is approved (fingers crossed!). Anyone who wants to collaborate will then be welcome to join the project.
I had another syntax idea today as well…
Instead of something like:
foo.Must.Be <= 42
I can make the object returned by "Be" overload the comparison operators. This makes for much less typing and I think is easier to read. Of course, I can support both forms in Specter and let the user decide which they prefer.
Similarly the equality specifications become:
Actually, now that I think about it… I can probably make the Boo macro look for statements that are just binary expressions (A op B) and output correct method calls at compile time. This would make for specs like this:
foo.Must.Be == 42
:D This could be awesome!
context "Sample spec":
x as int
x < 42