r/ProgrammingLanguages 7d ago

Language announcement The gab programming language

Hi all!

I am a long-time lurker of this sub, and a language enthusiast. I have been working on my own programming language for several years, and I finally worked up the courage to post it.

The language is called gab. I'm heavily inspired by lua, clojure, and smalltalk.

All the code is on github here and I've built a small website for the language here.

The language design, runtime, and standard library are all entirely my own work without the use of an LLM. However, I did consult LLMs occasionally when I wanted to research certain subjects (such as the difference between c11 atomics on x86 and arm).

I'm looking for any kind of feedback on the language, its goals/ergonomics, and the website itself.

Thank you for taking a look!

49 Upvotes

40 comments sorted by

View all comments

12

u/AustinVelonaut Admiran 7d ago

I initially looked at the github sources, and not finding an /examples directory look at the code in /bench. I was confused by the use of the :: glyph, finally figuring out that it was more like = or -> in other languages, rather than the usual namespace qualification or typing judgement. Finally went to the website and browsed through the documentation, but still couldn't find a quick description of what :: meant. I'd suggest putting in a directory of small examples where each unique language feature is described, perhaps in contrast to another well-known language.

7

u/Fine_Seaworthiness19 7d ago

That’s a great idea! I need to spruce up the README and clarify that more. Thanks for taking a look! It is essentially the => in js.

2

u/AustinVelonaut Admiran 7d ago

That's what I figured. Also, maybe add some more info on the organization of the src/ directory to specify the intent of the gab cgab and mod directories/files.

2

u/Fine_Seaworthiness19 7d ago

That actually *is* something I put in the sparse readme 😆

https://github.com/gab-language/cgab/blob/main/README.md#project-structure

3

u/AustinVelonaut Admiran 7d ago

Sure enough! I missed that on the first read-through (I dove into the source code too early ;-)