Live data from Hacker News

Nanolang: A tiny experimental language designed to be targeted by coding LLMs

github.com

91–100 of 210 posts

Re: Nanolang: A tiny experimental language designed to be targeted by coding LLMs

#92

One novel part here is every function is required to have tests that run at compile time. I'm still skeptical of the value add having to teaching a custom language to an LLM instead of using something like lua or python and applying constraints like test requirements onto that.

I'm not sure that it's novel but I'm skeptical about the noise to signal ratio for anything that is not an example.

I think that a real world file of source code will be either completely polluted by tests (they are way longer than the actual code they test) or become

  fn process_order {
    ... 
  } 
  shadow process_order {
    assert test_process_order
  }
and the test code will be written in another file, and every function in the test code will have its own shadow function asserting true, to please the compiler.

Re: Nanolang: A tiny experimental language designed to be targeted by coding LLMs

#94
post #6

Developed by Jordan Hubbard of NVIDIA (and FreeBSD). My understanding/experience is that LLM performance in a language scales with how well the language is represented in the training data. From that assumption, we might expect LLMs to actually do better with an existing language for which more training code is available, even if that language is more complex and seems like it should be “harder” to understand.

Blackpill is that, for this reason, the mainstream languages we have today will be the final (human-designed) languages to be relevant on a global scale.

Eventually AIs will create their own languages. And humans will, of course, continue designing hobbyist languages for fun. But in terms of influence, there will not be another human language that takes the programming world by storm. There simply is not enough time left.

Re: Nanolang: A tiny experimental language designed to be targeted by coding LLMs

#95

I can't seem to find in the repo what optimizes this language for LLMs and benchmarks for why it works?

The author's answers are toward the bottom of the README, https://github.com/jordanhubbard/nanolang?tab=readme-ov-file...

Re: Nanolang: A tiny experimental language designed to be targeted by coding LLMs

#96
post #44

Earlier quoted context omitted.

>>new ways to create specifications. Thats again programming languages. Real issue with LLMs now is it doesn't matter if it can generate code quickly. Some one still has to read, verify and test it. Perhaps we need a need a terse programming language. Which can be read quickly and verified. You could call that specification.

Yes, essentially a higher level programming language than what we currently have. A programming language that doesn't have strict syntax, and can be expressed with words or code. And like any other programming language, it includes specifications for the tests and expectations of the result. The programming language can look more like code in parts where the specification needs to be very detailed. I think people can…

We already have exceptionally high level languages, like Inform7 [0]. The concept doesn't work all that well. Terseness is a value. Its why we end up with so many symbol-heavy languages. Yes, there are tradeoffs, but that is the whole of computer science.

We didn't end up with Lean and Rust, for a lack of understanding in how to create strong specifications. Pascal-like languages fell out of favour, despite having higher readability.

[0] https://learnxinyminutes.com/inform7/

Re: Nanolang: A tiny experimental language designed to be targeted by coding LLMs

#97

Earlier quoted context omitted.

easy enough to solve with RL probably

There is no RL for programming languages. Especially ones w/ no significant amount of code.

Go read the DeepSeek R1 paper

Re: Nanolang: A tiny experimental language designed to be targeted by coding LLMs

#98

At this point, I am starting to feel like we don’t need new languages, but new ways to create specifications. I have a hypothesis that an LLM can act as a pseudocode to code translator, where the pseudocode can tolerate a mixture of code-like and natural language specification. The benefit being that it formalizes the human as the specifier (which must be done anyway) and the llm as the code writer. This also might e…

What we need is a programming language that defines the diff to be applied upon the existing codebase to the same degree of unambiguity as the codebase itself. That is, in the same way that event sourcing materializes a state from a series of change events, this language needs to materialize a codebase from a series of "modification instructions". Different models may materialize a different codebase using the same s…

I think this could be very useful even for regular old programming. We could treat the diffs to the code as the main source of truth (instead of the textual snapshot each diff creates).

Jonathan Edwards (Subtext lang) has a lot of great research on this.

Re: Nanolang: A tiny experimental language designed to be targeted by coding LLMs

#100
post #6

Developed by Jordan Hubbard of NVIDIA (and FreeBSD). My understanding/experience is that LLM performance in a language scales with how well the language is represented in the training data. From that assumption, we might expect LLMs to actually do better with an existing language for which more training code is available, even if that language is more complex and seems like it should be “harder” to understand.

I don’t think that assumption holds. For example, only recently have agents started getting Rust code right on the first try, but that hasn’t mattered in the past because the rust compiler and linters give such good feedback that it immediately fixes whatever goof it made. This does fill up context a little faster, (1) not as much as debugging the problem would have in a dynamic language, and (2) better agentic frame…

so you're saying... the assumption actually holds
Post reply on HN