Live data from Hacker News

LLMs pose an interesting problem for DSL designers

kirancodes.me

91–100 of 157 posts

Re: LLMs pose an interesting problem for DSL designers

#91
I wonder if this will be temporary?

As AI systems improve, and especially as they add more 'self-play' in training, they might become really good at working in any language you can throw at some.

(To expand on the self-play aspect: when training you might want to create extra training data by randomly creating new 'fake' programming languages and letting it solve problems in them. It's just another way to add more training data.)

In any case, if you use an embedded DSL, like is already commonly done in Haskell, the LLMs should still give you good performance. In some sense, an 'embedded DSL' is just fancy name for a library in a specific style.

Re: LLMs pose an interesting problem for DSL designers

#92

Earlier quoted context omitted.

If someone's not using LLMs yet in 2025 to write code they're basically Amish. They're riding a horse in the age of automobiles, just because they think they're more comfortable on horseback, while they've never been in a car even once.

AI bros sound like NFT bros.

0.0001% of investors did NFTs. 99.999% of devs do LLMs.

Re: LLMs pose an interesting problem for DSL designers

#93
I, too, wrote a rambling take on the potential for LLM-induced stack ossification about 6 months ago: https://paritybits.me/stack-ossification/

At the time, I had given in to Claude 3.5's preference for python when spinning up my first substantive vibe-coded app. I'd never written a line of python before or since, but I just let the waves carry me. Claude and I vibed ourselves into a corner, and given my ignorance, I gave up on fixing things and declared the software done as-is. I'm now the proud owner of a tiny monstrosity that I completely depend on - my own local whisper dictation app with a system tray.

I've continued to think about stack ossification since. Still feels possible, given my recent frustration trying to use animejs v4 via an LLMs. There's a substantial api change between animejs v3 and v4, and no amount of direction or documentation placed in context could stop models from writing against the v3 api.

I see two ways out of the ossification attractor.

The obvious, passive, way out: frontier models cross a chasm with respect to 'putting aside' internalized knowledge (from the training data) in favor of in-context directions or some documentation-RAG solutions. I'm not terribly optimistic here - these models are hip-shooters by nature, and it feels to me that as they get smarter, this reflex feels stronger rather than weaker. Though: Sonnet 4 is generally a better instruction-follower than 3.7, so maybe.

The less obvious way out, which I hope someone is working on, is something like massive model-merging based on many cached micro fine-tunes against specific dependency versions, so that each workspace context can call out to modestly customized LLMs (LoRA style) where usage of incorrect versions of your dependencies has specifically been fine-tuned out.

Re: LLMs pose an interesting problem for DSL designers

#94

Me thinking, is it time for a new 'programming' language for LLM to use instead of tools API calls? Something high level with loose grammar, in between natural language and strict programming. Then the backend, may be another smaller model, translates it in API calls. With this approach backend can be improved and updated much faster and cheaper then LLM model.

Lisp returns as the programming language for AI!

Re: LLMs pose an interesting problem for DSL designers

#95
> Language Design Direction 1: Teaching LLMs about DSLs (through Python?)

This is what I've been focused on last few years with a bit of Direction 3 via

  python -> smt2 -> z3 -> verified rust
Perhaps a diffusion model for programming can be thought of as:

requirements -> design -> design by contract -> subset of python -> gc capable language (a fork of golang with ML features?) -> low level compiled language (rust, zig or C++)

As you go from left to right, there is an increasing level of detail the programmer has to worry about. The trick is to pick the right level of detail for a task.

Previous writing: https://adsharma.github.io/agentic-transpilers/

Re: LLMs pose an interesting problem for DSL designers

#96
post #46

People often use the analogy of LLMs being to high-level languages what compilers were for assembly languages, and despite being a terrible analogy there's no guarantee it won't eventually be largely true in practice. And if it does come true, consider how the advent of the compiler completely eliminated any incentive to improve the ergonomics or usability of assembly code, which has been and continues to be absolute…

An ignorant perspective, from someone likely hasn't coded assembly ever. Assembly is tied to the system you target and it can't really be "improved". You can however improve ergonomics greatly via macros and everyone does this.

> Assembly is tied to the system you target and it can't really be "improved".

Of course it can. There's no reason for modern extensions to keep pumping out instructions named things like "VCTTPS2DQ" other than an adherence to cryptic tradition and a confidence that the people who read assembly code are poor saps who don't matter in the grand scheme of the industry, which is precisely my point. And even if x86 was set in stone centuries ago, there's no excuse for modern ISAs to follow suit other than complete apathy over the DX of assembly, and who can blame them?

> You can however improve ergonomics greatly via macros and everyone does this.

Yes, and surely you see how the existence of macro assemblers strengthens my argument?

Re: LLMs pose an interesting problem for DSL designers

#97

Python increase in Tiobe index is scary: https://www.tiobe.com/tiobe-index/

This is actually a great site; it feels much more representative of what I actually see in job ads and the real world than some other rankings. If all I did was browse HN all day I'd think Rust is the only language people use for new projects

Re: LLMs pose an interesting problem for DSL designers

#98
In the LLM era, building a brand-new DSL feels unnecessary. DSLs used to make sense because they gave you a compact, domain-specific syntax that simple parsers could handle. But modern language models can already read, write, and explain mainstream languages effortlessly, and the tooling around those languages—REPLs, compilers, debuggers, libraries—is miles ahead of anything you’d roll on your own. So rather than inventing yet another mini-language, just leverage a well-established one and let the LLM (plus its mature ecosystem) do the heavy lifting.

Re: LLMs pose an interesting problem for DSL designers

#99
> Let's start with what I see as the biggest problem that the introduction of LLMs is presenting to language design: everything is easier in Python.

This is so true.

A couple months ago I was trying to use LLMs to come up with code to parse some semi-structured textual data based on a brief description from the user.

I didn't want to just ask the LLM to extract the information in a structured format as this would make it extremely slow when there's a lot data to parse.

My idea was, why not ask the LLM to come with a script that does the job. Kind of "compiling" what the user asks into a deterministic piece of code that will also be efficient. The LLM just has to figure out the structure and write some code to exploit it.

I also had the bright idea to define a DSL for parsing, instead of asking the LLM to write a python script. A simple DSL for a very specific task should be better than using something like Python in terms of generating correct scripts.

I defined the DSL, created the grammar and an interpreter and I started feeding the grammar definition to the LLM when I was prompting it to do the work I needed.

The result was underwhelming and also hilarious at some times. When I decided to build a loop and feed the model with the errors and ask to correct the script, I ended up sometimes having the model returning back python scripts, ignoring completely the instructions.

As the author said, everything is easier in Python, especially if you are a large language model!

Re: LLMs pose an interesting problem for DSL designers

#100

Earlier quoted context omitted.

Skynet will be run on C

This is an interesting idea actually, if we assume a couple things: - There likely won't be one Skynet, but rather multiple AI's, produced by various sponsors, starting out as relatively harmless autonomous agents in corporate competition with each other - AI agents can only inference, then read and write output tokens at a limited rate based on how fast the infrastructure that powers the agent can run In this scenar…

> There likely won't be one Skynet, but rather multiple AI's, produced by various sponsors, starting out as relatively harmless autonomous agents in corporate competition with each other

This is kind of how Skynet begins in the TV series Terminator: The Sarah Connor Chronicles. It takes place after the 2nd movie in an alternate timeline from the 3rd movie (and establishes itself how that's possible without contradiction).

Specific examples I remember: A chess machine for the brain, traffic light cameras for the eyes and ears, a repurposed factory to build the terminators themselves. The series is about the Connors getting information from the future and going on the offensive to prevent Skynet from forming.

Post reply on HN