<div dir="ltr">On 26 August 2016 at 14:49, Ivan Levkivskyi <span dir="ltr"><<a href="mailto:levkivskyi@gmail.com" target="_blank">levkivskyi@gmail.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="">On 26 August 2016 at 13:01, Steven D'Aprano <span dir="ltr"><<a href="mailto:steve@pearwood.info" target="_blank">steve@pearwood.info</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span>On Fri, Aug 26, 2016 at 07:35:36AM +0200, Pavol Lisy wrote:<br>
> On 8/25/16, Ken Kundert <<a href="mailto:python-ideas@shalmirane.com" target="_blank">python-ideas@shalmirane.com</a>> wrote:<br>
><br>
> [...]<br>
><br>
> > Just allowing the units to be present, even it not<br>
> ><br>
> > retained, is a big advantage because it can bring a great deal of clarity to<br>
> > the<br>
> > meaning of the number. For example, even if the language does not flag an<br>
> > error<br>
> > when a user writes:<br>
> ><br>
> >     vdiff = 1mV - 30uA<br>
><br>
> It reminds me: "Metric mishap caused loss of NASA's Mars Climate<br>
> orbiter. It could be nice to have language support helping to avoid<br>
> something similar.</span><br></blockquote><div><br></div></span><div>[snip]<br></div><span class=""><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Take v = s/t (velocity equals distance over time). If I write v = s<br>
because it is implicitly understood that the time t is "one":<br>
<br>
    s = 100 miles<br>
    v = s<br>
<br>
Should v be understood as 100 miles per hour or 100 miles per second or<br>
100 miles per year? That sort of ambiguity doesn't come up in circuit<br>
design, but it is common elsewhere.<br></blockquote></span></div><br></div><div class="gmail_extra">If one writes this as<br><br></div><div class="gmail_extra">from units import m, s, miles<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">s = miles(100)<br></div><div class="gmail_extra">v: m/s = s<br></div></div></blockquote><div><br></div><div>Sorry for a name collision in this example. It should read:<br><br></div><div>dist = miles(100)<br></div><div>vel: m/s = dist<br><br>--<br></div><div>Ivan <br></div></div></div></div>