<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
<META NAME="GENERATOR" CONTENT="GtkHTML/3.16.1">
</HEAD>
<BODY>
<BR>
On Sat, 2008-03-29 at 12:13 -0700, Walter Bright wrote:<BR>
<BLOCKQUOTE TYPE=CITE>
<TT><FONT COLOR="#000000">It's like (well, not as bad as) exchanging the </FONT></TT><BR>
<TT><FONT COLOR="#000000">meaning of the * and + operators.</FONT></TT><BR>
</BLOCKQUOTE>
We do this already...well not with arithmetic thank god, but with other operators.<BR>
<BR>
Take the infamous concatenation operator...<BR>
<BR>
PHP and Perl it's "."<BR>
Pascal, Ruby, Pike, Python, Java, JavaScript, (and kind of in C++) it's "+"<BR>
SQL and REXX it's "||"<BR>
VB, Ada, AppleScript it's "&"<BR>
<BR>
but in D it's "~"....<BR>
<BR>
But in other languages, such as perl and AWK, ~ means something. It means "bind", as bind this regular expression:<BR>
<BR>
# awk<BR>
if (foo ~ bar) {<BR>
}<BR>
<BR>
# perl<BR>
if ($foo ~= $bar) {<BR>
}<BR>
<BR>
Similarly, this expression in AWK means something completely different in D:<BR>
<BR>
foobar = foo ~ bar;<BR>
<BR>
That being said, it doesn't really matter...it's a different language.<BR>
<BR>
Just like how "puede" means "it can" in spanish, but it means "can I" in tagalog.<BR>
<BR>
Anyway to that end, I don't think redefining const or creating a different work to mean const is any different than this. And it's a perfectly acceptable thing to do. After all, we're really trying to make "const" mean "from your view, this thing is constant" anyway, that's what it implies.<BR>
<BR>
Cheers,<BR>
Scott S. McCoy
</BODY>
</HTML>