On Mon, Jun 15, 2009 at 3:03 AM, Luke Palmer <[email protected]> wrote:
> > The last thing: we made startsWithUpper less general in the process; it is > undefined for empty strings. We need to verify that words never returns any > empty strings. I did this using SmallCheck: > > ghci> import Test.SmallCheck > ghci> smallCheck 10 $ \string -> all (not . null) (words string) > 'Course, it turns out that SmallCheck never generates any spaces... ever. Some verifier that is. By careful inspection of the definition of words, I can see that it never returns an empty string. I couldn't find a better way to convince myself of this (I like to avoid looking at definitions when possible). Luke > Depth 0: > Completed 1 test(s) without failure. > Depth 1: > Completed 2 test(s) without failure. > Depth 2: > Completed 5 test(s) without failure. > Depth 3: > Completed 16 test(s) without failure. > Depth 4: > Completed 65 test(s) without failure. > Depth 5: > Completed 326 test(s) without failure. > Depth 6: > Completed 1957 test(s) without failure. > Depth 7: > Completed 13700 test(s) without failure. > Depth 8: > Completed 109601 test(s) without failure. > Depth 9: > Completed 986410 test(s) without failure. > Depth 10: > Completed 9864101 test(s) without failure. > > So I am reasonably confident that words never gives me any empty strings. > > Tada! Your solution is almost exactly the same as the one-liners! :-) > > Luke > >
_______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
