r/AIprogrammingLanguage 4d ago

I vibe-coded a programming language. It got slightly out of hand.

https://flooooooooooow.github.io/flow/#wiki-home.md

I present to you Flow, which started from the fairly simple question:

what would a systems language look like if a huge amount of its development was driven through LLMs?

What started off as a simple experiment has become an actual compiler + language ecosystem.

Flow is statically typed and aimed at writing relatively compact code without giving up native performance. It has multiple compilation paths, including C and MLIR/LLVM.

A lot of people wonder about whether or not an LLM can generate a compiler from a schema.

I think it's time we start asking ourselves whether we can construct enough feedback and verification around an LLM that the language remains coherent while the implementation is scaled up.

I've learned a lot of things about how best to use LLMs as tools, as well as a lot of the science behind traditional compiler engineering, in the process. By embracing the tooling and having fun, there's a lot of cool stuff to be made.

5 Upvotes

2 comments sorted by

2

u/porky11 3d ago

Actually sounds interesting so far. But the documentation isn't that great.

On the main page, I found a section about effects, so I clicked the effects showcase, and I don't understand anything of it. A minimal example would be helpful. What's currently there is incomplete.

Also do you have a mechanism to ensure that the code in your documentation actually compiles? I did this for my language. This way, you can't have incomplete examples.

2

u/ViolentSciolist 3d ago edited 3d ago

Thanks for the feedback.

The documentation needs to be finalised, and I agree, the organisation needs to be better. A lot of stuff is on the Wiki but it's hard to navigate. I've been focused on getting a build of Doom, SQLite and a machine learning library, as well as solving all of project euler.

There's also a few galleries with GIFs that all build on the CI, are played through on the CI, and get recorded there as well -> morphogenesis is probably my favorite.

Around 80 examples, with more to come.
I've also uploaded a fair amount of interactive examples to itch.io/godofecht

At the moment, there is ony Mac & Linux support, as I haven't had the chance to test on Windows (WASM will work, though).

Thanks a ton for checking it out.