Size: a a a

Язык программирования Julia / Julia programming language

2021 February 25

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
То есть здесь не type promotion сработал,  а type inference с которым у раста слава богу всё в порядке.
источник

DG

David Graycen in Язык программирования Julia / Julia programming language
Андрей Оськин
Compiling playground v0.0.1 (/playground)
error[E0277]: the trait bound `usize: Neg` is not satisfied
--> src/main.rs:2:18
 |
2 |     let v = vec![-1, 2, 3, 4];
 |                  ^^ the trait `Neg` is not implemented for `usize`
источник

DG

David Graycen in Язык программирования Julia / Julia programming language
к расту с его системой типов нужно привыкать 🙁
источник

DG

David Graycen in Язык программирования Julia / Julia programming language
на то он и системный язык программирования
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Да, ровно так я и сделал в конце концов.

В начале правда был какой-то ужасный способ через Option (кажется так называется). Сама идея причём очень классная и я абсолютно с ней согласен, потому что при правильном использовании позволяет писать очень безопасный код. Но в данном случае это был оверкилл, поэтому скрипя сердце стал использовать as i32. Но это ужасно напрягает после type promotion.

Или если не дай бог вместо i32 захочешь использовать i64. Надо сразу всё в дженериках писать... Скобочки, скобочки, нигде ничего не пропустить.
источник

DG

David Graycen in Язык программирования Julia / Julia programming language
если написать let v = [-1i32, 1, 2, 3, 4], то type inference подберет нужный тип
источник

DG

David Graycen in Язык программирования Julia / Julia programming language
интересно...
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Меня ещё расстроил его type inference. То есть он отлично умеет вычислять значения типов всех переменных. И так как нет метод диспатч или перегрузки функций, то по хорошему он всегда знает с какими типами функция вызывается. Но всё равно заставляет прописывать их, какими бы длинными и неудобными они ни были.

Как кто-то где-то написал (правда про Java) - "он похож на бюрократа, который понимает чего ты хочешь, и ты знаешь, что он знает, но всё равно надо оформить все необходимые документы".
источник

VG

Viktor G. in Язык программирования Julia / Julia programming language
Есть какой-то метод, который определяет, открыт ли IOServer? Или выдает событие закрытия?
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Судя по этому: https://github.com/JuliaLang/julia/blob/master/base/stream.jl#L95-L98

сам IOServer ничего не умеет, по крайней мере каких-либо функций общего назначения для него нет.
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Если есть какие-то конкретные типы от него унаследованные, надо уже в них смотреть.
источник

VG

Viktor G. in Язык программирования Julia / Julia programming language
Создаю два сервера на соседних портах, на одном слушаю HTTP-запросы, на втором WebSockets, и надо как-то синхронизировать их состояния, чтобы при закрытии первого второй тоже закрывался.
источник

VG

Viktor G. in Язык программирования Julia / Julia programming language
На одном сервере мне не удалось иметь одновременно и вебсокеты, и HTTP эндпоинты
источник

VG

Viktor G. in Язык программирования Julia / Julia programming language
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
Если кому нечем заняться к ночи, следующий код валит REPL при последующей попытке что-нибудь нажать:

Base.convert(String, x::Symbol) = string(x)
источник
2021 February 26

AP

Alexander Plavin in Язык программирования Julia / Julia programming language
хах, записано специально так, чтобы казалось что это конвертация символа в строку? :)
источник

AP

Alexander Plavin in Язык программирования Julia / Julia programming language
на самом деле определение эквивалентно convert(::Any, x::Symbol) = ..., т.е. перехватывает перевод символа во что угодно
источник

УМ

Убийца Мамонтов... in Язык программирования Julia / Julia programming language
Андрей Оськин
Меня ещё расстроил его type inference. То есть он отлично умеет вычислять значения типов всех переменных. И так как нет метод диспатч или перегрузки функций, то по хорошему он всегда знает с какими типами функция вызывается. Но всё равно заставляет прописывать их, какими бы длинными и неудобными они ни были.

Как кто-то где-то написал (правда про Java) - "он похож на бюрократа, который понимает чего ты хочешь, и ты знаешь, что он знает, но всё равно надо оформить все необходимые документы".
удачное сравнение
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
Alexander Plavin
хах, записано специально так, чтобы казалось что это конвертация символа в строку? :)
Оно так было записано по ошибке. Но эффект использования оказался забавным….
источник
2021 February 27

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
➡️ 🔥
источник