After a week of almost no energy in any facet of life I just sat down and figured out how to simplify gluumy's grammar to remove two keywords, an entire "feature", and to become more discoverable for folks not familiar with functional or strongly-typed programming (because while I'm building this language for me, I also want others to be able to play with it if it suits their needs, too).

Today's a good day already.


Notably I consolidated the concepts of structs and traits into one concept, "shapes", that (combined with gluumy's version of "type holes", which are more like those in than in, say, Idris) should allow expressing both in one easy-to-learn (and I believe straightforward to parse) syntax.

I've also roughly sketched out in my head how to make this a compile-time **and** run-time language. Previous iterations of gluumy's design (either in my head or written down) have all been a compile-time-only transpilation and type checking phase that spit out plain Lua and all guarantees at that point were lost.

After playing with Sorbet at work for a few weeks and teaching coworkers its benefits, I'm sold on strongly-typed dynamic languages having a runtime component, so I want to try it.

Notably this unlocks type-safe DSLs and configuration languages, *and REPLs*, for downstream applications. It would mean the gluumy compiler would have to ship with every application (unless opted out), but I think the payoff is that gluumy applications would be first class guests of the Lua VM that just **happen** to compile to actual Lua code as an implementation detail. The end users could still see gluumy the whole way through.

Much to explore here.

Sign in to participate in the conversation

Revel in the marvels of the universe. We are a collective of forward-thinking individuals who strive to better ourselves and our surroundings through constant creation. We express ourselves through music, art, games, and writing. We also put great value in play. A warm welcome to any like-minded people who feel these ideals resonate with them.