Alternate declaration syntax

Koroskin Denis 2korden+dmd at gmail.com
Fri Apr 11 11:26:24 PDT 2008


On Fri, 11 Apr 2008 21:26:24 +0400, Hans W. Uhlig  
<huhlig at clickconsulting.com> 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
>
> `$=`;$_=\%!;($_)=/(.)/;$==++$|;($.,$/,$,,$\,$",$;,$^,$#,$~,$*,$:,@%)=(
> $!=~/(.)(.).(.)(.)(.)(.)..(.)(.)(.)..(.)......(.)/,$"),$=++;$.++;$.++;
> $_++;$_++;($_,$\,$,)=($~.$"."$;$/$%[$?]$_$\$,$:$%[$?]",$"&$~,$#,);$,++
> ;$,++;$^|=$";`$_$\$,$/$:$;$~$*$%[$?]$.$~$*${#}$%[$?]$;$\$"$^$~$*.>&$=`


Yeah, except that I (and many others) don't have that sign on my keyboard  
<g>
Did you mean $, not §? IMO, colon serves the purpose better.

Other than this, I like Jave-style throwable list. I believe it makes DBC  
more powerful.
I would also like to see thread safety attribute as well, but it could be  
a pain for compiler to verify.



More information about the Digitalmars-d mailing list