Flower is a programming language

Flower is a work-in-progress programming language. It is currently in early stages and is currently a glorified and complicated calculator.

I nicked the name because I like it, and every other similar project named like it seemed to have been dead for at least half a decade.

Hopefully this one won't be.

The most obvious sources of inspiration are C++, Zig and Rust, but there are many others I could count where I've drawn some ideas from. Flower aims to be a general-purpose, functional lower level language, with current emphasis towards metaprogramming and scientific programming.

Everything is subject to change, and even the syntax is probably doomed to change quite a lot still. But the roadmap is to update the blog about designing and building a programming language and the compiler (somewhat erratically).

The current goal is to get the language to a point where I could publish something that can actually do something more interesting, and maybe open the possibility of bringing a friend or two to help developing the compiler and the language. I'd imagine it still take a couple of months worth of work, but since the development is a bit on erratic schedule, the hope is to get to that point in 2023.

That is not certain to happen, and for now you can think this site as a place where you can read my stories about language design, implementation and all the weird issues on the way.

Here's how the language looked like at 2022-09-13

3def func main() -> s32 as {
4 c::printf("Hello world");
5 return 0;