Linker Unsafe
220 subscribers
182 photos
24 videos
18 files
859 links
Собираю ржавые и лямбдообразные новости, прикольные цитатки с форумов, ссылки на статьи и всё такое. В-общем, сюда я тащу такие крупицы, которые мне будет жаль потерять в цифровой бездне. Возможно, они покажутся интересными и вам.

Фи сюда: @nlinker
Download Telegram
Forwarded from Doctor Foland
А можно пример такой парадоксальной системы типов?
Forwarded from The Wacky Yellow Dog
кучу ранних систем типов от конструктивистов (system U, которая): https://en.wikipedia.org/wiki/System_U

Java, Scala и им. подобные с wildcard'ами: https://io.livecode.ch/learn/namin/unsound?img=#c38688f047a9dd46bd79f4d8262e53a2

Scala + type projection: https://lptk.github.io/programming/2019/09/13/type-projection.html
@hirrolot устраивает ужас среди ничего не подозревающих растишек

Hirrolot, [06.07.20 18:06]
можно о лайфтаймах не заботиться

Hirrolot, [06.07.20 18:07]
давай, будешь senior poica developer

Hirrolot, [06.07.20 18:11]
https://gist.github.com/Hirrolot/fe752e0e0d58c3b0786f6b8a6ee58cb8
(ошибка на 1433 строки)

🙏😱
===
via https://t.iss.one/rust_offtopic/307844
О проблемах в поиске мейнтейнеров для ядра (Линус Торвальдс сетовал в своём интервью здесь)

>>>> Снизился порог входа и стало много временных молодёжных, модных, не особо развитых. В общей массе стало меньше доля людей университетского уровня. И искать стало сложнее.

>>> А как же инклюзивность и толерантность? Неужели гендерно-, расово- и умственно-альтернативные не могут писать код?

>> Вот в том и проблема, что все инклюзивные и толерантные, а мэйнтейнер должен на говно говорить говно.

> Официант! Бутылку чаю этому анониму за то, что зрит в корень.

===
из комментов
Ой 🙄😆, Ц++ не на высоте, лул

Αλεχ Zhukovsky:
я без мув конструктора? Просто я хочу написать функцию auto vectorToString(auto vector) -> auto

fn vectorToString(v: Vec<u8>) -> String {
let result = String::from_raw_parts(v.as_mut_ptr(), v.len(), v.capacity());
mem::forget(v);
result
}

как такую функу написать в плюсах?

Roman Proskuryakov:
кажется, что нельзя

наверно можно через черную магию, но сам понимаешь))

===
Танк развёл на арифметику
Нет, неправильно.
Дело не в том, что не имеет смысла, а в том, что как бы ты ни определил значение выражения a/0, ты всегда придёшь к противоречию.

Если a != 0, то x = a/0 определяется как решение уравнения x * 0 = a, которое не имеет решения ни при каком x.

Если a == 0, то x = 0/0 теоретически можно определить как любое число, но тогда ты придёшь к противоречию, что выражение 0/0 равно одновременно двум числам.

Если ты определишь a/0 как множество чисел, то получается, что значением операции / является множество, то есть операция не замкнута на множестве R.

В комплексных числах, однако, рассматривают множество C+ - это все числа и ещё одна точка , так что C+ изоморфно сфере. Там на 0 делить можно.
https://en.m.wikipedia.org/wiki/Riemann_sphere
Эх, были такие надежды на новые технологии, по-видимому надо ждать сингулярности...

red75prime, [11.07.20 00:16]
Недавно Ян Лекун сказал, что нейросети не biased, надо контролировать исходные данные. Тут же набежали, и начали объяснять, что надо делать нейросети, которые грокают текущую политическую обстановку, а не отмазываться.
===
via https://t.iss.one/rust_offtopic/313425
Молодцы!
Курс по языку Rust в приложении к осям. С нуля до какого-то приличного уровня
https://habr.com/ru/users/lain8dono/posts/
Hirrolot:
что тебя смущает в лиспе?

Vetro:
))))))))))))))

Hirrolot:
да что вы. скажите нормально

Vetro:
говорю же
)))))))))))))))

Крывашек:
😂
===
via https://t.iss.one/rust_offtopic/315950
Forwarded from Kai Ren
Вот из сегодняшнего, буквально.
Без RefCell на &mut ссылке, сколько не плясал, ни в какую не хотело уезжать во второе замыкание.
Я джва года ждал этого, все рукоплескания в честь @WaffleLapkin
Forwarded from мне не нравится реальность (вафель 🧇🦾)
# crates.io update notifier bot

(по названию всё и так понятно, можно дальше не продолжать)

На днях в расточатике спросили есть ли возможность как-то подписаться на обновления крейтов. Внятного ответа никто не дал, так что я решил написать бота для тележки.

FF: вот бот: @crates_upd_bot, можете с ним поиграться.

Работает он просто — с помощью git2 fetch'ит crates.io-index, гуляет по коммитам между HEAD и FETCH_FEAD, смотрит диффы и потом шлёт сообщения в @crates_updates и тем, кто подписался на обновления (на конкретный крейт).
ATS на практике, каждая строчка на вес золота. Буквально.
Forwarded from Deleted Account
Я только что потратил слишком много времени на написание программы, которая восстанавливается из сегфолта
https://gist.github.com/GoldsteinE/41f00d9dcebc6389f3198ff5f860d5a1?ts=2
Я всё репу чесал, как бы донести до того плюсовика, что он решает несуществующую проблему, но нашёлся красавчик, который сделал это за меня.
===

Alexander Tchitchigin:
@webreh для начала, я, безусловно, глубоко симпатизирую Вашей идее писать более декларативно и один раз — а дальше пусть компилятор работает. Но у обсуждаемой телеги есть несколько зияющих прорех, которые перекрывают весь рациональный посыл.

Во-первых, C++ — нелепо плохой пример для подражания. Ровно потому, что слишком плохо типизирован, слишком много сделано ad-hoc, а потому противоречит одно другому, обрастает костылями и в конечном счёте приводит к знаменитым километровым сообщениям об ошибках. Поэтому очень многие люди решают для себя "да ну его такое нахуй — лучше я немного кода покопипасчу, зато диагностика будет вменяемая".

Во-вторых, разбираемый пример с равенством — настолько мелкая, частная и редкая (одноразовая) задача, что ломать об неё копья просто смешно. Экономия на спичках.

В-третьих, как уже указали, идея "я умнее компилятора, я понимаю, что тут можно использовать memcmp" разбивается об ещё более хитрожопые оптимизации со стороны компилятора, начиная с банального паддинга и выравнивания в структурах. Кроме того, проблему "компилятор недостаточно умный, чтобы вставить memcmp" хотелось бы решать посредством повышения "интеллектности" компилятора, чтобы это работало для любого кода, и руками прописывать memcmp вообще не приходилось. Что находится полностью в русле изначальной концепции "хочу писать максимально декларативно".

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

Т.е. всё равно в какой-то момент придётся что-то копипастить и аннотировать вручную. В Rust выбрали тот момент, который позволяет лучше проверять типы и генерировать более информативные сообщения об ошибках.

Кроме того — и это снова второй пункт — типовые инстансы замечательно генерируются дерайвами, так что уровень копипасты совпадает с "тегами типов". 🤷‍♀️
===
via https://t.iss.one/categories_plusplus/894