Влод
вот го прикладной
Oleg
Oleg
Oleg
Маjко
У меня даже свидетель есть
Маjко
А вот не надо, такая была
Влод
вроде бы 2 разновидности. могут ли они выражать друг друга не знаю. знаю только ключевые слова
Oleg
у нас есть история чата
Oleg
зачем нам свидетели?
Маjко
Мы в России, бремя доказательства невиновности лежит на тебе
Oleg
Sherzod
Я больше так не могу
Sherzod
Oleg
Маjко
(шепотом пока он ищет: господи, как можно вестись на такой прямолинейный и жирный троллинг)
Alex
афинные это более слабый вариант линейных
Oleg
доказал, первая реплика со словом "незначительно" принадлежит тебе
Маjко
Oleg
история чата
Oleg
поиск по слову "незанчительно"
Alex
афинные позволяют использовать 0 или 1 раз, линейные строго 1
Маjко
Я тебе что тут, журналист чтобы дословно цитаты кидать?
Маjко
Лол
Маjко
Ну нихрена себе доказал
Маjко
Кто меня припер и куда, прости?
Vadim
а ведь эта задача очень даже реализуема, если расширить систему типов в Rust
Маjко
Влод
Oleg
Oleg
Ок, я закончил
Маjко
Опередил
Sherzod
ну же
Fedor
википедия
Влод
но в то же время выражения "очень даже реализуема" имеет характер "может быть реализуема" с небольшим оттенком личного мнения. такое личное мнение нельзя использовать как аргумент, что человек некомпетентен
Fedor
а лучше курс аналита от беклемишева
Alex
гг, эту недостатью я и писал
Влод
https://en.wikipedia.org/wiki/Substructural_type_system
Alex
не типа а переменной
Маjко
Fedor
https://mipt.ru/dasr/upload/e26/f_4377ke-arphh81ii9w.pdf
Влод
кстати раньше у меня проблема что при поиске линейной логики находил линейную темпоральную логику и я думал, что это вообще не заслуживает внимания
Alex
линейную если объявил, будь добр использовать, а на афинную можно забить
Oleg
А вот господа, возвращаясь к моим нубовопросам
Alex
не, афинный подразумевает использование не больше 1 раза
Маjко
Маjко
Впрочем это демагогия
Alex
линейная алгебра на самом деле имеет отдаленное отношение
Fedor
помоему так понимать гораздо проще
Fedor
хотя ХЗ, может потом к абстракции будет сложно перейти
Влод
@odomontois смотри тебя здесь объявили некомпететным, потому что ты не сможешь впринципе вкатить свои изменения в стабильную ветку. в этом то ты и не разбираешься, а вовсе не в типах с дедлоками.
я бы смирился с такой участью
Alex
линейная логика это типа внутренная логика замкнутых симметрично-моноидальных категорий, а линейная алгебра это операции над разновидностью моноидальных категорий типа PROP
Oleg
представим себе что-то вроде такого кода
fn bar() -> ??? {
match foo{
case v1 => ... // T1 : Iterator<E>
case v2 => ... // T2 : Iterator<E>
}
}
Oleg
я понимаю, я могу сделать какой-то enum и реализовать для него Iterator<E> а бойлер-плейт-фри кода a-la impl Trait нет?
Oleg
если нужен прям конкретный кусок кода, могу скинуть
Alex
точнее, если нам нужна классическая линейная алгебра, то требование ужесточается до компактных замкнутых симметричных моноидальных k-линейных абелевых категорий :)
Маjко
если нужен прям конкретный кусок кода, могу скинуть
Сталкивался с этим, проблема будет не в возвращаемом типе функции, а в том, что ветки match не могут возвращать разные типы.
Как вариант -- либо внутри веток оборачивать в свой enum, либо использовать Box<Iterator>
Oleg
Oleg
а вот этот Box<Iterator> - это как?
Маjко
Можно просто заюзать box_syntax и добавить перед возвратил значения в ветках box
Типа
case1 => box container.iter()
Маjко
Правда я не уверен что там с лайфтаймами будет в этом случае.
Маjко
Ща гляну
Oleg
https://stackoverflow.com/questions/41704481/match-arms-that-return-iterators
?
Маjко
Да, тут как раз с боксом описывается
Маjко
Просто сейчас можно box в nightly, это компактнее
🎲
Добрый день! Никто не видел библиотеки для UTF-7 https://tools.ietf.org/html/rfc2152 ?
Ilia
Божечки, utf7...
🎲
Evgenii
RFC: Evolving Rust Through Epochs (Score: 100+)
Link: http://j.mp/2soI994
Danila Matveev
плюсы и джава конечно идеальные примеры эволюции =/
Max
А какие еще живые примеры есть? Скала и свифт которые каждый релиз ломают старый код? Питон которого 2 штуки официально?
Danila Matveev
это не повод впадать в ортодоксальную крайность
Kirill
Ну, в Руби всех каким-то чудом пересадили на 1.9 с ломающими изменениями, и нормас всё прошло.
Но в общем говорим Руби, подразумеваем Рельсы, так что как Rails Core Team решит так и будет...
Danila Matveev
у той же джавы хватает проблем под капотом, приобретенных в угоду обратной совместимости
Kirill
Мне идея фиксировать вариант синтаксиса в Cargo.toml кажется достаточно чётеньким, кстати.
Не вижу каких-то больших проблем с этим
Alex
Max
Ну, в руби-то обратной совместимости и стабильности как в расте не особо-то обещали. Когда вообще в прошлом году сказали что язык ближайшие пару лет особо менять не будут — все нормально у всех было, хз что не нравится в такой схеме развития