Я решил, что буду писать не только на тему функционального программирования, ведь мне есть что сказать на темы образования, обучения команд, архитектуры, лидерства. Поэтому в качестве эксперимента я опубликовал небольшое эссе о системе управления знаниями, которую я использую: https://ybogomolov.me/with-simplicity-comes-clarity
А что используете вы для упорядочивания знаний? Notion, Logseq, Obsidian, Evernote, Gingko, или, может, что-то кастомное? Пишите в комментариях, мне интересно узнать больше о моих подписчиках.
А что используете вы для упорядочивания знаний? Notion, Logseq, Obsidian, Evernote, Gingko, или, может, что-то кастомное? Пишите в комментариях, мне интересно узнать больше о моих подписчиках.
ybogomolov.me
With Simplicity Comes Clarity
Джон Де Гоуз написал огромную статью с обзором всей экосистемы Scala, включая IDE и системы сборки: https://degoes.net/articles/scala-resurrection
Главное, что он не просто перечислил факты, а предложил решения для некоторых проблем. В частности, он предложил провести Scala Open Source Summit, где предполагается обсуждать вопросы консолидации экосистем.
Как по мне, очень здравые предложения. А что думаете вы?
Главное, что он не просто перечислил факты, а предложил решения для некоторых проблем. В частности, он предложил провести Scala Open Source Summit, где предполагается обсуждать вопросы консолидации экосистем.
Как по мне, очень здравые предложения. А что думаете вы?
John A De Goes
Scala Resurrection
Scala's market may not grow any larger unless we take action to address the challenges the language faces
Эмили Риль объясняет концепцию бесконечности на пяти уровнях сложности, от детского до экспертного: https://youtu.be/Vp570S6Plt8
Нереально крутая серия видео от Wired, советую глянуть и другие видео из этого плейлиста: https://youtube.com/playlist?list=PLibNZv5Zd0dyCoQ6f4pdXUFnpAIlKgm3N
Нереально крутая серия видео от Wired, советую глянуть и другие видео из этого плейлиста: https://youtube.com/playlist?list=PLibNZv5Zd0dyCoQ6f4pdXUFnpAIlKgm3N
YouTube
Mathematician Explains Infinity in 5 Levels of Difficulty | WIRED
While the concept of infinity may seem mysterious, mathematicians have developed processes to reason the strange properties of infinity. Mathematician Emily Riehl has been challenged to explain infinity to 5 different people; a child, a teen, a college student…
Forwarded from PONV Daily (Sergey Kucherenko)
Free Variables and Free Effects: an elementary introduction to algebraic effects and handlers
https://okmij.org/ftp/Computation/variables-effects.html
https://okmij.org/ftp/Computation/variables-effects.html
okmij.org
Free Variables and Free Effects
An elementary introduction to algebraic effects and handlers, and two different ways of dealing with free variables
Для Scala.js разработали новый плагин для hot reload: https://www.scala-lang.org/blog/2023/04/18/faster-scalajs-development-with-frontend-tooling.html
В отличии от старого scalajs-bundler, который работал с webpack, новая разработка нацелена на Vite.
А вы пробовали этот бандлер?
В отличии от старого scalajs-bundler, который работал с webpack, новая разработка нацелена на Vite.
А вы пробовали этот бандлер?
www.scala-lang.org
Faster Scala.js development with front-end tooling and new tutorials
Using the new vite-plugin-scalajs to better integrate Scala.js with the Vite build tool, and announcing new tutorials for front-end development with Scala.js.
Сегодня в Лиссабоне проходит ZIO World 2023. Я оффлайн приехать в этом году не смог, хоть это и близко, поэтому смотрю онлайн. Веду небольшую трансляцию в твиттере: https://twitter.com/YuriyBogomolov/status/1649339971038334977
Подписывайтесь 😉 А вы смотрите эту конференцию? Что думаете про ZIO 2.1 и новую модель стримов?
Подписывайтесь 😉 А вы смотрите эту конференцию? Что думаете про ZIO 2.1 и новую модель стримов?
Twitter
And it began! I will be writing some news and my thoughts in this thread, so be sure to like and retweet!👇
Вынес всю информацию по менторингу к себе на сайт: https://ybogomolov.me/mentoring ✨
На текущий момент готов взять 2-3 человек в персональный менторинг, или 4-5 в группу. Старт группы возможен уже в августе, а early birds получат скидку 10%!
На текущий момент готов взять 2-3 человек в персональный менторинг, или 4-5 в группу. Старт группы возможен уже в августе, а early birds получат скидку 10%!
В эфире нерегулярная рубрика «дед ворчит на строки»: https://ybogomolov.me/primitives-were-a-mistake
Рассказываю, почему вы должны перестать пользоваться типами
Рассказываю, почему вы должны перестать пользоваться типами
string, number, boolean прямо сейчас.ybogomolov.me
Primitives Were A Mistake
Реализация STLC на хаскеле с использованием индексов/уровней де Брёйна: https://hirrolot.github.io/posts/how-to-keep-lambda-calculus-simple.html 🔥
hirrolot.github.io
How to Keep Lambda Calculus Simple
Шахматы на тайп-левеле, причем с реализацией не только на TypeScript, но и на Rust:
https://github.com/Dragon-Hatcher/type-system-chess
Программа на Rust более чем в пять раз длиннее, чем на TS. Любопытные выводы автора:
• TS — писать на тайп-левеле почти приятно, но не хватает математики и let-байндингов (о да!).
• Rust — больше никогда!!1, очень медленно и многословно.
https://github.com/Dragon-Hatcher/type-system-chess
Программа на Rust более чем в пять раз длиннее, чем на TS. Любопытные выводы автора:
• TS — писать на тайп-левеле почти приятно, но не хватает математики и let-байндингов (о да!).
• Rust — больше никогда!!1, очень медленно и многословно.
GitHub
GitHub - Dragon-Hatcher/type-system-chess: Chess implemented entirely in the Rust and TS type systems.
Chess implemented entirely in the Rust and TS type systems. - Dragon-Hatcher/type-system-chess
Old, but gold: при определенных условиях компилятор раста генерировал имя типа размером 350 мегабайт. Хорошо все-таки, когда система типов Тьюринг-полна 🤤
TLA+, но с человеческим синтаксисом:
https://github.com/informalsystems/quint
Quint is inspired by TLA+ but provides an alternative surface syntax for specifying systems in TLA. The most important feature of our syntax is that it is minimal and regular, making Quint an easy target for advanced developer tooling and static analysis.
https://github.com/informalsystems/quint
Quint is inspired by TLA+ but provides an alternative surface syntax for specifying systems in TLA. The most important feature of our syntax is that it is minimal and regular, making Quint an easy target for advanced developer tooling and static analysis.
GitHub
GitHub - informalsystems/quint: An executable specification language with delightful tooling based on the temporal logic of actions…
An executable specification language with delightful tooling based on the temporal logic of actions (TLA) - informalsystems/quint
Начало новой серии статей о Effect:
https://ybogomolov.me/01-effect-intro 🔥
Рассказываю, что такое
https://ybogomolov.me/01-effect-intro 🔥
Рассказываю, что такое
Effect<R, E, A>, как создавать, комбинировать, и интерпретировать эффект-выражения. Плюс небольшой бонус — функция effectify для конвертации Node-style callbacks в эффект-выражения.ybogomolov.me
Intro To Effect, Part 1: What Is Effect?
В твиттере показали красивое: https://github.com/gvergnaud/hotnoscript
Вторая статья из серии “Intro to Effect”: https://ybogomolov.me/02-effect-handling-errors ✨
Рассказываю о способах обработки ошибок в Effect и механизмах организации повторяемых вычислений (retry policies).
Рассказываю о способах обработки ошибок в Effect и механизмах организации повторяемых вычислений (retry policies).
ybogomolov.me
Intro To Effect, Part 2: Handling Errors
Typed Design Patterns for the Functional Era
This paper explores how design patterns could be revisited in the era of mainstream functional programming languages.
https://arxiv.org/abs/2307.07069
This paper explores how design patterns could be revisited in the era of mainstream functional programming languages.
https://arxiv.org/abs/2307.07069
Третья статья из серии "Intro to Effect": https://ybogomolov.me/03-effect-managing-dependencies 🔥
Сегодня рассказываю про сервисы, слои (layers), и способ сделать DI без IoC-контейнеров.
Сегодня рассказываю про сервисы, слои (layers), и способ сделать DI без IoC-контейнеров.
ybogomolov.me
Intro To Effect, Part 3: Managing Dependencies
Четвертая статья из серии "Intro to Effect": https://ybogomolov.me/04-effect-concurrency ✨
Продолжаю цикл статей про Effect рассказом о конкурентном выполнении задач и fiber-based runtime.
Продолжаю цикл статей про Effect рассказом о конкурентном выполнении задач и fiber-based runtime.
ybogomolov.me
Intro To Effect, Part 4: Concurrency in Effect
Пятая статья из цикла “Intro to Effect”:
https://ybogomolov.me/05-effect-stm ✨
Разбираю тему software transactional memory (STM).
https://ybogomolov.me/05-effect-stm ✨
Разбираю тему software transactional memory (STM).
ybogomolov.me
Intro To Effect, Part 5: Software Transactional Memory in Effect
https://nostarch.com/learn-physics-functional-programming — изучение ньютоновской физики при помощи Haskell. Признаться честно, я чуть удивлен, что используется не какой-нибудь язык с завтипами вроде Agda, Lean, или Idris.
Nostarch
Learn Physics with Functional Programming
Deepen your understanding of physics by learning to use the Haskell functional programming language.