Где-то неделю убил на поиск ошибки, вызванной тем, что вместо вызова norm(v), вычисляющего длину вектора было написано length(v), что возвращало количество элеметнов.
@anonymous Языки без неявных преобразований, например (потому что результат `length` — это `Nat`, а `norm` — какой-нибудь там `Double_+`). Я бы ещё понял, если бы перепутали две операции, обе из которых возвращают Double, но конкретно это — это же пиздец.
@anonymous это не имеет отношение к слабой типизации, в стандартной либе язычка прописан явный инстанс мультиметода оператора умножения для флотов и интов
@kuro рейтрейсер
@kuro потому что это балдежно
@0xd34df00d на julia. gcc кстати тоже спокойно проглатывает
@ninesigns вот кусок кода если чо. t2, t1 - float
d = (t2 - t1) * length(v)
@l29ah
julia> import Base.*
julia> *(i::Int64, f::Float64) = error("лях иди нахуй")
* (generic function with 344 methods)
julia> (12 * 5.0) + 5
ERROR: лях иди нахуй
@anonymous это не имеет отношение к слабой типизации, в стандартной либе язычка прописан явный инстанс мультиметода оператора умножения для флотов и интов
@l29ah говноязычок отличает инты от флотов, ты соснул
@l29ah иди уроки учи, там все типы тайпчекаются
@l29ah могу сделать, за 0.01 btc