On Thursday, 26 July 2012 at 23:55:29 UTC, Walter Bright wrote:
On 7/26/2012 4:20 AM, Wes wrote:
5. Why not support other operators like $, #, and @?
This is more of a rhetorical... as I know the language doesn't
need them, nor would I know if they would be binary/unary
prefix/etc or the precedence... although they would be nice to
have.

The question shouldn't be framed as "why not X?" but as "does the utility of having X justify placing in in the language?"

What is the utility of operators $, # and @?


> Specifically I'd like $prefix to be stringification.

Can you please be more specific about what this might do?

It's not for more functionality but more for programmer usability and terse coding. I just noticed the .stringof being used in some examples. It's the same idea as Java/C# .ToString() with far less typing.

I was starting development of my own language, and looked more at what I could do with D and saw that it included pretty much everything I wanted, except the stuff I've mentioned. I wanted my language to stretch the boundaries of language/compiler or metaprogramming.

The following are potential features/lackings of the language (no offense to the language developers as I am very impressed overall):

1. It has *practically forces use of the GC, since turning it off means I can't use many features of the language. This isn't as big of a deal to me as it is to many C++ devs (my assumption). A GC gives the impression of slow managed, even if the language isn't scripted/bytecode.

2. It doesn't have ways of introducing new syntax (e.g. $, @, # operators or different variable attributes like myconst). I don't see this as a major flaw as I don't know of any other language other than scheme/lisp/ratchet that allow this.

3. It can't run *all* forms of code at compile time.

4. It doesn't have a simple prettyprint operator. I think .stringof is a big step forward from .ToString() for simplicity, but obviously $variable would be more terse.

5. It doesn't have a way to iterate over every id in scope.
I can't think of a good reason to do this anyway.

Reply via email to