<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/www/stylesheets/rss.css" type="text/css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>alpheccar's blog - tag djinn</title>
    <link>http://www.alpheccar.org</link>
    <language>en</language>
    <ttl>40</ttl>
    <description>science and freedom</description>
    <image>
      <link>http://www.alpheccar.org</link>
      <title>alpheccar's blog - tag djinn</title>
      <url>http://www.alpheccar.org/images/avatar.jpg</url>
    </image>
    <item>
      <title>Djinn, Coq, Monad and a bit of Haskell</title>
      <enclosure url="http://www.alpheccar.org/www/content/user_1/content_0/70/Monad.v" length="1790" type="application/octet-stream"/>
      <description>
        <![CDATA[<p>Even if your are a beginner in functional programming, you have probably heard of the program-as-proof correspondence, also known as the Curry-Howard isomorphism. It is a bridge between the world of logic and the world of computation.

A type is a specification and a program is a proof of that type. Typechecking is just checking the proof. Types can be used to specify lots of constraints about your programs. With sophisticated type systems like the ones in [Ocaml](http://caml.inria.fr/ocaml/index.fr.html) and [Haskell](http://haskell.org/haskellwiki/Haskell) you can really do wonderful stuff.

But, those type systems are not powerful enough.  We may dream of extracting a program from its specification. But, for that we need to be able to express very rich specifications. It is possible with the calculus of constructions which is the type system implemented in [Coq](http://coq.inria.fr/). </p> <p><a href="http://www.alpheccar.org/en/posts/show/70">Read More...</a></p>
]]>
      </description>
      <pubDate>Thu, 24 May 2007 14:18:57 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:65</guid>
      <author>webmaster@alpheccar.org</author>
      <link>http://www.alpheccar.org/en/posts/show/70</link>
      <comments>http://www.alpheccar.org/en/posts/show/70#comments</comments>
      <category>haskell</category>
      <category>ocaml</category>
      <category>coq</category>
      <category>djinn</category>
    </item>
  </channel>
</rss>
