<div dir="ltr">Кстати, на Ruby можно сделать нечто в виде<br><br>a = 5.domain.meters<div>b = 3.domain.foots</div><div>c = a * b</div><div><br></div><div>puts c.to_meters</div><div><br></div><div>Достаточно определить метод Fixnum.real, который приводит к типу ScalarReal, в котором определить конверторы, ошибки преобразований и прочую мелочовку. Работы на пару часов с тестами.</div></div><div class="gmail_extra"><br><div class="gmail_quote">25 апреля 2016 г., 21:47 пользователь Alexander Q <span dir="ltr"><<a href="mailto:qalexx@gmail.com" target="_blank">qalexx@gmail.com</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><br><div class="gmail_quote"><span class=""><div dir="ltr">On Mon, Apr 25, 2016 at 9:37 PM Daniel Podolsky <<a href="mailto:onokonem@gmail.com" target="_blank">onokonem@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">в рамках этого обсуждения язык типизированным делает способность<br>
компилятора сказать "дружок, я тебя не понимаю. это целое, или строка?<br>
будь яснеее!"</blockquote><div><br></div></span><div>Ну всё-таки это детский зад пятидесятилетней давности. Довольно давно от системы типов ожидается ещё умение сказать "дружок, я не могу помножить футы на метры, определись" — и это первое что приходит в голову. Помогают сообщения компилятора "дружок, ты пытаешься сложить два числа, какой к чёрту IO??!?" — это уже несколько более продвинутый уровень, но и это прошлая декада.</div><div><br></div><div>Система типов бывает разная. У go она, насколько я понимаю, от perl ушла недалеко. Из 2016 не различить.</div></div></div>
<br>--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" rel="noreferrer" target="_blank">http://moscow.pm.org</a><br>
<br></blockquote></div><br></div>