Re: Computing with sed: a compiler from python to sed

"Jim Hill [email protected] [sed-users]" <[email protected]> Sun, 28 Oct 2018 06:51:58 -0700
Newsgroups gmane.editors.sed.user
Message-ID <CAEE75_0ZfW-e18sD9DJsHLSkmwSkrVJ7JnfR-D7dCLdjhWtq4A@mail.gmail.com>
--L1DNTN0EtZgtjUIks3ldvn5ZayvDo9a8BoWdAVs
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Sun, Oct 28, 2018 at 5:39 AM [email protected] [sed-users]
<[email protected]> wrote:
> After my full implementation of sed in python (PythonSed https://github.c=
om/GillesArcas/PythonSed), I present to you my compiler from python to sed:=
 numsed https://github.com/GillesArcas/numsed.
>
>
> OK, a small subset of python but sufficient to express any integer calcul=
ation: all operations, assignments, conditionals, loops, functions (recursi=
on is supported) and printing. A lot of testing, including with examples fr=
om Project Euler. Testing is done by running the original python script and=
 the resulting sed script and comparing their results.

I've got nothing substantive to add, but this deserves a response.
Dude, this is Dwarf-Fortress-level insanity, _kudos_.  Tell us you've
managed to compile list comprehensions to `sed` and I'll flat-out
kowtow, I'll go so far as to clone it and spend the day studying it.

--L1DNTN0EtZgtjUIks3ldvn5ZayvDo9a8BoWdAVs
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit




<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
</head>






 
<body style="background-color: #fff;">
<span style="display:none">&nbsp;</span>

<!--~-|**|PrettyHtmlStartT|**|-~-->
<div id="ygrp-mlmsg" style="position:relative;">
  <div id="ygrp-msg" style="z-index: 1;">
<!--~-|**|PrettyHtmlEndT|**|-~-->

    <div id="ygrp-text" >
      
      
      <p>On Sun, Oct 28, 2018 at 5:39 AM [email protected] [sed-users]<br>
&lt;[email protected]&gt; wrote:<br>
&gt; After my full implementation of sed in python (PythonSed https://github.com/GillesArcas/PythonSed), I present to you my compiler from python to sed: numsed https://github.com/GillesArcas/numsed.<br>
&gt;<br>
&gt;<br>
&gt; OK, a small subset of python but sufficient to express any integer calculation: all operations, assignments, conditionals, loops, functions (recursion is supported) and printing. A lot of testing, including with examples from Project Euler. Testing is done by running the original python script and the resulting sed script and comparing their results.<br>
<br>
I&#39;ve got nothing substantive to add, but this deserves a response.<br>
Dude, this is Dwarf-Fortress-level insanity, _kudos_.  Tell us you&#39;ve<br>
managed to compile list comprehensions to `sed` and I&#39;ll flat-out<br>
kowtow, I&#39;ll go so far as to clone it and spend the day studying it.<br>
</p>

    </div>
     

    <!--~-|**|PrettyHtmlStart|**|-~-->
    <div style="color: #fff; height: 0;">__._,_.___</div>

          
  
 

    
    <div style="clear:both"> </div>

    <div id="fromDMARC" style="margin-top: 10px;">
        <hr style="height:2px ; border-width:0; color:#E3E3E3; background-color:#E3E3E3;">
        Posted by: Jim Hill &lt;[email protected]&gt;        <hr style="height:2px ; border-width:0; color:#E3E3E3; background-color:#E3E3E3;">
     </div>
    <div style="clear:both"> </div>

    <table cellspacing=4px style="margin-top: 10px; margin-bottom: 10px; color: #2D50FD;">
      <tbody>
        <tr>
          <td style="font-size: 12px; font-family: arial; font-weight: bold; padding: 7px 5px 5px;"  >
                          <a style="text-decoration: none; color: #2D50FD" href="https://groups.yahoo.com/neo/groups/sed-users/conversations/messages/9960;_ylc=X3oDMTJwYTNwcHJwBF9TAzk3MzU5NzE0BGdycElkAzI0ODk2MzkEZ3Jwc3BJZAMxNzA5MzM1MDAyBG1zZ0lkAzk5NjAEc2VjA2Z0cgRzbGsDcnBseQRzdGltZQMxNTQwNzM0NzMy?act=reply&messageNum=9960">Reply via web post</a>
                      </td>
          <td>&bull;</td>
          <td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px;" >
            <a href="mailto:[email protected]?subject=Re%3A%20Computing%20with%20sed%3A%20a%20compiler%20from%20python%20to%20sed" style="text-decoration: none; color: #2D50FD;">
               Reply to sender            </a>
          </td>
          <td>&bull;</td>
          <td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px;">
            <a href="mailto:[email protected]?subject=Re%3A%20Computing%20with%20sed%3A%20a%20compiler%20from%20python%20to%20sed" style="text-decoration: none; color: #2D50FD">
              Reply to group            </a>
          </td>
          <td>&bull;</td>
          <td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px;" >
            <a href="https://groups.yahoo.com/neo/groups/sed-users/conversations/newtopic;_ylc=X3oDMTJlZjNkbGIxBF9TAzk3MzU5NzE0BGdycElkAzI0ODk2MzkEZ3Jwc3BJZAMxNzA5MzM1MDAyBHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTU0MDczNDczMg--" style="text-decoration: none; color: #2D50FD">Start a New Topic</a>
          </td>
          <td>&bull;</td>
          <td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px;color: #2D50FD;" >
                            <a href="https://groups.yahoo.com/neo/groups/sed-users/conversations/topics/9959;_ylc=X3oDMTM0YmI0MGNtBF9TAzk3MzU5NzE0BGdycElkAzI0ODk2MzkEZ3Jwc3BJZAMxNzA5MzM1MDAyBG1zZ0lkAzk5NjAEc2VjA2Z0cgRzbGsDdnRwYwRzdGltZQMxNTQwNzM0NzMyBHRwY0lkAzk5NTk-" style="text-decoration: none; color: #2D50FD;">Messages in this topic</a>
                (2)
                      </td>
        </tr>
      </tbody>
    </table>

        
<div id="megaphoneModule">
            <hr style="height:2px ; border-width:0; color:#E3E3E3; background-color:#E3E3E3;">
        <div>
	     <div class="stream" style="margin-bottom:10px;">
        <div style="background-color:white;">
            <div class="sn-img" style="display:inline;"><img name="tn_file" style="padding:0px 10px;vertical-align:top;margin-top:5px;" src="https://s.yimg.com/ru/static/images/yg/img/megaphone/1464031581_phpFA8bON" height="82" width="82"></div>
            <div class="mod-txt" style="display:inline-block;">
                <a rel="nofollow" name="sub_url" target="_blank" href="https://yho.com/1wwmgg" style="color:#0000FF;display:block;margin-left:5px;text-decoration:none;"><span style="font-size:15px;">Have you tried the highest rated email app?</span></a>
                <div style="max-width:530px;padding:2px 5px;">With 4.5 stars in iTunes, the Yahoo Mail app is the highest rated email app on the market. What are you waiting for? Now you can access all your inboxes (Gmail, Outlook, AOL and more) in one place. Never delete an email again with 1000GB of free cloud storage.</div>
            </div>
        </div>
    </div>        </div>  
     
    <hr style="height:2px ; border-width:0; color:#E3E3E3; background-color:#E3E3E3;">
</div>

<!------- Start Nav Bar ------>


    <div id="ygrp-grfd" style="font-family: Verdana; font-size: 12px; padding: 15px 0;">
      
<!-- |**|begin egp html banner|**| -->

      -- <BR>
      
<!-- |**|end egp html banner|**| -->

    </div>
  

 

<!-- |**|begin egp html banner|**| -->
<div id="ygrp-vital" style="background-color: #f2f2f2; font-family: Verdana; font-size: 10px; margin-bottom: 10px; padding: 10px;">

    <span id="vithd" style="font-weight: bold; color: #333; text-transform: uppercase; "><a href="https://groups.yahoo.com/neo/groups/sed-users/info;_ylc=X3oDMTJlcGFvbnB0BF9TAzk3MzU5NzE0BGdycElkAzI0ODk2MzkEZ3Jwc3BJZAMxNzA5MzM1MDAyBHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTU0MDczNDczMg--" style="text-decoration: none;">Visit Your Group</a></span>

     <ul style="list-style-type: none; margin: 0; padding: 0; display: inline;">
            <li style="border-right: 1px solid #000; font-weight: 700; display: inline; padding: 0 5px; margin-left: 0;">
      <span class="cat"><a href="https://groups.yahoo.com/neo/groups/sed-users/members/all;_ylc=X3oDMTJmbDBjY3U4BF9TAzk3MzU5NzE0BGdycElkAzI0ODk2MzkEZ3Jwc3BJZAMxNzA5MzM1MDAyBHNlYwN2dGwEc2xrA3ZtYnJzBHN0aW1lAzE1NDA3MzQ3MzI-" style="text-decoration: none;">New Members</a></span>
      <span class="ct" style="color: #ff7900;">1</span>
    </li>
                                              </ul>
  </div>


<div id="ft" style="font-family: Arial; font-size: 11px; margin-top: 5px; padding: 0 2px 0 0; clear: both;">
  <a href="https://groups.yahoo.com/neo;_ylc=X3oDMTJkZzI4bDJmBF9TAzk3MzU5NzE0BGdycElkAzI0ODk2MzkEZ3Jwc3BJZAMxNzA5MzM1MDAyBHNlYwNmdHIEc2xrA2dmcARzdGltZQMxNTQwNzM0NzMy" style="float: left;"><img src="http://l.yimg.com/ru/static/images/yg/img/email/new_logo/logo-groups-137x15.png" height="15" width="137" alt="Yahoo! Groups" style="border: 0;"/></a>
  <div style="color: #747575; float: right;"> &bull; <a href="https://info.yahoo.com/privacy/us/yahoo/groups/details.html" style="text-decoration: none;">Privacy</a> &bull; <a href="mailto:[email protected]?subject=Unsubscribe" style="text-decoration: none;">Unsubscribe</a> &bull; <a href="https://info.yahoo.com/legal/us/yahoo/utos/terms/" style="text-decoration: none;">Terms of Use</a> </div>
</div>
<br>

<!-- |**|end egp html banner|**| -->

  </div> <!-- ygrp-msg -->

 
  <!-- Sponsor -->
  <!-- |**|begin egp html banner|**| -->
  <div id="ygrp-sponsor" style="width:160px; float:right; clear:none; margin:0 0 25px 0; background: #fff;">

<!-- Start Recommendations -->
<div id="ygrp-reco">
     </div>
<!-- End Recommendations -->

          
<!-- |**|begin egp html banner|**| -->

    <div id="ygrp-lc">
      <div id="hd">SPONSORED LINKS</div>
      <div id="lc">
        <div class="ad" style="color:#628C2A; font-family:Arial; font-weight:bold;">
                      <script type='text/javascript'>document.write('<a href="https://us.y.atwola.com/?adlink|5113.1|221794|0|16|AdId=-3;BnId=0;itime=734731490;kvmn=y100000;kvssp=brxd;kvpgcolo=bf1;kvadtc%5Fdvmktname=unknown;kvadtc%5Fdvosplt=unknown;kvadtc%5Fdvbrand=unknown;kvadtc%5Fdvtype=unknown;kvadtc%5Fdvmodel=unknown;kvrepo%5Fdvosplt=unknown;kvadtc%5Fdvosversion=UNKNOWN;kvadtc%5Fcrbrand=wifi%5Fus;kvadtc%5Fcrcountry=us;kvadtc%5Fcontype=wifi;gdpr=0;adclntid=1004;spaceid=1709335002;" target=_top><img src="https://aka-cdn.adtechus.com/images/ATCollapse.gif" border=0 alt="AOL Ad" width="1" height="1" ></a>');
  
</script>
<!--Pointguard Diagnostic Start {"FAC3.0":{
"FAC IP" : "98.139.15.52",
"AdPosition Name" : "LC1",
"sapyECPM" : "0",
"gemniECPM" : "0",
"oneMobileECPM" : "0",
"gd2NetCpm" : "0",
"issapyEmpty" : "true",
"SapyAdSize" : "",
"SapyCustomSection" : "",
"SapyUrl" : "",
" SapyFedStatus" : "federation is not configured for ad slot",
" FedStatus" : "federation is not configured for ad slot"
}-->                          <img alt="" width=1 height=1 src="http://us.adserver.yahoo.com/l?M=#26/D=yahoo/S=:LC1/A=1234567/rand=593858183">
                              </div>
        <div class="ad" style="color:#628C2A; font-family:Arial; font-weight:bold;">
                      <script type='text/javascript'>document.write('<a href="https://us.y.atwola.com/?adlink|5113.1|221794|0|16|AdId=-3;BnId=0;itime=734731493;kvmn=y100000;kvssp=brxd;kvpgcolo=bf1;kvadtc%5Fdvmktname=unknown;kvadtc%5Fdvosplt=unknown;kvadtc%5Fdvbrand=unknown;kvadtc%5Fdvtype=unknown;kvadtc%5Fdvmodel=unknown;kvrepo%5Fdvosplt=unknown;kvadtc%5Fdvosversion=UNKNOWN;kvadtc%5Fcrbrand=wifi%5Fus;kvadtc%5Fcrcountry=us;kvadtc%5Fcontype=wifi;gdpr=0;adclntid=1004;spaceid=1709335002;" target=_top><img src="https://aka-cdn.adtechus.com/images/ATCollapse.gif" border=0 alt="AOL Ad" width="1" height="1" ></a>');
  
</script>
<!--Pointguard Diagnostic Start {"FAC3.0":{
"FAC IP" : "98.139.15.52",
"AdPosition Name" : "LC2",
"sapyECPM" : "0",
"gemniECPM" : "0",
"oneMobileECPM" : "0",
"gd2NetCpm" : "0",
"issapyEmpty" : "true",
"SapyAdSize" : "",
"SapyCustomSection" : "",
"SapyUrl" : "",
" SapyFedStatus" : "federation is not configured for ad slot",
" FedStatus" : "federation is not configured for ad slot"
}-->                          <img alt="" width=1 height=1 src="http://us.adserver.yahoo.com/l?M=#26/D=yahoo/S=:LC2/A=1234567/rand=320523562">
                              </div>
        <div class="ad" style="color:#628C2A; font-family:Arial; font-weight:bold;">
                      <script type='text/javascript'>document.write('<a href="https://us.y.atwola.com/?adlink|5113.1|221794|0|16|AdId=-3;BnId=0;itime=734731495;kvmn=y100000;kvssp=brxd;kvpgcolo=bf1;kvadtc%5Fdvmktname=unknown;kvadtc%5Fdvosplt=unknown;kvadtc%5Fdvbrand=unknown;kvadtc%5Fdvtype=unknown;kvadtc%5Fdvmodel=unknown;kvrepo%5Fdvosplt=unknown;kvadtc%5Fdvosversion=UNKNOWN;kvadtc%5Fcrbrand=wifi%5Fus;kvadtc%5Fcrcountry=us;kvadtc%5Fcontype=wifi;gdpr=0;adclntid=1004;spaceid=1709335002;" target=_top><img src="https://aka-cdn.adtechus.com/images/ATCollapse.gif" border=0 alt="AOL Ad" width="1" height="1" ></a>');
  
</script>
<!--Pointguard Diagnostic Start {"FAC3.0":{
"FAC IP" : "98.139.15.52",
"AdPosition Name" : "LC3",
"sapyECPM" : "0",
"gemniECPM" : "0",
"oneMobileECPM" : "0",
"gd2NetCpm" : "0",
"issapyEmpty" : "true",
"SapyAdSize" : "",
"SapyCustomSection" : "",
"SapyUrl" : "",
" SapyFedStatus" : "federation is not configured for ad slot",
" FedStatus" : "federation is not configured for ad slot"
}-->                          <img alt="" width=1 height=1 src="http://us.adserver.yahoo.com/l?M=#26/D=yahoo/S=:LC3/A=1234567/rand=717129252">
                              </div>
      </div>
    </div>
    
<!-- |**|end egp html banner|**| -->

  

  </div>   <!-- |**|end egp html banner|**| -->

  <div style="clear:both; color: #FFF; font-size:1px;">.</div>
</div>

  <img src="http://geo.yahoo.com/serv?s=97359714/grpId=2489639/grpspId=1709335002/msgId=9960/stime=1540734732/nc1=1234567/nc2=2/nc3=3" width="1" height="1"> <br>

<img src="http://y.analytics.yahoo.com/fpc.pl?ywarid=515FB27823A7407E&a=10001310322279&js=no&resp=img&cf12=CP" width="1" height="1"> 

<div style="color: #fff; height: 0;">__,_._,___</div>
<!--~-|**|PrettyHtmlEnd|**|-~-->

</body>

<!--~-|**|PrettyHtmlStart|**|-~-->
<head>
  <style type="text/css">
  <!--
  #ygrp-mkp {
  border: 1px solid #d8d8d8;
  font-family: Arial;
  margin: 10px 0;
  padding: 0 10px;
}

#ygrp-mkp hr {
  border: 1px solid #d8d8d8;
}

#ygrp-mkp #hd {
  color: #628c2a;
  font-size: 85%;
  font-weight: 700;
  line-height: 122%;
  margin: 10px 0;
}

#ygrp-mkp #ads {
  margin-bottom: 10px;
}

#ygrp-mkp .ad {
  padding: 0 0;
}

#ygrp-mkp .ad p {
  margin: 0;
}

#ygrp-mkp .ad a {
  color: #0000ff;
  text-decoration: none;
}
  #ygrp-sponsor #ygrp-lc {
  font-family: Arial;
}

#ygrp-sponsor #ygrp-lc #hd {
  margin: 10px 0px;
  font-weight: 700;
  font-size: 78%;
  line-height: 122%;
}

#ygrp-sponsor #ygrp-lc .ad {
  margin-bottom: 10px;
  padding: 0 0;
}

  #actions {
    font-family: Verdana;
    font-size: 11px;
    padding: 10px 0;
  }

  #activity {
    background-color: #e0ecee;
    float: left;
    font-family: Verdana;
    font-size: 10px;
    padding: 10px;
  }

  #activity span {
    font-weight: 700;
  }

  #activity span:first-child {
    text-transform: uppercase;
  }

  #activity span a {
    color: #5085b6;
    text-decoration: none;
  }

  #activity span span {
    color: #ff7900;
  }

  #activity span .underline {
    text-decoration: underline;
  }

  .attach {
    clear: both;
    display: table;
    font-family: Arial;
    font-size: 12px;
    padding: 10px 0;
    width: 400px;
  }

  .attach div a {
    text-decoration: none;
  }

  .attach img {
    border: none;
    padding-right: 5px;
  }

  .attach label {
    display: block;
    margin-bottom: 5px;
  }

  .attach label a {
    text-decoration: none;
  }
  
  blockquote {
    margin: 0 0 0 4px;
  }

  .bold {
    font-family: Arial;
    font-size: 13px;
    font-weight: 700;
  }

  .bold a {
    text-decoration: none;
  }

  dd.last p a {
    font-family: Verdana;
    font-weight: 700;
  }

  dd.last p span {
    margin-right: 10px;
    font-family: Verdana;
    font-weight: 700;
  }

  dd.last p span.yshortcuts {
    margin-right: 0;
  }

  div.attach-table div div a {
    text-decoration: none;
  }

  div.attach-table {
    width: 400px;
  }

  div.file-title a, div.file-title a:active, div.file-title a:hover, div.file-title a:visited {
    text-decoration: none;
  }

  div.photo-title a, div.photo-title a:active, div.photo-title a:hover, div.photo-title a:visited {
    text-decoration: none;
  }

  div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts {
    font-family: Verdana;
    font-size: 10px;
    font-weight: normal;
  }

  .green {
    color: #628c2a;
  }

  .MsoNormal {
    margin: 0 0 0 0;
  }

  o {
    font-size: 0;
  }

  #photos div {
    float: left;
    width: 72px;
  }

  #photos div div {
    border: 1px solid #666666;
    height: 62px;
    overflow: hidden;
    width: 62px;
  }

  #photos div label {
    color: #666666;
    font-size: 10px;
    overflow: hidden;
    text-align: center;
    white-space: nowrap;
    width: 64px;
  }

  #reco-category {
    font-size: 77%;
  }

  #reco-desc {
    font-size: 77%;
  }

  .replbq {
    margin: 4px;
  }

  #ygrp-actbar div a:first-child {
   /* border-right: 0px solid #000;*/
    margin-right: 2px;
    padding-right: 5px;
  }

  #ygrp-mlmsg {
    font-size: 13px;
    font-family: Arial, helvetica,clean, sans-serif;
    *font-size: small;
    *font: x-small;
  }

  #ygrp-mlmsg table {
    font-size: inherit;
    font: 100%;
  }

  #ygrp-mlmsg select, input, textarea {
    font: 99% Arial, Helvetica, clean, sans-serif;
  }

  #ygrp-mlmsg pre, code {
    font:115% monospace;
    *font-size:100%;
  }

  #ygrp-mlmsg * {
    line-height: 1.22em;
  }

  #ygrp-mlmsg #logo {
    padding-bottom: 10px;
  }


  #ygrp-msg p a {
    font-family: Verdana;
  }

  #ygrp-msg p#attach-count span {
    color: #1E66AE;
    font-weight: 700;
  }

  #ygrp-reco #reco-head {
    color: #ff7900;
    font-weight: 700;
  }

  #ygrp-reco {
    margin-bottom: 20px;
    padding: 0px;
  }

  #ygrp-sponsor #ov li a {
    font-size: 130%;
    text-decoration: none;
  }

  #ygrp-sponsor #ov li {
    font-size: 77%;
    list-style-type: square;
    padding: 6px 0;
  } 

  #ygrp-sponsor #ov ul {
    margin: 0;
    padding: 0 0 0 8px;
  }

  #ygrp-text {
    font-family: Georgia;
  }

  #ygrp-text p {
    margin: 0 0 1em 0;
  }

  #ygrp-text tt {
    font-size: 120%;
  }

  #ygrp-vital ul li:last-child {
    border-right: none !important; 
  } 
  -->
  </style>
</head>

<!--~-|**|PrettyHtmlEnd|**|-~-->
</html>
<!-- end group email -->


--L1DNTN0EtZgtjUIks3ldvn5ZayvDo9a8BoWdAVs--