Dear members of Haskell Cafe,<br><br>My name is Damien Desfontaines, and I&#39;m currently following a Theoretical<br>Computer Science Major at the École Normale Supérieure in Paris, which is one of<br>the most selective universities in France.<br>
<br>To complete my curriculum, I am to find a three-month internship related to<br>something I have learnt, including lambda-calculus, compilers, graph theory,<br>languages theory, and complexity &amp; calculability theories. I wish to make it<br>
useful for the open-source community, for example by working for the Haskell<br>group through the Google Summer of Code Program.<br><br><br>The project I suggest is mainly inspired by Ticket #1555 [1] : I think that<br>would be a great idea to make it possible to call some Haskell code into OCamL.<br>
In particular, this would contribute to the spreading of Haskell in countries<br>where OCamL is proeminent, mainly France and Italy. The idea would be the<br>following : building a translator which would turn Haskell code into (purely<br>
functional) OCamL code, in order to enable the use of Haskell functions and<br>libraries within OCamL programs, in a &quot;human-readable&quot; way (the OCamL source<br>code generated would ideally be understandable enough to be manually modified).<br>
<br>I am well aware that one of the main issues lies in dealing with the conversion<br>between the two types systems, especially because of Haskell&#39;s lazy evaluation<br>and typeclasses.  However, such a challenge really motivates me to spend hours<br>
looking for the most efficient and usable solution, I would really enjoy<br>spending three months on such problems. However, I sincerely think I have the<br>skills needed to go through such a project. <br><br>Indeed, I have a long experience with OCamL. I used this language to<br>
automatically write the undecidable Gödel proposition in Peano arithmetics,<br>using Tarski&#39;s original proof [2]. I have written a mini-Java compiler with it<br>[3], a MISP microprocessor simulator along with three friends [4], and many<br>
other things for studies and personal entertainment. My experience of Haskell is<br>shorter, I learnt it with two books, &quot;Learn You a Haskell for Great Good !&quot; and<br>&quot;Real World Haskell&quot; (you are the co-author of this last book, aren&#39;t you ?<br>
Well, congratulations, it&#39;s really well-written and precise !). I use it mainly<br>for mathematical-oriented works, and for coding competitions such as Google Jam<br>or Prologin.<br><br>I also have a little experience with open-source software : I have been using<br>
Debian Linux for 4 years, so I know the basics of UNIX administration. I know<br>how to write a bug report, a man-page, a README, etc. I spend a lot of time<br>helping others on french IRC channels, Linux- or programmation-oriented. I<br>
contribute to the Weboob project [5] by writing documentation and new modules.<br>This, in my opinion, makes me quite autonomous, and able to solve issues by<br>myself, by reading documentation, manuals or language specifications. Apart from<br>
that, I have never been engaged in development of &quot;large&quot; projects such as<br>Haskell - but I am ready and excited to start !<br><br><br>I am confident I can interact efficiently with the Haskell community: if you<br>
would like me to create a blog syndicated to Planet Haskell, in which I would<br>explain my work every one or two weeks, I can do that. I know how to read a<br>man-page, a language specification or a system documentation, so I consider<br>
myself as quite autonomous to answer questions I could ask myself during a<br>project. <br><br>Furthermore, please let me know if you think my skills could be useful to<br>another Haskell project.<br><br>I look forward to the opportunity to discuss this idea with one or several<br>
developers,<br><br>Damien Desfontaines<br><br><br>[1] <a href="http://hackage.haskell.org/trac/summer-of-code/ticket/1555">http://hackage.haskell.org/trac/summer-of-code/ticket/1555</a><br>[2] <a href="http://www.eleves.ens.fr/home/desfonta/godel/godel.ml">http://www.eleves.ens.fr/home/desfonta/godel/godel.ml</a><br>
[3] <a href="http://www.eleves.ens.fr/home/desfonta/ProjetCompil/">http://www.eleves.ens.fr/home/desfonta/ProjetCompil/</a><br>[4] <a href="https://github.com/kyoDralliam/CircuitSimulator">https://github.com/kyoDralliam/CircuitSimulator</a><br>
[5] <a href="http://weboob.org/">http://weboob.org/</a><br>