why scope(success)?

pragma pragma_member at pathlink.com
Tue May 9 13:13:08 PDT 2006


In article <e3qpsj$igc$1 at digitaldaemon.com>, Ben Hinkle says...
>
>I hope this doesn't come of as a flame, but I'm wondering if anyone is using 
>scope(success) and why. I can't find any reason for it.
>
>Some background: I've slowed my D work to focus on some C experimental 
>features I'm calling Cx: http://www.tinycx.org and currently I'm 
>implementing the error handling using reserved labels "error:" and 
>"finally:". The error label is roughly like scope(failure) and the finally 
>label is roughly like scope(exit). There's no try-catch-finally. I don't 
>plan on adding anything like scope(success) because I couldn't think of why 
>anyone would want to use it. Why not just put the code at the end of the 
>scope like normal code-flow? I suppose one could code the entire scope in 
>reverse just for kicks:
>void main() {
>  scope(success) printf("world\n");
>  scope(success) printf("hello ");
>}
>
>-Ben 
>

I'm considering using it for some code generation technqiues (parsers mostly). 

Being able to declare what happens at the tail-end of a scope *first*, rather
than last, means that you have to maintain less state (across nested scopes) in
your code generator.

- EricAnderton at yahoo



More information about the Digitalmars-d mailing list