On 2008 Oct 19, at 11:24, Friedrich wrote:
"Brandon S. Allbery KF8NH" <[EMAIL PROTECTED]> writes:
The relationship
between types and proofs is especially obvious in Haskell. And proofs
aren't merely mathematical entities, they're expressions of what you
want to accomplish:  if you can type your program, you have a high
likelihood not only that it will compile, but that it will do what you
intend.
Well I could argue with the types in C and would not come along very
far. In the TCP/IP stuff one can see what you have to do,  sooner or

From a Haskell standpoint, C and Java are virtually untyped.

If you want to see types => programs in action, play around with the @free and @djinn commands in lambdabot (a Haskell bot that lives on FreeNode). @free treats a type as a theorem and produces a "proof" of it in Haskell code; @djinn takes a function declaration (type -> type) and generates the "obvious" code suggested by the declaration. (@djinn is sadly somewhat limited; it doesn't handle recursive types, so e.g. lists don't work too well.)

--
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] [EMAIL PROTECTED]
system administrator [openafs,heimdal,too many hats] [EMAIL PROTECTED]
electrical and computer engineering, carnegie mellon university    KF8NH


_______________________________________________
Haskell mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to