dd if=/dev/stuff of=/dev/tg
2.59K subscribers
348 photos
5 videos
7 files
563 links
Музыка: @randommusicilike

18+. По всем вопросам, кроме рекламы: @rsil_feedback_bot

По вопросам рекламы (внимательно читайте приветственное сообщение): @rsil_ads_bot
Download Telegram
Тред на реддите, достойный целого поста: https://www.reddit.com/r/haskell/comments/f7zxjb/what_are_the_hardestmost_interesting_perhaps/fijek6f/
Обзор менее часто употребимых схем рекурсии (вроде динаморфизма или дендроморфизма) с множеством ссылок на слайды, статьи, пейперы и видео. Если не знаете, чем себя занять на этих затянувшихся выходных — отличный вариант.
Math is your insurance policy: https://bartoszmilewski.com/2020/02/24/math-is-your-insurance-policy
Бартош неспешно рассказывает, почему нужно бросать натягивать CSS-шкурки на вордпресс и садиться изучать математику.
Прекрасный проект, вовсю эксплуатирующий (псевдо)полноту по Тьюрингу системы типов TypeScript. Есть даже решение задачи о N ферзях! Правда, натуральные числа кодируются вручную через словарь, так что данный проект умеет считать только до 10. Кодировка чисел Пеано может с этим помочь, но тогда автор упрётся в ограничение глубины рекурсии при выводе типов.
В любом случае, код хорошо документирован и достоен изучения:
https://github.com/ronami/meta-typing
Статья о функциональной архитектуре от Скотта Влашина:
https://increment.com/software-architecture/primer-on-functional-architecture

TL;DR: принципы функционального программирования — использование функций как основных строительных блоков, композиция, чистота — могут быть применены не только для решения тактических задач в прикладном коде, но и для построения более общей, стратегической картины решения целиком. Скотт Влашин в деталях описывает свой подход — построение крупномасштабных «функций»-воркфлоу, применение слоистой архитектуры (onion architecture), определение ограничений (boundaries) и использование событий как входных и выходных точек решения. В конце затрагивается тема функционального фронтэнда на примере Elm и рекламируется книга автора «Domain Modeling Made Functional».
Алехандро Серрано из 47 Degrees рассказывает, почему зависимые типы круто:
https://www.youtube.com/watch?v=JboZel47XU0
В пару к этому докладу хорошо идет доклад Виталия Брагилевского с f(by) о том, почему зависимые типы не круто:
https://www.youtube.com/watch?v=ohG-PRwOorA
¯\_(ツ)_/¯
Если вас задолбало, что вам присылают аудиосообщения там, где можно было обойтись текстом, есть замечательный вариант ответа:
https://vsychov.github.io/gif-generator
Верификация корректности музыки с помощью системы типов:
https://www.infoq.com/articles/type-systems-verifying-musical-correctness

TL;DR: музыкальные композиции могут быть проверены с помощью системы типов, чтобы сделать негармоничные переходы между нотами непредставимыми. Для этого используется библиотека для хаскеля Mezzo и приводятся примеры с завтипами на идрисе. «Корректность» музыки вообще расплывчатый термин, поэтому в статье применяется дескриптивный подход — «если музыкальная тема отклоняется от ожидаемой модели, то это необычно» — и построение матрицы энтропии для различных комбинаций переходов от ноты к ноте.
Опубликовал перевод статьи об истоках математической нотации из журнала Математической ассоциации Америки:
https://habr.com/ru/post/490520
Это четвертая статья из цикла, но именно она показалась мне наиболее интересной.
https://scalacenter.github.io/scala-developer-survey-2019 — результаты опроса от Scala Center за 2019 год подъехали.
Интересно, что Metals показал достаточно высокий процент использования! Это только укрепляет мою точку зрения, что за LSP будущее.
https://www.reddit.com/r/typescript/comments/fda3pw/a_typelevel_lisp_interpreter_ish — интерпретатор лиспоподобного языка на типах TypeScript 🦾
Увы, из-за «Type instantiation is excessively deep and possibly infinite» максимум, что может — посчитать 4×4, а вот 5×5 уже нет.
Немного личного.
В общем, что-то во мне надломилось и я решил уйти из TypeScript-коммьюнити. Старые библиотеки (если кому-то они нужны, лол) вроде fetcher-ts или circuit-breaker-monad буду поддерживать на уровне совместимости с мажорной версией fp-ts, но нового писать ничего не хочу — надоело бороться с ветряными мельницами. Ебитесь и дальше с «ехал any через any», но уже без меня ¯\_(ツ)_/¯
В течении ~полугода постараюсь конвертировать свой опыт (архитектура + фуллстэк-разработка + ПМ + девопс) под экосистему хаскеля. В идеале — найду проектного ментора и запилю несколько pet-проектов для портфолио.
Хотел написать, как всегда, «не переключайтесь», но именно сейчас то время, чтобы переключить канал. Этот тайпскриптер сломался, несите другого.