C++ Resyntaxed
csse.monash.edu.au
csse.monash.edu.au
Particularly take the class declarations as an example:
type ListClass : class inherits public ListBase, private virtual ListImpl
{ /* member declarations */ }
adds nothing but verbosity to the C++ declaration: class ListClass : public ListBase, private virtual ListImpl
{ /* member declarations */ };": class inherits public" is just 23 characters of pointless line noise.
1. This paper is from 1996 (oh my! 14 years), and so does not consider the syntactic clean-up performed with C++0X.
2. The paper is co-authored by Damian Conway (http://en.wikipedia.org/wiki/Damian_Conway), perl legend, author of Quantum::Superpositions (http://search.cpan.org/~dconway/Quantum-Superpositions-1.03/...)
3. This seems to be part of research conducted on 'Human Factors in Programming Languages', which includes another paper on the design of SPECS (the syntactic clean-up mentioned in this paper), and another interesting-sounding one: 'Seven Deadly Sins of Introductory Programming Language Design' (see http://www.csse.monash.edu.au/~damian/papers/).
When designing a new language, remember that people spend most of the time using other languages. So don't be gratuitously incompatible in dangerous ways.
140 => int beatsPerMinute;
http://github.com/scotchi/Chuckery/blob/master/MidiDelay.ckIt's really close to all of the other Java-ish family of languages for the most part, but I find myself having to fix a dozen auto-piloted assign errors every time I try to run the code.
Inside C++, there is a much smaller and cleaner language struggling to get out. - Bjarne Stroustrup
Clay is an attempt at creating that language.
Link: http://tachyon.in/clay/