<div>In this:</div>auto:<br>   x = 1;<br>   y = 2;<br>   f = a => a+1<br>   writeln(f(x) + y);<br><br>where do you delimit the end of the 'auto:' scope?<div>Actually this is already possible like that:</div><div>
<font face="Menlo"><span style="color:#009695">auto</span><span style="color:#444444"> </span><br><span style="color:#444444">  </span><span style="color:#444444">x</span><span style="color:#444444">=</span><span style="color:#f57d00">1</span><span style="color:#444444">,</span><br>
<span style="color:#444444">  </span><span style="color:#444444">y</span><span style="color:#444444">=</span><span style="color:#f57d00">2</span><span style="color:#444444">;</span><br>
<span style="color:#444444"></span></font><br><br><div class="gmail_quote">On Thu, May 30, 2013 at 9:18 AM, Diggory <span dir="ltr"><<a href="mailto:diggsey@googlemail.com" target="_blank">diggsey@googlemail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Thursday, 30 May 2013 at 15:05:40 UTC, monarch_dodra wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Thursday, 30 May 2013 at 14:55:38 UTC, someone wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Please think about the huge math and science community. Most of them I came across like D for its speed and efficiency. But D can never replace Matlab/Octave/Ipython/Scipy because ....<br>
<br>
.. of the messy syntax compared to almost math like syntax above languages offer.<br>
<br>
For example, if I want to quickly want to plot something, in Octave I would do:<br>
<br>
x = linspace(0, 2*pi, 1000);<br>
y = sin(x);<br>
plot(x, y)<br>
</blockquote>
<br>
I could be mistaken, but those languages don't have the notion of declaration, do they? (honest question)<br>
<br>
Last time I tried a similar language, basically, any variable name that is not yet used is resolved to null. Which is why the syntax work.<br>
<br>
D on the other hand has a strong notion of declaration, and construction.<br>
<br>
I'm not sure it's just a matter of "messy syntax", and more of different paradigms. In D, it is more important to make the distinction of construction/assignment. The syntax is messy, but the new syntax blurs that line.<br>

</blockquote>
<br></div></div>
There's another alternative that fits more with D style which is also very mathsy.<br>
<br>
It would be possible to make storage classes work with the colon syntax, ie:<br>
<br>
auto:<br>
   x = 1;<br>
   y = 2;<br>
   f = a => a+1<br>
   writeln(f(x) + y);<br>
<br>
Also:<br>
<br>
immutable:<br>
   x = 3;<br>
   y = 4;<br>
<br>
Kind of like option explicit: off in VB<br>
</blockquote></div><br></div>