{"id":8705,"date":"2020-05-28T20:55:57","date_gmt":"2020-05-29T00:55:57","guid":{"rendered":"http:\/\/esr.ibiblio.org\/?p=8705"},"modified":"2020-05-28T20:55:57","modified_gmt":"2020-05-29T00:55:57","slug":"looking-for-c-to-anything-transpilers","status":"publish","type":"post","link":"http:\/\/esr.ibiblio.org\/?p=8705","title":{"rendered":"Looking for C-to-anything transpilers"},"content":{"rendered":"\n<p>I&#8217;m looking for languages that have three properties:<\/p>\n\n\n\n<p>(1) Must have weak memory safety. The language is permitted to crash on an out -of-bounds array reference or null pointer, but may not corrupt or overwrite memory as a result.<\/p>\n\n\n\n<p>(2) Must have a transpiler from C that produces human-readable, maintainable code that preserves (non-perverse) comments.  The transpiler is allowed to not do a 100% job, but it must be the case that (a) the parts it does translate are correct, and (b) the amount of hand-fixup required to get to complete translation is small.<\/p>\n\n\n\n<p>(3) Must not be Go, Rust, Ada, or Nim.  I already know about these languages and their transpilers.<\/p>\n\n\n\n<p> <\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m looking for languages that have three properties: (1) Must have weak memory safety. The language is permitted to crash on an out -of-bounds array reference or null pointer, but may not corrupt or overwrite memory as a result. (2) Must have a transpiler from C that produces human-readable, maintainable code that preserves (non-perverse) comments.&hellip; <a class=\"more-link\" href=\"http:\/\/esr.ibiblio.org\/?p=8705\">Continue reading <span class=\"screen-reader-text\">Looking for C-to-anything transpilers<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[],"class_list":["post-8705","post","type-post","status-publish","format-standard","hentry","category-software","entry"],"_links":{"self":[{"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=\/wp\/v2\/posts\/8705","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8705"}],"version-history":[{"count":1,"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=\/wp\/v2\/posts\/8705\/revisions"}],"predecessor-version":[{"id":8706,"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=\/wp\/v2\/posts\/8705\/revisions\/8706"}],"wp:attachment":[{"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8705"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8705"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8705"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}