12 comments

[ 4.7 ms ] story [ 32.0 ms ] thread
This is made by aardappel/Wouter van Oortmerssen, semi-famous OS game developer (Cube/Sauerbraten) and programming language designer. It's probably related to his recent game development work.
Lots of good ideas here.

Flow-sensitive type inference with static type checks is, IMHO, a massively underrated niche. Doubly so for being in a compiled language. I find it crazy how Python managed to get so popular when even variable name typos are a runtime error, and how dreadful the performance is.

All the anonymous blocks lend themselves to a very clean and simple syntax. The rule that 'return' refers to the closest named function is a cute solution for a problem that I've been struggling with for a long time.

The stdlib has several gems:

- `compile_run_code`: "compiles and runs lobster source, sandboxed from the current program (in its own VM)."

- `parse_data`: "parses a string containing a data structure in lobster syntax (what you get if you convert an arbitrary data structure to a string) back into a data structure."

- All the graphics, sound, VR (!), and physics (!!) stuff.

- imgui and Steamworks.

I'll definitely be watching it, and most likely stealing an idea or two.

With LLM do we actually need new programming languages?
Built-in vector ops, ImGui, and WebAssembly target? This reads like it was designed by someone who actually ships games.
Lobster's design where the borrow checker/lifetime analysis automatically inserts reference counters if it can't statically determine lifetime is so vastly superior to Rust's approach (force you to do it by hand like it's 1980 and you are the compiler) that it's not even funny.

This is what good language design looks like.

Ha, this is by amiga E language author! Back in the day it was quite an interesting language
I see implementation inheritance there and I don't like it. Otherwise cool language.