The design process of gluumy has been gosh darned cathartic lately, trying to design the language that my brain would most like to use.

Today in "perfection is when there is nothing left to remove", all of the English keywords have been removed from gluumy (though the stdlib is still all English-based: the motivation was syntax simplicity more than i18n). Instead:

. means qualified *or* unqualified import
-> means function
=> means shape (interface/trait)
~> means ADT

gist.github.com/klardotsh/414e

I think this basically means my lexer+parser only have to understand those four sigils, single and double quoted strings, the kinda-complex-for-computers-but-IMO-coherent-for-humans indentation rules/semantics, numbers, booleans, and of course the binding syntax (which I was able to use to completely eliminate the `match` keyword from the language - just changing my function type signature syntax allowed me to make a consistent destructuring syntax for free!)

I'm excited. I want this to exist.

Follow

Two of the biggest things I've been trying to optimize toward are, to use some buzzwords, simplicity and consistency: fewer syntaxes to define/parse/teach/use, borne out of trying to find as many similar usecases as I can and cramming them into one syntax that works for each. I'm especially excited to explore the prospect (as designed so far) of merging the concepts of Interfaces, Traits, Structs, and (by extension of the preceding) Inheritance/Composition into one thing, Shapes.

Sign in to participate in the conversation
Merveilles

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.