1.83K subscribers
3.3K photos
130 videos
15 files
3.57K links
Блог со звёздочкой.

Много репостов, немножко программирования.

Небольшое прикольное комьюнити: @decltype_chat_ptr_t
Автор: @insert_reference_here
Download Telegram
#prog #video

Доклад Юрия Богомолова о том, как применили схемы рекурсии (recursive schemes) применительно к реальной задаче. Неплохой пример практичности ФП (пусть и на немножко хреновом ЯП TypeScript).

Могу со своей стороны добавить, что введение, на мой взгляд вышло чересчур сжатым, так что если вы раньше не знали, что такое схемы рекурсии, то не факт, что понимания добавится именно после просмотра этого доклада
А вот и пример в коде — как раз для тех, кто такой просил после доклада
После доклада ко мне приходили с вопросами про схемы, просили примеров использования в реальном мире… Поэтому я собрал и выложил на гитхаб реализацию схем рекурсии на TypeScript, с учетом свежей версии fp-ts:
https://github.com/YBogomolov/ts-recursion-schemes-playground

Как всегда, есть нюансы — например, для стэкобезопасной реализации Cofree необходима такая конструкция как Eval — которую я решил не тащить в примеры ввиду ее многословности, а ограничился простым ручным трамполайнингом. Но для общего понимания схем этого будет достаточно, по-моему.

Спасибо @xgrommx за идею собрать этот пример 🙂
#prog #rust #article

Небольшая статья о том, как Rust помогает в написании производительного и корректного кода.
Кошкодевочки
7🤮3💩2❤‍🔥1👍1👎1
#prog #rust

Хозяйке на заметку

Что делать, если есть три целочисленные переменные и нужно инкрементировать наименьшую из них (без разницы, какую, если две или три имеют равное значение)? Воспользуемся тем фактом, что для мутабельных ссылок реализован Ord:

let (mut a, mut b, mut c) = (12, 33, 9);
*(&mut a).min(&mut b).min(&mut c) += 1;
assert_eq!((a, b, c), (12, 33, 10));
1
А когда про падения гугла человек делает мемы — это какая стадия принятия?
Forwarded from YaOurTea
Стадия принятия - Профунктор
#art

Современный вариант иконы. Одобряю. Правда, непонятно место действия: стенка вроде из тамбура вагона электрички, а там схемы если и вешают, то пригородных путей и не на дверцах к электрическим компонентам.
Forwarded from Обратная сторона Луны (⛧𝖈𝖎𝖓𝖓𝖆𝖒𝖔𝖓 𝖗𝖔𝖑𝖑⛧)
#prog #cpp

Статья про одну особенность стандарта C++, которая делает C++ не zero cost. Причём прям совсем не zero cost
#prog #rust

В грядущей (31 декабря) версии Rust 1.49.0 будут partition_at_index select_nth_unstable{, _by{, _key}}, аналог std::nth_element из стандартной библиотеки C++. Это, конечно, хорошо, но почему так долго?
Блог*
Лучший пост?
Голосование посмотрела уже половина подписчиков, а голосов лишь чуть меньше 60. Маловато для статистики. Пожалуйста, проголосуйте сейчас (постом выше ссылки на посты в голосовании)
#prog #article

О том, почему нужны чётко определённые семантики для промежуточных представления оптимизирующих компиляторов