Edison RC3

Robert Dockins robdockins at fastmail.fm
Wed Apr 5 12:30:26 EDT 2006

On Apr 5, 2006, at 11:34 AM, Nils Anders Danielsson wrote:

> On Wed, 05 Apr 2006, Robert Dockins <robdockins at fastmail.fm> wrote:
>> So you think it would be clearer if I just ignored bottom as well?
> It would be imprecise instead of wrong. :)

I suppose if you force the reader to evaluate documentation non- 
deterministically, then you can presume your documentation is correct  
if there is any correct interpretation they might have chosen ;-)

> Another option is to go for some sort of approximate semantics which
> still includes bottoms. You could for instance assume that bottom =
> const bottom, and state your results in that context. Verifying the
> results would still mean a lot of work, though.

Humm.  Well, I'd actually prefer not to have to say anything about  
bottom.  I'm really only interested in telling the user that output  
of a function is not completely determined by the contract.  <shakes  
fist> Dang you bottom!  I'll have to think some more about what to do  
here and see if there's a nice way to sidestep the issue entirely.

> By the way, does your library have a QuickCheck test suite?

Yes indeed.

> In that
> case it is often not too hard to test properties involving bottoms. I
> have a library which may be of help:
>   http://www.cs.chalmers.se/~nad/software/ChasingBottoms/docs/

Nice!  I notice however, that it relies on exceptions and implicit  
parameters.  I'm willing to accept less portability in the test suite  
than in the library proper, but I feel that implicit parameters are  
pushing it a bit, since they appear unlikely to make it into H'.

> -- 
> /NAD

Rob Dockins

Speak softly and drive a Sherman tank.
Laugh hard; it's a long way to the bank.
           -- TMBG

More information about the Libraries mailing list