So Language Design, what is the distinction of it and the implementation? Well the dilemma here is you really need to make sure you understand fully how the language constructs will be evaluated in order to return useful results to the programmer. And how do we do language design? Its not like we have anything to test your constructs against, it takes quite a bit of patients which can make it difficult, but its also the coolest part because you can come up with cool ideas.
What i am looking to do once crules 0.5 is released i want to make crules and Open way of getting people into language design, to make it nearly a community designed language as redbrain being the benevolent dictator :). Simply because its is my pet project but it would be really great if people feel they have some ideas to get involved to help in language design, packaging, programming if they feel they are up to it. I can help them find there way into compiler design topics since it can be difficult for new programmers to get involved and its the coolest aspect to computer science. It kind of brings about the chicken and egg problem, which came first a compiler or an operating system? Yeah but some of the answers really make your understand computer science very clearly and properly.
Language design and compiler design has had the long reputation as being a very tough cookie to get involved in since the projects can grow relatively fast in a short space of time; and can also require a very strong understanding or many many aspects of computers, and design idioms. This makes a lot of reading :). I would recommend if you want to get involved with compilers and language design to get the Dragon Book, unfortunately i feel its a crap book but at the same time its a great book and it made me learn things properly and i still look to it since writing your first compiler can be quite challenging :). It's really required reading as it explains things properly to the reader, though i do feel they could have mixed some formal parts with informal explanations a little more since it could/would make it easier for people to get into.
So this is the first language specification this will encompass the most basic procedural language featues it won't be until langyage spec 2.0 the interesting features like rules, recursive functions and the where clause will be accepted since. You have to walk before you can run right? Though i am pretty certain the implementation of the 1.0 language specific will have maybe some prototype support for some of these features. Since a lot of language specification is testing and thinking about how certain constructs should work.
So what basic features can you expect, well i'll try and list them here, although what is talked about in the language documentation will demonstrate it.
So this is the real building blocks for a procedural language like Python or Java. But these are features i think are very important to get right because much of how the more interesting constructs work will rely heavily on me getting these to work correctly. So don't be suprised if the upcomming 0.5 release doesn't contain any cool and new features, its simply because i want these to work correctly first. But i will try and have some examples in the source tree of what i want some of them to look like. So if your interested you could pull down the tree and take a peek at the code :).
I will simply list some items here some explaintion will follow closer to the realse of the implementation implementing these features in the documenation
Hope this makes you interested ;)