zak

joined 1 month ago
[–] zak@blog.goodanser.com 13 points 2 days ago* (last edited 2 days ago)

No.

-- Sent from my self-hosted Wafrn blog.

@fediverse@lemmy.world @Nytefyre@piefed.social

[–] zak@blog.goodanser.com 1 points 4 weeks ago

Nobody knowing the language was a temporary state. I know it now, and there are up-to-date docs. Creating a language nobody knows has never been a goal, and would be a silly thing to do at best.

@programming@programming.dev @Auster@thebrainbin.org

 

Running Code in a Programming Language Nobody Knows

Last month, I ran code in a programming language that nobody knew.

I'm not the first to do a thing like that. Ben Olmstead created Malbolge in 1998. It's a deliberately incomprehensible programming language that's likely impossible for anyone to really know; it took a search algorithm to generate the first program for it. Finding examples of an old, obscure language with no surviving practitioners is another potential method I imagine has been done a few times.

Nobody had ever known Nucleus when its compiler bootstrapped. Since it's 2026, I imagine many readers have already guessed large language models were involved. I gave a sample program and output to an LLM tool and told it to write a compiler in C. I then told the tool to add features to the language until it could rewrite the Nucleus compiler in Nucleus, resulting in a language that I did not know. LLMs do not "know" things and aren't somebody, so at that point, nobody knew Nucleus, yet there were about 4000 lines of it running in the compiler, able to produce real binaries that run on real computers.

Someone I mentioned this to asked why I would want to design a programming language without designing a programming language. I don't actually want to do that, but just as the compiler needed an initial implementation in another language in order to bootstrap, I found it much easier to work from a minimal working language than a blank slate. I had the idea for Nucleus for a long time and have not yet read the Dragon Book and written a compiler from scratch like I told myself I was going to.

As for the language itself, the basic idea is a language for manipulating memory at a low level like C, but with Lisp-like syntax and structural macros providing compile-time abstractions and safety-enhancing constructs with no runtime overhead. By the time it hits 1.0, Nucleus should be usable as a drop-in replacement for C anywhere C is used. I'm not the first to do a thing like that either, but other implementations I've seen actually compile a Lisp-like language to C. Nucleus targets LLVM directly.

@programming

@programming@programming.dev

#lisp #LanguageDesign #compilers

 

Self-hosting Wafrn behind another Caddy, with BlueSky support

I've wanted to self-host a way to post in one place and reach BlueSky, Mastodon, Lemmy, etc… for a while. Wafrn is it, but hosting can be fussy. Here's what I did.

The recommended deployment is probably easy; it's just a Docker container, and if given a whole server, or at least control of the whole web frontend there shouldn't be much to it. I wanted to run it on my existing VPS, which has a bunch of services running behind Nginx. The deployment instructions explain why that won't work easily; Wafrn relies on Caddy's automatic HTTPS for ATProto accounts.

Using the Caddy from Wafrn's container as a proxy is an option, but I really wanted the main web server to be separate. Fortunately, I had nothing against Caddy itself, and converting the Nginx config was a one-shot for an LLM tool.

Updating Wafrn to run in that configuration was not. I did use such a tool in that process, though it made enough errors along the way I think I may have been faster without it. I put the resulting fork up on Gitlab in case anyone else wants to do the same.

@fediverse

@fediverse@lemmy.world

#wafrn #atproto #bluesky #fediverse #blog