On Friday, 9 February 2018 at 11:16:01 UTC, Nick Sabalausky (Abscissa) wrote:
On 02/09/2018 05:31 AM, Kagamin wrote:
On Friday, 9 February 2018 at 09:42:46 UTC, Nick Sabalausky (Abscissa) wrote:
Huh? So are you *pro-* or *anti-* heredoc?
I personally prefer python's triple quoted strings. Elegant, simple and enough for most stuff. That example only shows what D has.
version(none)q{ FOO }; is likely to work for most stuff too.

/+ +/ is likely to work for most stuff, too.

So do /* */
It was only a minor problem for C89, because it had no line comments and people didn't know about #if 0

I think version(none) has solidly proven that higher-level semantic code-disabling, while sounds like a great idea on paper, actually provides no practical, non-theoretical gains other than the ability to nest, which /+ +/ shares (along with the ability to be used in more scenarios and be less verbose).

I insert version(none) with just Ctrl+V which is faster and easier than any stream comment that requires you to jump back and forth to properly catch a bunch of raw characters. Also with it you can switch alternative implementations like
version(all)
  ...
else
  ...
If the code is not deleted, it's useful; if it's useful, it will be used; to be used it must be readable; to be readable it should be highlighted; to highlighted it shouldn't be a comment.

/**
Be sure to check the various files at extras/foo*/package.d
and also: https://gcc.gnu.org/onlinedocs/libstdc++/faq.html
*/

Unlike the "disabling code that contains the end-of-disabled-code token" stuff, THIS example isn't quite so trivial to deal with in a way that's reasonably readable from both the generated docs and from within the code itself.

/**
Be sure to check the various files at extras/foo.../package.d
and also: https://gcc.gnu.org/onlinedocs/libstdc++/faq.html
*/

Ok, somebody might be unable to come up with this, but people didn't know about #if 0 until told.

Reply via email to