logoalt Hacker News

An AI-first program synthesis framework built around a new programming language

108 pointsby toshlast Saturday at 3:36 PM19 commentsview on HN

Comments

duskwufflast Saturday at 11:29 PM

This article feels extremely imprecise. The syntax of the "language" changes from example to example, control structures like conditionals are expressed in English prose, some examples are solved by "do all the work for me" functions like the "toPdf()" example...

This whole thing feels like an elaborate LLM fantasy. Is there any real, usable language behind these examples, or is the author just role-playing with ChatGPT?

show 1 reply
AIPedantlast Saturday at 10:36 PM

I know ACM Queue is a non-peer-reviewed magazine for practitioners but this still feels like too much of an advertisement, without any attempt whatsoever to discuss downsides or limitations. This really doesn't inspire confidence:

  While this may seem like a whimsical example, it is not intrinsically easier or harder for an AI model compared to solving a real-world problem from a human perspective. The model processes both simple and complex problems using the same underlying mechanism. To lessen the cognitive load for the human reader, however, we will stick to simple targeted examples in this article.
For LLMs this is blatantly false - in fact asking about "used textbooks" instead of "apples" is measurably more likely to result in an error! Maybe the (deterministic, Prolog-style) Universalis language mitigates this. But since Automind (an LLM, I think) is responsible for pre/post validation, naively I would expect it to sometimes output incorrect Universalis code and incorrectly claim an assertion holds when it does not.

Maybe I am making a mountain out of a molehill but this bit about "lessen the cognitive load of the human reader" is kind of obnoxious. Show me how this handles a slightly nontrivial problem, don't assume I'm too stupid to understand it by trying to impress me with the happy path.

show 1 reply
sys13last Saturday at 5:57 PM

Glad to see focus being put on keeping humans in the drivers seat, democratizing coding with the help of AI. The syntax is probably still too verbose to be easily accessible, but I like the overall approach.

ethanwillislast Sunday at 5:27 AM

> Universalis ensures that even those with minimal experience in programming can perform advanced data manipulations.

Is it a good thing to make this easier? We're drowning in garbage already.

rvasalast Sunday at 8:07 AM

Great to start off ... then we will end-up reinventing/re-specifying functions for reusability, module/packages for higher-level grouping, types/classes, state machines, control-flows [with the nuances for edge cases and exit conditions], then we will need error control, exceptions; sooner or later concurrency, parallelism, data structures, recursion [lets throw in monads for the Haskellians amoung us]; who knows .. we may even end up with GOTOs peppered all over the English sentences [with global labels] & wake up to the scoping, parameter passing. We can have a whole lot of new fights if we need object-oriented programming; figure out new design patterns with special "Token Factory Factories".

We took a few decades to figure out how to specify & evolve current code to solve a certain class of problems [nothing is perfect .. but it seems to work at scale with trade-offs]. Shall watch this from a distance with pop-corn.

gavinraylast Sunday at 11:21 AM

  > "The actual implementation of Universalis uses Kotlin DataFrames"
Neat. My favorite talk at the 2025 Kotlin Conf was the demo of the new compiler plugin that allows ad-hoc type inference from DataFrame expressions.

Essentially, say that you have an input type like:

  type User { name: String, age: Int }
And you do something like ".map(it => { doubledAge: it.age * 2 })"

The inferred type of that intermediate operation is now:

  type User_synthetic { doubledAge: Int }
Which is wild, since you essentially have TypeScript-like inference in a JVM language.

Timestamp to talk:

https://www.youtube.com/watch?v=F5NaqGF9oT4&t=543s

pjmlplast Sunday at 10:51 AM

So after Haskell, and helping with LINQ, this is what Erik Meijer has been focusing on.