Nanolang: A tiny experimental language designed to be targeted by coding LLMs
91–100 of 210 posts
Re: Nanolang: A tiny experimental language designed to be targeted by coding LLMs
#92One 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 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
#93Re: Nanolang: A tiny experimental language designed to be targeted by coding LLMs
#94Developed 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.
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
#95I can't seem to find in the repo what optimizes this language for LLMs and benchmarks for why it works?
Re: Nanolang: A tiny experimental language designed to be targeted by coding LLMs
#96Earlier 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 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.
Re: Nanolang: A tiny experimental language designed to be targeted by coding LLMs
#97Re: Nanolang: A tiny experimental language designed to be targeted by coding LLMs
#98At 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…
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
#99Re: Nanolang: A tiny experimental language designed to be targeted by coding LLMs
#100Developed 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…