On Sat, Mar 22, 2008 at 8:39 AM, Don Stewart <dons@galois.com> wrote:
shaun:
>    Hello,
>
>    I am an experienced programmer, currently learning Haskell. Currently I
>    write many things in python. I use both the "doctest" and "unittest"
>    modules extensively. As I write code, I simultaneously write doctest code
>    in the doc strings to explain/set out the "typical narrative" of how the
>    code is used. Then finishing off a module I write unittests for boundary
>    conditions, more complex test cases, and generally code that would be
>    annoying to write & read in doctests.
>
>    I note that there is a unit testing framework for Haskell, but I don't see

There's a couple, QuickCheck is the best, it generalises unit testing to
property testing with random, or not so random, data.

>    any doctest module. Might this be a good project?
>    If so, suggestions as to resources would be greatly appreciated. I believe
>    I can't just "introspect" Haskell modules to get at
>    documentation/comments, like I can in python? (Why not? :)) I notice that
>    there are a few "documentation generators". Should I try to write an
>    extension of one of these? Haddock, for instance? Are there any Haddock
>    developers hanging out on this list, to encourage or dissuade me? :) (And
>    where is the Haddock doc for Haddock?)
>
>    In any case, thanks in advance for any comments & advice.

I'm not sure how doctest works, or how it would work in a Haskell
setting, could you elaborate?

One idea that does strike me is that it would be super useful to have
the ability in ghci to extract the haddocks associated with a function.

    > :doc map

would result in:

    -- | 'map' @f xs@ is the list obtained by applying @f@ to each element
    -- of @xs@, i.e.,
    --
    -- > map f [x1, x2, ..., xn] == [f x1, f x2, ..
    -- > map f [x1, x2, ...] == [f x1, f x2, ...]

marked up in ascii.

I'm not sure if that's related to doctest, but it sure would be useful!

To be honest, I think this is what we should see when we type ":info map". Preferably we'd get a proper GUI version of GHCi which prints it out into a HTML box or something with proper hyperlinks and formatting.



--
Sebastian Sylvan
+44(0)7857-300802
UIN: 44640862