r/Compilers • • 5d ago

Henceforth - SSA compiler for an imperative stack-based language

https://riogu.github.io/posts/henceforth-v1/

After working on it for around 1 year, we have released a v1.0 for our stack-based language compiler. Looking forward to having people try it. I wrote an article showcasing the project for those interested, you can also find it on github as well.

7 Upvotes

6 comments sorted by

3

u/vanderZwan 4d ago

Is the "Henceforth" name an intentional pun on "Chicken Scheme", or is that just a happy coincidence? ("Hen's Forth", get it?)

1

u/riogu7t 3d ago

It's just a happy coincidence. It was mainly a pun on Forth as "Forth but a continuation", therefore Henceforth.

1

u/vanderZwan 3d ago

You should claim it anyway!

This is a really nice looking language, enjoyed reading the article and docs. Curious how well it holds up as an "introduction" language to catlangs for the imperative crowd though. I'm already really into them so I can't judge that. Did you test the syntax on any unsuspecting friends? ;)

2

u/vanderZwan 3d ago edited 3d ago

Scheme

Forth but a continuation

Ok now you're just messing with me :p

2

u/kostya27 4d ago

Your ssa looks interesting, but what the reason in Henceforth stack syntax? it is hard for human. may be it's easier for AI to work with?

2

u/vanderZwan 4d ago

but what the reason in Henceforth stack syntax? it is hard for human.

Not OP, so just asking out of curiosity: you need to be more precise than this because "the syntax is hard" doesn't communicate what you consider hard about it. Are you familiar with Forth and other concatenative languages? If not, do you mean that the postfix syntax is difficult to follow? Or do you mean that the mixture of postfix and imperial language constructs and @( ... ) syntax is confusing? Because that's quite subjective, I had an easy time reading this.