Advanced coding in low-resource programming languages
Posted by sumnole 1 day ago
Comments
Comment by raphlinus 1 day ago
Dan Luu has done that kind of evaluation[2], and found that LLMs do well in a range of languages, but do underperform in assembler. My hypothesis is that expressing programmer intent clearly, and having the compiler verify things like consistent placement of variables in registers, will fix the problems that hold LLMs back.
This has been a hobby project, but it feels ready to break containment. I'm open to a research opportunity where I'd be able to work on it for real - get in touch.
[0]: https://github.com/raphlinus/symbolasm
Comment by ACCount39 1 day ago
I think it's a very promising approach - it makes assembly a lot more intuitive, especially to people with background in higher level languages. It makes listings far more immediately readable, even without memorizing every instruction mnemonic. But it just came in too late. By the time Blackfin happened, coding in assembly was firmly an afterthought.
I'd like it to succeed, but I have my doubts that it will.
Comment by jaen 18 hours ago
R0 = R1 + R2
[1]: https://en.wikipedia.org/wiki/Blackfin#Core_featuresComment by raphlinus 1 day ago
Time is a circle. Assembler could come back if it's an appealing target for LLMs. Currently it's not, but that's my hypothesis.
Comment by ACCount39 1 day ago
But that's a bit of a problem too?
Because, unlike humans, LLMs have no trouble whatsoever recalling all the mnemonics. Hell, they can often recall all the opcodes and encodings too and disassemble from hex "manually".
So if the primary advantage of this syntax is better human-readability and human-understandability? The need for it in a future where low level assembly routines are written by LLMs in a perf evaluation loop isn't that great.
Comment by ithkuil 1 day ago
Or it is a self-similar fractal with significant and interesting variations
Comment by sehugg 1 day ago
People have ported Atari 2600 games to it with the resulting ROM being byte-exact.
Comment by raphlinus 1 day ago
The main difference is that it primarily targets 8-bit chips, so often has to expand a statement into multiple instructions, while I'm targeting ARM, which can get quite a lot done in a single instruction. But I absolutely will cite it as precedent.
Comment by sehugg 1 day ago
Assembly with an effect system and flow typing.
Comment by Conscat 1 day ago
Comment by kamma4434 1 day ago
Of course, the same issue exist in any compile language, say C, but you don’t expect to see C in a disassembly. Here you are working at the assembly level.
Comment by raphlinus 1 day ago
* It's possible to embed variable names into the debug info, so your debugger inspects those rather than just numbered registers.
* Optimizing compilers can do transformations which highly obscure the relationship between source and binary code. Here they closely match.
Thanks for your interest!
Comment by dooglius 1 day ago
Comment by dist-epoch 1 day ago
Comment by giancarlostoro 1 day ago
In fact, because of these niche Shockwave communities, and they've admitted to it, the Habbo Origins client was able to be made. That effort was spearheaded by a player who reverse engineered their backend for years, and eventually built up a decompiler for Shockwave, and made their own game client run as a stand-alone EXE (Projector Mode for Shockwave iirc) which is what Origins did.
More recently, a project named "Shockless" emerged that took the Shockwave client for Habbo Origins, and rebuilt it in JS w/ PixiJS (I think?) in order to be a more special-purpose Shockwave runtime. Some months later (this month I think), Sulake released Keystone a new Origins client, essentially doing the same thing, itself coded in C++ but it looks like it took a very closely similar approach. Really fascinating seeing LLMs push reverse engineering communities forward to help preserve old tech and games, and in some cases, niche games forward from the grave.
I think the frontier LLMs have finally gotten to the point they can sort of pick up the syntax on the fly.
I made my own .NET based language using Opus 4.6 and it knew how to write code for it, since the rules were in the context window. I havent gone back to that project, since I've been trying to build other more ambitious projects, but its impressive how much LLMs can pull off as of early this year.
It is funny to me they mention Visual Basic, I've been on and off experimenting with rebuilding the VB6 IDE and eventually its compiler with a modern runtime using Claude, I've got a good chunk of the IDE, and I can load forms, I can even call VB6.exe to compile if you have it installed, but I had to pause since my old college copy of VB6 is kinda busted (I misconfigured something somewhere and it keeps crashing when I open a project).
Comment by sara_kumodeck 1 day ago
Comment by nicfio 1 day ago
Comment by zamalek 6 hours ago
These models have the entirety of the SQLite source, and likely history, in their pre-training corpus (and possibly in other training phases too).
Benchmarks shine when they ask LLMs to color outside of the lines, for example: https://www.scbench.ai/
Comment by so-cal-schemer 11 hours ago
Or does it? Why did COBOL lag so much?
I suppose I would like to see tests on a wider assortment of languages now. I'd especially like to see it tested on more esoteric ones.
Comment by vegnus 1 day ago
Comment by ch4s3 1 day ago
Comment by NooneAtAll3 1 day ago
Comment by ch4s3 21 hours ago
[1] https://github.com/march-language/march/blob/main/.claude/sk...
[2] https://github.com/march-language/march/blob/main/.claude/sk...
[3] https://github.com/march-language/march/blob/main/.claude/sk...
Comment by rurban 8 hours ago
Comment by armchairhacker 11 hours ago
Comment by kang 1 day ago
Comment by Bolwin 17 hours ago
Comment by so-cal-schemer 11 hours ago
Comment by kragen 1 day ago
Comment by anonymous908213 1 day ago
Comment by favorited 1 day ago
Comment by fp64 1 day ago
Comment by anonymous908213 1 day ago
For an individual, but for OpenAI this would be a trivial marketing expense. The purpose is not actually to replace SQLite but to be able to claim your software is capable of it, to perpetuate the ongoing mania.
Comment by dist-epoch 1 day ago
Comment by kragen 1 day ago
I mean, if you had said they definitely would not be able to do this, I would also have thought you were probably kind of stupid. But we're definitely on the path that looks like AIs keep getting smarter with no limit in sight.
Comment by anonymous908213 1 day ago
Comment by kragen 1 day ago
You cannot seriously think that this is relevant. You're just enacting an unthinking conditioned response of replying with that comic to cases where people can't tell when an increasing quantity is going to stop increasing, even though you can't tell either.
Comment by otabdeveloper4 1 day ago
It's like a doomsday cult in reverse.
Comment by sarchertech 1 day ago
Comment by spacedcowboy 1 day ago
I'd point you here: https://news.ycombinator.com/item?id=50151160 for a real C compiler that autovectorises onto the GPU. Or multiple GPUs, or a network of multiple GPUs.
Of course, this wasn't just "hey Claude, write me a compiler, make it rad, yo" - it's been a 6-month long slog, albeit miniscule in comparison to doing it without the LLM.
Comment by kragen 1 day ago
Comment by sarchertech 1 day ago
Comment by kragen 1 day ago
Comment by sarchertech 1 day ago
Comment by remexre 1 day ago
Comment by fnordpiglet 1 day ago
Comment by Negitivefrags 1 day ago
Comment by wiseowise 1 day ago
Comment by pjmlp 1 day ago
There is a reason many folks rather use fish shell or Xonsh, instead of classic UNIX shells.
Comment by wiseowise 1 day ago
Comment by pjmlp 1 day ago
https://devblogs.microsoft.com/dotnet/announcing-dotnet-run-...
Comment by dist-epoch 1 day ago
Comment by vatsachak 1 day ago
Comment by devin 1 day ago
Comment by bunderbunder 1 day ago
Comment by so-cal-schemer 11 hours ago
I'm surprised it did so poorly on COBOL.
How does it do on other esoteric languages or a newly made up one?
Re: Clojure, this test does show it performs about as well with Common Lisp as the others. I would expect it can handle other Lisps as well. They can all generally be thought of as extensions of a proto-Lisp.
Comment by Tanjreeve 1 day ago
Comment by woadwarrior01 1 day ago
Comment by maest 1 day ago
Comment by winwang 1 day ago
Comment by dist-epoch 1 day ago
Comment by vatsachak 1 day ago
Comment by NooneAtAll3 1 day ago
Comment by ysoftware 1 day ago
Comment by aleph_minus_one 1 day ago
Comment by kristjansson 1 day ago
Comment by aleph_minus_one 1 day ago
I would be much more interested in seeing an implementation in Nock ([1], see also [2]).
---
Comment by dist-epoch 1 day ago
In .BAT
Comment by LoganDark 1 day ago
Reminds me of how Wall Street Raider [0] just simulates the original code instead of rewriting it.
Comment by etchalon 1 day ago
Comment by 4b11b4 1 day ago
Comment by gonzalohm 1 day ago
Comment by olmo23 1 day ago
> You prefer a changing codebase over something that has evolved and is being tested over a long period of time?
As long as the test-cases are there, why would I care what language software is written in?
Comment by gchamonlive 1 day ago
Comment by gonzalohm 1 day ago
Comment by malisper 1 day ago
I would much prefer it to be easy to change a codebase and for people to make lots of changes to their codebase than for people to stick with whatever they built up front
Comment by awongh 1 day ago
Comment by etchalon 1 day ago
Comment by retrac 1 day ago
I'm reminded of the software for the Gemini spacecraft. Does it still exist? We don't have any assembly or machine code. But much like today in the '60s the designers of the flight software, considered the assembly output to be an intermediate stage - a kind of temporary mapping from the real program. The real program was designed in "Math Flow 7" - a visual flowchart language for expressing logic. We still have the charts. Does that mean we still have the software? Is the set of charts the software?
Comment by mrheosuper 1 day ago
Comment by wiseowise 1 day ago
Comment by srivarun96 1 day ago
Comment by manmal 1 day ago
Comment by Procrastes 1 day ago
Comment by wiseowise 1 day ago
Because you don’t have an infrastructure to test all platforms and want to actually execute your code instead of waiting a decade until compiler is done?
Comment by wannabe44 1 day ago
Comment by Razengan 1 day ago
The fragmentation between programming languages and proprietary operating systems is exactly what hindered that optimism from coming true.
Comment by anonymous908213 1 day ago
Can we not vibe code foundational bank infrastructure and nuclear reactor safety software? Pretty please?
Comment by onlyrealcuzzo 1 day ago
Comment by npalli 1 day ago
Comment by liendolucas 1 day ago
Comment by AlexCoventry 1 day ago
https://en.technosotnya.com/2026/10/openai-55-ai-models-f35....
Comment by joshAg 1 day ago
Comment by mirror_dude 1 day ago
Comment by AnimalMuppet 1 day ago
No, I don't want vibe-coded bank infrastructure. Yes, I do want LLMs that can work with COBOL.
Comment by bayindirh 1 day ago
How can you power the "rogue" AI infrastructure and mistakenly funnel the funds needed for the operation otherwise?
Matrix needs energy, Matrix needs money.
VIBE CODE ALL THE TIHNGS! /s
Comment by waldrews 1 day ago
Comment by sdeframond 1 day ago
Comment by bayindirh 1 day ago
Comment by tester756 1 day ago
Comment by rickcarlino 1 day ago
Comment by so-cal-schemer 11 hours ago