Clay language

Robert Jacques sandford at jhu.edu
Mon Dec 27 12:54:53 PST 2010


On Mon, 27 Dec 2010 13:42:50 -0700, Guilherme Vieira  
<n2.nitrogen at gmail.com> wrote:

> On Mon, Dec 27, 2010 at 4:35 PM, bearophile  
> <bearophileHUGS at lycos.com>wrote:
>
>> 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
>>
>
> +1 for static for and guaranteed optimizations. Can we put it in the
> wishlist?

If you followed the bug report, you'd find D already has a way of doing  
static foreach.


More information about the Digitalmars-d mailing list