Here are some initial design notes I put together for GLIC, the game language I was brainstorming about. It’s written in the present tense, but don’t be fooled, it doesn’t exist yet.
There are certainly things I’m missing, and I might throw out a couple things, but most of the features are there. Those familiar with Perl 6 will feel at home :-). Much as I love designing a flexible, beautiful language, I’m emphasizing simple implementation and focused design here. Thanks to Parse::RecDescent, I can screw with the syntax as much as I want. And you know how I love syntax…
I think it needs to be closer to the domain in a few areas, but much of that can manifest itself in the library, which can be continually extended and improved. A huge leap I made was adding what I’m calling facets (for now), which I’m seeing all over game programming idioms. Hmm, can you say Class::Facet? (I just released
Class::Role, along similar lines).