One of the truly powerful things about Haskell is the short distance between theory and practicality.
[...]
But the ability to reason about programs has borne fruit that I *do* think they will appreciate. Because many of them care about performance.

This is a topic I've been trying to learn more about.  I appreciate
that the language is pure, referentially transparent and that the
semantics have even been formally spelled out.  I like that there
are tools like quickcheck that can be used to automate testing of
formally stated properties.   Now on to the next step...

  - extended static checking -- I'm aware of haskell ESC, but its
    not yet available.  Are there any available tools for statically
    checking program properties (rather than testing for them)?

  - What about program proofs?  Are there any systems that tie
    directly into haskell and let you augment your haskell program
    with a proof that can be machine checked?  I know that some
    groups have taken haskell, translated to isabelle/hol and then
    done proofs in that system.

I would love to be able to make a model (specification), prove some properties on it, create a real program based on the model, and by a combination of proof (when possible or convenient) and testing (when proofs become too cumbersome) assure myself that the program has the same properties or show equivalence to the model. I would love to be able to do all of this inside the haskell system (or at least in a system with minor extensions to haskell -- ie. proofs could be contained in comments).

R Hayes
rfhayes<>@</>reillyhayes.com

btw: semi related question -- are there any tools that can chase down
the closure of all functions called by a program?  Ideally showing it
in graph form?  ie. to track down all calls to "error" in a program.

Tim Newsham
http://www.thenewsh.com/~newsham/
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to