Alternate declaration syntax
Hans W. Uhlig
huhlig at gmail.com
Sat Apr 12 00:27:52 PDT 2008
Jason House wrote:
> A complete proposal must discuss delegate declaration and instantiation too... You should discuss in, out, and, ref too. I'd also avoid non-D concepts in your examples...
>
> Hans W. Uhlig Wrote:
>
>> Ok, Posting to the main forum so it doesn't get lost in the const stuff.
>>
>> Perhaps a slight variation to the C declaration might be in order, since
>> I know that multiple return values are wanted, a simple and readable
>> syntax for inheritance is needed (using : as an inheritor does not make
>> code more readable) try this out and see if it makes it clearer
>>
>> <modifiers,...> <identifier> <properties,...> {...}
>>
>> such that:
>> const foo(const int, const double) §
>> throws barExtension §
>> returns const int, const float
>> {
>> // ... code ...
>> }
>>
>> same for classes:
>>
>> const class foo § extends bar {
>> const int x;
>> pure foo(const int, const double) § returns invariant string;
>> // ... more code ...
>> }
>>
>> (Note: § is used as a divider because no one uses it for anything in
>> programming and I didn't want to start an argument over : or | or ; or
>> any other punctuation being used elsewhere and being bad, quite possible
>> punctuation wouldn't be neccessary)
>>
>> It looks like a hideous cross between java and visual basic but it is
>> clean, readable, simple to machine parse(I think) and descriptive. using
>> slightly longer keywords makes a language a little more verbose, but it
>> also makes it readable. if you want to use punctuation for everything
>> you get what happened to perl when someone got a little too creative
>>
>> `$=`;$_=\%!;($_)=/(.)/;$==++$|;($.,$/,$,,$\,$",$;,$^,$#,$~,$*,$:,@%)=(
>> $!=~/(.)(.).(.)(.)(.)(.)..(.)(.)(.)..(.)......(.)/,$"),$=++;$.++;$.++;
>> $_++;$_++;($_,$\,$,)=($~.$"."$;$/$%[$?]$_$\$,$:$%[$?]",$"&$~,$#,);$,++
>> ;$,++;$^|=$";`$_$\$,$/$:$;$~$*$%[$?]$.$~$*${#}$%[$?]$;$\$"$^$~$*.>&$=`
>
I will see about drafting up a proposal on saturday.
More information about the Digitalmars-d
mailing list