Through Reddit I have found a link to some information about the Clay language, it wants to be (or it will be) a C++-class language, but it's not tied to C syntax. It shares several semantic similarities with D too. It looks like a cute language: https://github.com/jckarter/clay/wiki/
Some small parts from the docs: -------------------------- In Clay this: https://github.com/jckarter/clay/wiki/Syntax-desugaring static for (a in ...b) c; is equivalent to: { ref a = <first element of b>; c; } { ref a = <second element of b>; c; } /* ... */ I have an enhancement request about this for D: http://d.puremagic.com/issues/show_bug.cgi?id=4085 -------------------- The part about Safer pointer type system is very similar to what I did ask for D, and it looks similar to what Ada language does (for Clay this is just a proposal, not implemented yet, but Ada is a rock-solid language): https://github.com/jckarter/clay/wiki/Safer-pointer-type-system -------------------- This is something that I want for D too, it's important: >Jonathan Shapiro (of BitC) makes an excellent argument that, in a systems >language, it is often undesirable to depend on the whims of an ill-specified >optimizer to convert abstract code into efficient machine code. The BitC >specification thus includes the idea of guaranteed optimizations, to allow >code to be written in a high-level style with predictably low or nonexistent >runtime cost (link). [...] Because Clay seeks to support systems programming >with high-level abstraction, certain patterns should be guaranteed to be >optimized in a certain way, instead of being left to the whims of LLVM or a C >compiler. Additional optimizations should not be prevented, however. [...] It >should be possible to specify that one or more of these optimizations is >required, and have the compiler raise an error when they cannot be applied for >some reason.< https://github.com/jckarter/clay/wiki/Guaranteed-optimizations Bye, bearophile
