[HN Gopher] AI converts between hundreds of programming languages ___________________________________________________________________ AI converts between hundreds of programming languages Author : yodon Score : 34 points Date : 2022-09-29 20:48 UTC (2 hours ago) (HTM) web link (codelanguageconverter.com) (TXT) w3m dump (codelanguageconverter.com) | dleslie wrote: | I think I broke it. Input: TypeScript | Output: QuakeC Code: Sample 3 | | Seems to spin forever. (Which makes sense, as QuakeC is incapable | of the constructs in Sample 3). | | Edit: after a few minutes spinning it's... Spewing a lot of | nonsense. It seems to be dumping every variable combination it | can "think" of that it has seen in QuakeC. | UncleOxidant wrote: | I think maybe they're being a bit too ambitious by trying to | cover so many languages. Obscure languages won't have nearly as | many examples to train on. | adamwk wrote: | Prolog also seems to be broken; it keeps importing modules over | and over | mmarx wrote: | TypeScript to Fortran is also broken, generating lots of | dlopen/dlsym/dlclose calls (one for every variable, it seems), | but never actually doing anything else with it. | | For what it's worth, Sample 2 generates syntactically invalid | code, having `:` instead of `::`. Sample 1 is actually working | code (but relies on the implicit typing rules, which gives you | the default real kind instead of double precision reals). | Interestingly, translating Sample 1 from Rust to Fortran | suddenly generates a subroutine instead of a function, but does | generate types. | dkroy wrote: | When trying Sample Code 3 converting the TypeScript to Python the | conversion was incorrect. Probably worth swapping that out for | another sample if the owner is in this thread. As I was writing | this I noticed that this wasn't a Show HN post. | arriu wrote: | Sample 2, typescript to c++: infinite loop. It just keeps | spitting out code | lofatdairy wrote: | What's weird is that it starts generating a function to print | out its parameters in ts then immediately translates it to cpp, | both initiated with comment lines which seems similar to | copilot. | version_five wrote: | Just tried the default example from C to Forth. It gave an answer | but also appended two other commented Forth functions to it. | | Also, this almost immediately adds a signup wall _not for the | real product, but to the little demo box on the home page_ that | makes it not worth playing with | Sirened wrote: | finally: fully automated memory corruption | cleandreams wrote: | I have written translators and they are really hard. I think | training on code bases is the way to go but I am skeptical | overall that it is even worth the effort. The problem is that the | translation doesn't get you all the way there. The code produced | is buggy and wrong in most cases. You probably get a better | result from re-designing and re-implementing. | | I wonder what the data being trained on even is. It has to | include successful translations, right? There are not many of | those. Not enough for a good result. | andrewstuart wrote: | Asking me to sign up just to give it a little try made be hit the | close tab button real fast. | awb wrote: | Interesting going from untyped languages to typed languages, as | an inference needs to be made. | | For example, in JavaScript: | | function add(a, b) { return a + b; | | } | | converting to Go, it becomes: | | func add(a int, b int) int { return a + b | | } | | Where as the original JS version works with integers, floats, | strings, arrays, etc. | danielvaughn wrote: | I just want AI that will write a unit test for me. | hleszek wrote: | What a good idea! It could also relatively easily verify if | it's correct and only return a result when the test is passing | and all the lines (or even paths) are covered. | ben_w wrote: | I'm remembering a joke from my childhood. | | Guy is in a computer store. Salesman says "This will halve your | workload". Guy says "Great, I'll buy two!" | | We're nearly there now. | MauranKilom wrote: | Tried pasting a big piece of code. "Whoah, that's big, try | something smaller." Ok, paste small snippet of code. Click | "translate". "Sign up first". Urgh, fine, this looks just about | exiting enough to try, but barely so. | | After signing up, I have zero credits, without a single | translation performed. I mean, not that I expect free lunch, but | I'm also not gonna pay money before seeing a single 10 line | example. | lofatdairy wrote: | At least the samples seem legit, in the sense that some break | the algorithm badly enough that we can be confident they | weren't hard-coded lol. | probably_a_gpt wrote: | aerovistae wrote: | Ah damn I ran out of free credits after like 2 basic runs. | | Definitely not enough of a taste to convince me to spend money on | this. Might want to adjust that freemium model. | | It's a cool idea for sure and could definitely be useful though. ___________________________________________________________________ (page generated 2022-09-29 23:00 UTC)