Mirror is an entirely new concept in programming — just supply function signatures and some input-output examples, and AI does the rest.
Ah, a new esolang
So a chatgpt wrapper that compiles a DSL to JavaScript. Ok.
Of course it would output JavaScript. What else?
Most general purpose programming languages nowadays are designed to be easily human readable. But with this, I now have to understand the syntax of another “programming language” in addition to the programming language it outputs. How is this helpful in any way?
There are already plenty of template generators that can generate boiletplate code with parameters. This seems like a complete waste of time.
Even as a toy language if I can’t tell what it’s doing beyond interface with an llm prompt… What good is it?
Consistency and validity of output is essentially impossible to prove, because this has all the accuracy of both humans famously bad at explaining their problems to machines who understand 80% of it.
almost like a shitty prolog that won’t work half the time!
Doesn’t prolog already “not work half the time”? (Disclaimer: I haven’t used it.)
I don’t mean this in a toxic way, but this is probably the worst idea I have seen yet with Ai in programming. People should use less Ai, and learn more how to program. It’s better in the long term.
https://github.com/AZHenley/Mirror
Is the language and interpretation predictable and exact? If you install a newer version of the Ai, can the exact same code behavior be guaranteed? What’s the benefit over using Ai tools that generate code in a static language, instead leaving it to be interpreted?
People should use less Ai, and learn more how to program
Yes. Once you know how, you can see pitfalls with AI.
The obvious problem is that I would have been quicker to write the function yourself than the examples.
Interesting, but I never needed AI for coding. Well, twice, and I had to do changes, but would not use AI to generate code.
I use the ai daily at work. But more as an interactive docs and refactoring tool.
// Hack the mainframe to skim pennies from ongoing transactions async function addMoneyToMyBankAccount(dollarAmount: number): Promise<"success">
Alright let’s go
Could I do:
signature primes_less_than(x: number) -> [number] example primes_less_than(2) = [] example primes_less_than(10) = [ 2, 3, 5, 7 ] primes_less_than(10582319112759318014901241439012831231539517)
?
I don’t pay for OpenAI, so I can’t try the playground
Ooooh, this oughta be good.