<div dir="ltr">After careful examination of the paper,<div>I inferred that it mostly implemented simple loop translation,</div><div>and worked only as long as the problem was small and easy to refine</div><div>by direct translation token by token.<br>It also had problems with preserving semantics of these simple loops.</div><div>So while I am certain that Facebook AI tries to address important problems,</div><div>the solution seems very far from practical application to large code bases</div><div>and even attempts to translate the same language from one library to another.</div><div>--</div><div>  Best regards</div><div>     Michal</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Jun 13, 2020 at 2:03 PM <<a href="mailto:haskell-cafe-request@haskell.org">haskell-cafe-request@haskell.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Send Haskell-Cafe mailing list submissions to<br>
        <a href="mailto:haskell-cafe@haskell.org" target="_blank">haskell-cafe@haskell.org</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
        <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
or, via email, send a message with subject or body 'help' to<br>
        <a href="mailto:haskell-cafe-request@haskell.org" target="_blank">haskell-cafe-request@haskell.org</a><br>
<br>
You can reach the person managing the list at<br>
        <a href="mailto:haskell-cafe-owner@haskell.org" target="_blank">haskell-cafe-owner@haskell.org</a><br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than "Re: Contents of Haskell-Cafe digest..."<br>
Today's Topics:<br>
<br>
   1. transcoding - Haskell?! (Gregory Guthrie)<br>
   2. Re: transcoding - Haskell?! (Branimir Maksimovic)<br>
   3. Re: transcoding - Haskell?! (MigMit)<br>
   4. Re: transcoding - Haskell?! (Branimir Maksimovic)<br>
   5. Re: transcoding - Haskell?! (Henning Thielemann)<br>
<br><br><br>---------- Forwarded message ----------<br>From: Gregory Guthrie <<a href="mailto:guthrie@miu.edu" target="_blank">guthrie@miu.edu</a>><br>To: "<a href="mailto:haskell-cafe@haskell.org" target="_blank">haskell-cafe@haskell.org</a>" <<a href="mailto:haskell-cafe@haskell.org" target="_blank">haskell-cafe@haskell.org</a>><br>Cc: <br>Bcc: <br>Date: Fri, 12 Jun 2020 17:33:47 +0000<br>Subject: [Haskell-cafe] transcoding - Haskell?!<br>





<div lang="EN-US">
<div class="gmail-m_2504438047412848583WordSection1">
<p class="MsoNormal">I think it would choke on Haskell code!<u></u><u></u></p>
<p class="MsoNormal">Haskell has so many language extensions and pragmas, and people use many local extensions with monads to basically create DIY DSL’s – that the code becomes very dense and context specific.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<table border="0" cellspacing="0" cellpadding="0" width="100%" style="width:100%;border-collapse:collapse">
<tbody>
<tr>
<td style="padding:7.5pt 0in">
<p class="MsoNormal" style="margin-bottom:12pt"><span class="gmail-m_2504438047412848583desktopfontsize"><b><span style="font-size:10pt;font-family:Verdana,sans-serif;color:rgb(0,89,133)">Facebook's TransCoder AI Converts Code From One Programming Language Into Another</span></b></span><span class="gmail-m_2504438047412848583desktopfontsize"><span style="font-size:10pt;font-family:Verdana,sans-serif;color:rgb(0,89,133)">
</span></span><span style="font-size:10pt;font-family:Verdana,sans-serif;color:black"><br>
</span><span class="gmail-m_2504438047412848583desktopfontsize"><b><i><span style="font-size:10pt;font-family:Verdana,sans-serif;color:rgb(3,3,3)">VentureBeat</span></i></b></span><i><span style="font-size:10pt;font-family:Verdana,sans-serif;color:rgb(102,102,102)"><br>
<span class="gmail-m_2504438047412848583desktopfontsize">Kyle Wiggers</span><br>
<span class="gmail-m_2504438047412848583desktopfontsize">June 9, 2020</span></span></i><span style="font-size:10pt;font-family:Verdana,sans-serif;color:rgb(3,3,3)"><br>
<br>
</span><span style="font-size:10pt;font-family:Verdana,sans-serif;color:black">Facebook says its TransCoder can convert code from one high-level programming language into another. The system, which Facebook researchers describe as “a neural transcompiler,”
 uses an unsupervised learning approach to translate between languages like C++, Java, and Python. The researchers trained TransCoder on a public GitHub corpus featuring more than 2.8 million open source repositories. To evaluate its capabilities, the researchers
 extracted 852 parallel functions in C++, Java, and Python from the online GeeksforGeeks platform and developed a new computational accuracy metric that tests whether hypothesis functions generate the same outputs as a reference when given the same inputs.
 Wrote the researchers, “TransCoder can easily be generalized to any programming language, does not require any expert knowledge, and outperforms commercial solutions by a large margin.”</span><span style="font-size:10pt;font-family:Verdana,sans-serif;color:black"><u></u><u></u></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div style="border-top:none;border-right:none;border-left:none;border-bottom:1pt solid windowtext;padding:0in 0in 1pt">
<p class="MsoNormal" style="border:none;padding:0in"><u></u> <u></u></p>
</div>
<p class="MsoNormal">Dr. Gregory Guthrie<u></u><u></u></p>
<p class="MsoNormal">Maharishi International University<u></u><u></u></p>
<p class="MsoNormal">----------------------------------------------------------------<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>

<br><br><br>---------- Forwarded message ----------<br>From: Branimir Maksimovic <<a href="mailto:branimir.maksimovic@gmail.com" target="_blank">branimir.maksimovic@gmail.com</a>><br>To: <a href="mailto:haskell-cafe@haskell.org" target="_blank">haskell-cafe@haskell.org</a><br>Cc: <br>Bcc: <br>Date: Fri, 12 Jun 2020 19:44:01 +0200<br>Subject: Re: [Haskell-cafe] transcoding - Haskell?!<br>
  
    
  
  <div>
    <p>It would choke on assembler as well. Digital computer hard AI is
      impossible, because there is no</p>
    <p>algorithm for making algorithms. Mathematicaly impossible...</p>
    <p>Greets, Branimir.<br>
    </p>
    <p><br>
    </p>
    <div>On 6/12/20 7:33 PM, Gregory Guthrie
      wrote:<br>
    </div>
    <blockquote type="cite">
      
      
      
      <div class="gmail-m_2504438047412848583WordSection1">
        <p class="MsoNormal">I think it would choke on Haskell code!<u></u><u></u></p>
        <p class="MsoNormal">Haskell has so many language extensions and
          pragmas, and people use many local extensions with monads to
          basically create DIY DSL’s – that the code becomes very dense
          and context specific.<u></u><u></u></p>
        <p class="MsoNormal"><u></u> <u></u></p>
        <table style="width:100%;border-collapse:collapse" width="100%" cellspacing="0" cellpadding="0" border="0">
          <tbody>
            <tr>
              <td style="padding:7.5pt 0in">
                <p class="MsoNormal" style="margin-bottom:12pt"><span class="gmail-m_2504438047412848583desktopfontsize"><b><span style="font-size:10pt;font-family:Verdana,sans-serif;color:rgb(0,89,133)">Facebook's
                        TransCoder AI Converts Code From One Programming
                        Language Into Another</span></b></span><span class="gmail-m_2504438047412848583desktopfontsize"><span style="font-size:10pt;font-family:Verdana,sans-serif;color:rgb(0,89,133)"></span></span><span style="font-size:10pt;font-family:Verdana,sans-serif;color:black"><br>
                  </span><span class="gmail-m_2504438047412848583desktopfontsize"><b><i><span style="font-size:10pt;font-family:Verdana,sans-serif;color:rgb(3,3,3)">VentureBeat</span></i></b></span><i><span style="font-size:10pt;font-family:Verdana,sans-serif;color:rgb(102,102,102)"><br>
                      <span class="gmail-m_2504438047412848583desktopfontsize">Kyle Wiggers</span><br>
                      <span class="gmail-m_2504438047412848583desktopfontsize">June 9, 2020</span></span></i><span style="font-size:10pt;font-family:Verdana,sans-serif;color:rgb(3,3,3)"><br>
                    <br>
                  </span><span style="font-size:10pt;font-family:Verdana,sans-serif;color:black">Facebook
                    says its TransCoder can convert code from one
                    high-level programming language into another. The
                    system, which Facebook researchers describe as “a
                    neural transcompiler,” uses an unsupervised learning
                    approach to translate between languages like C++,
                    Java, and Python. The researchers trained TransCoder
                    on a public GitHub corpus featuring more than 2.8
                    million open source repositories. To evaluate its
                    capabilities, the researchers extracted 852 parallel
                    functions in C++, Java, and Python from the online
                    GeeksforGeeks platform and developed a new
                    computational accuracy metric that tests whether
                    hypothesis functions generate the same outputs as a
                    reference when given the same inputs. Wrote the
                    researchers, “TransCoder can easily be generalized
                    to any programming language, does not require any
                    expert knowledge, and outperforms commercial
                    solutions by a large margin.”</span><span style="font-size:10pt;font-family:Verdana,sans-serif;color:black"><u></u><u></u></span></p>
              </td>
            </tr>
          </tbody>
        </table>
        <p class="MsoNormal"><u></u> <u></u></p>
        <p class="MsoNormal"><u></u> <u></u></p>
        <div style="border-top:none;border-right:none;border-left:none;border-bottom:1pt solid windowtext;padding:0in 0in 1pt">
          <p class="MsoNormal" style="border:none;padding:0in"><u></u> <u></u></p>
        </div>
        <p class="MsoNormal">Dr. Gregory Guthrie<u></u><u></u></p>
        <p class="MsoNormal">Maharishi International University<u></u><u></u></p>
        <p class="MsoNormal">----------------------------------------------------------------<u></u><u></u></p>
        <p class="MsoNormal"><u></u> <u></u></p>
      </div>
      <br>
      <fieldset></fieldset>
      <pre>_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a>
Only members subscribed via the mailman list are allowed to post.</pre>
    </blockquote>
  </div>

<br><br><br>---------- Forwarded message ----------<br>From: MigMit <<a href="mailto:migmit@gmail.com" target="_blank">migmit@gmail.com</a>><br>To: Branimir Maksimovic <<a href="mailto:branimir.maksimovic@gmail.com" target="_blank">branimir.maksimovic@gmail.com</a>><br>Cc: haskell-cafe <<a href="mailto:haskell-cafe@haskell.org" target="_blank">haskell-cafe@haskell.org</a>><br>Bcc: <br>Date: Fri, 12 Jun 2020 20:14:18 +0200<br>Subject: Re: [Haskell-cafe] transcoding - Haskell?!<br>I wonder if this would be true: <a href="https://www.theolognion.com/circular-ts-js-ts-js-transpiling-yields-impressive-results/" rel="noreferrer" target="_blank">https://www.theolognion.com/circular-ts-js-ts-js-transpiling-yields-impressive-results/</a><br>
<br>
> On 12 Jun 2020, at 19:44, Branimir Maksimovic <<a href="mailto:branimir.maksimovic@gmail.com" target="_blank">branimir.maksimovic@gmail.com</a>> wrote:<br>
> <br>
> It would choke on assembler as well. Digital computer hard AI is impossible, because there is no<br>
> <br>
> algorithm for making algorithms. Mathematicaly impossible...<br>
> <br>
> Greets, Branimir.<br>
> <br>
> <br>
> <br>
> On 6/12/20 7:33 PM, Gregory Guthrie wrote:<br>
>> I think it would choke on Haskell code!<br>
>> Haskell has so many language extensions and pragmas, and people use many local extensions with monads to basically create DIY DSL’s – that the code becomes very dense and context specific.<br>
>>  <br>
>> Facebook's TransCoder AI Converts Code From One Programming Language Into Another<br>
>> VentureBeat<br>
>> Kyle Wiggers<br>
>> June 9, 2020<br>
>> <br>
>> Facebook says its TransCoder can convert code from one high-level programming language into another. The system, which Facebook researchers describe as “a neural transcompiler,” uses an unsupervised learning approach to translate between languages like C++, Java, and Python. The researchers trained TransCoder on a public GitHub corpus featuring more than 2.8 million open source repositories. To evaluate its capabilities, the researchers extracted 852 parallel functions in C++, Java, and Python from the online GeeksforGeeks platform and developed a new computational accuracy metric that tests whether hypothesis functions generate the same outputs as a reference when given the same inputs. Wrote the researchers, “TransCoder can easily be generalized to any programming language, does not require any expert knowledge, and outperforms commercial solutions by a large margin.”<br>
>> <br>
>>  <br>
>>  <br>
>>  <br>
>> Dr. Gregory Guthrie<br>
>> Maharishi International University<br>
>> ----------------------------------------------------------------<br>
>>  <br>
>> <br>
>> <br>
>> _______________________________________________<br>
>> Haskell-Cafe mailing list<br>
>> To (un)subscribe, modify options or view archives go to:<br>
>> <br>
>> <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
>> <br>
>> Only members subscribed via the mailman list are allowed to post.<br>
>> <br>
> _______________________________________________<br>
> Haskell-Cafe mailing list<br>
> To (un)subscribe, modify options or view archives go to:<br>
> <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
> Only members subscribed via the mailman list are allowed to post.<br>
<br>
<br>
<br><br><br>---------- Forwarded message ----------<br>From: Branimir Maksimovic <<a href="mailto:branimir.maksimovic@gmail.com" target="_blank">branimir.maksimovic@gmail.com</a>><br>To: MigMit <<a href="mailto:migmit@gmail.com" target="_blank">migmit@gmail.com</a>><br>Cc: haskell-cafe <<a href="mailto:haskell-cafe@haskell.org" target="_blank">haskell-cafe@haskell.org</a>><br>Bcc: <br>Date: Fri, 12 Jun 2020 20:25:58 +0200<br>Subject: Re: [Haskell-cafe] transcoding - Haskell?!<br>As long as there is math behind that it could work. There is no <br>
algorithm for creative thinking. Same way that if you put it on rng 1000 <br>
monkeys will sooner or later create Shakespeare :P<br>
<br>
Greets, Branimir.<br>
<br>
On 6/12/20 8:14 PM, MigMit wrote:<br>
> I wonder if this would be true: <a href="https://www.theolognion.com/circular-ts-js-ts-js-transpiling-yields-impressive-results/" rel="noreferrer" target="_blank">https://www.theolognion.com/circular-ts-js-ts-js-transpiling-yields-impressive-results/</a><br>
><br>
>> On 12 Jun 2020, at 19:44, Branimir Maksimovic <<a href="mailto:branimir.maksimovic@gmail.com" target="_blank">branimir.maksimovic@gmail.com</a>> wrote:<br>
>><br>
>> It would choke on assembler as well. Digital computer hard AI is impossible, because there is no<br>
>><br>
>> algorithm for making algorithms. Mathematicaly impossible...<br>
>><br>
>> Greets, Branimir.<br>
>><br>
>><br>
>><br>
>> On 6/12/20 7:33 PM, Gregory Guthrie wrote:<br>
>>> I think it would choke on Haskell code!<br>
>>> Haskell has so many language extensions and pragmas, and people use many local extensions with monads to basically create DIY DSL’s – that the code becomes very dense and context specific.<br>
>>>   <br>
>>> Facebook's TransCoder AI Converts Code From One Programming Language Into Another<br>
>>> VentureBeat<br>
>>> Kyle Wiggers<br>
>>> June 9, 2020<br>
>>><br>
>>> Facebook says its TransCoder can convert code from one high-level programming language into another. The system, which Facebook researchers describe as “a neural transcompiler,” uses an unsupervised learning approach to translate between languages like C++, Java, and Python. The researchers trained TransCoder on a public GitHub corpus featuring more than 2.8 million open source repositories. To evaluate its capabilities, the researchers extracted 852 parallel functions in C++, Java, and Python from the online GeeksforGeeks platform and developed a new computational accuracy metric that tests whether hypothesis functions generate the same outputs as a reference when given the same inputs. Wrote the researchers, “TransCoder can easily be generalized to any programming language, does not require any expert knowledge, and outperforms commercial solutions by a large margin.”<br>
>>><br>
>>>   <br>
>>>   <br>
>>>   <br>
>>> Dr. Gregory Guthrie<br>
>>> Maharishi International University<br>
>>> ----------------------------------------------------------------<br>
>>>   <br>
>>><br>
>>><br>
>>> _______________________________________________<br>
>>> Haskell-Cafe mailing list<br>
>>> To (un)subscribe, modify options or view archives go to:<br>
>>><br>
>>> <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
>>><br>
>>> Only members subscribed via the mailman list are allowed to post.<br>
>>><br>
>> _______________________________________________<br>
>> Haskell-Cafe mailing list<br>
>> To (un)subscribe, modify options or view archives go to:<br>
>> <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
>> Only members subscribed via the mailman list are allowed to post.<br>
<br>
<br><br><br>---------- Forwarded message ----------<br>From: Henning Thielemann <<a href="mailto:lemming@henning-thielemann.de" target="_blank">lemming@henning-thielemann.de</a>><br>To: Gregory Guthrie <<a href="mailto:guthrie@miu.edu" target="_blank">guthrie@miu.edu</a>><br>Cc: <a href="mailto:haskell-cafe@haskell.org" target="_blank">haskell-cafe@haskell.org</a><br>Bcc: <br>Date: Fri, 12 Jun 2020 21:51:30 +0200 (CEST)<br>Subject: Re: [Haskell-cafe] transcoding - Haskell?!<br><br>
On Fri, 12 Jun 2020, Gregory Guthrie wrote:<br>
<br>
> I think it would choke on Haskell code!<br>
> <br>
> Haskell has so many language extensions and pragmas, and people use many <br>
> local extensions with monads to basically create DIY DSL’s – that the <br>
> code becomes very dense and context specific.<br>
<br>
It could have its use to convert legacy code in legacy languages to shiny <br>
new Haskell code. :-)_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature">  Pozdrawiam<br>    Michał</div>