<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/www/stylesheets/rss.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 ocaml</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 ocaml</title>
      <url>http://www.alpheccar.org/images/avatar.jpg</url>
    </image>
    <item>
      <title>Djinn, Coq, Monad and a bit of Haskell</title>
      <enclosure type="application/octet-stream" length="1790" url="http://www.alpheccar.org/www/content/user_1/content_0/70/Monad.v"/>
      <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 -0500</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>
    <item>
      <title>The best programming languages</title>
      <description>
        <![CDATA[<p>It is of course impossible to choose, in a objective and absolute way the best programming language. Choosing a programming language 
is dependent on too many things. A language which may be very good for a specific use may be the wrong language to use for another task.</p> <p><a href="http://www.alpheccar.org/en/posts/show/36">Read More...</a></p>
]]>
      </description>
      <pubDate>Tue, 13 Jun 2006 11:47:55 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:37</guid>
      <author>webmaster@alpheccar.org</author>
      <link>http://www.alpheccar.org/en/posts/show/36</link>
      <comments>http://www.alpheccar.org/en/posts/show/36#comments</comments>
      <category>programming language</category>
      <category>ruby</category>
      <category>haskell</category>
      <category>python</category>
      <category>lisp</category>
      <category>smalltalk</category>
      <category>ocaml</category>
    </item>
  </channel>
</rss>
