dd if=/dev/stuff of=/dev/tg – Telegram
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
dd if=/dev/stuff of=/dev/tg
Заметка об использовании ScalaJS для написания кода под AWS-ный V8 напомнила о проекте, который позволяет нативно запускать хаскельный код в AWS: https://theam.github.io/aws-lambda-haskell-runtime
Самое любопытное здесь — табличка с бенчмарками относительно JVM и ноды. Вопросы, конечно остаются — скажем, на код остальных примеров хотелось бы тоже взглянуть, — но значения времени холодного старта и потребления памяти вызывают заинтересованность, как минимум.
Карл фон Госсеринг потратил 76 лет на написание трактата о часах. Об одник конкретных часах — часах-фонаре Николаса Валлина. В ходе написания этот трактата он предвосхитил специальную теорию относительности, поднял вопрос о проблеме останова, и даже построил исчисление для моделирования часовых механизмов.

Насладиться прекрасным тредом:
https://threadreaderapp.com/thread/1467417990744649728.html
Самое важное решение в моей жизни с @lene_love
Язык, который привлекает мое внимание в последнее время всё больше и больше — Unison.

Из интересного:
1. наличие как структурной, так и номинальной типизации из коробки благодаря ключевым словам structural и unique:
-- одинаковые типы:
structural type Maybe x = None | Just x
structural type Option x = Nothing | Some x
> Just 5 === Some 5

true


-- разные типы:
unique type Maybe x = None | Just x
unique type Option x = Nothing | Some x

> Just 5 === Some 5
The mismatch is because these types differ:
Option
Maybe


2. Наличие алгебраических эффектов в виде abilities:
f : '{Gen} Text
f = gen.Text.ascii

g : Text -> '{IO, Exception} ()
g txt = '(printLine txt)

-- abilities в композиции функций являются суммой abilities частей:
f_g : '{Gen, IO, Exception} ()
f_g = '(!(g !f))


3. Хранение кода в виде AST — что делает кэширование/мемоизацию/рефакторинг/поиск/etc гораздо более простым и мощным, нежели в случае хранения кода в виде текста. Это позволяет делать разные интересные штуки — вроде ускорения сборки кода благодаря закэшированным результатам сборки используемых частей библиотек.

Хороший обзор Unison сделал Рунар Бьярнасон в выступлении на Lambda Jam’21: https://www.youtube.com/watch?v=DF6zt0Q-pz4. Также могу смело порекомендовать отличную статью из их блога о том, как написать распределенную Spark-like структуру данных: https://www.unison-lang.org/articles/distributed-datasets.
Габриель Вольпе написал очень интересный пост о том, как в третьей скале можно обрабатывать ошибки без явного использования Either, используя только типы-суммы:
https://gvolpe.com/blog/error-handling-scala3
https://dotty.epfl.ch/docs/reference/experimental/cc.html эксперимент по добавлению в Scala 3 capture checking, которые мне напомнили о языке Flix, в котором разделение между чистыми и сайд-эффектящими функциями сделано на уровне синтаксиса.
Перевел в текстовую форму свой доклад "Making Illegal States Unrepresentable in TypeScript": https://ybogomolov.me/making-illegal-states-unrepresentable
Сам доклад, если кто-то пропустил, можно найти здесь: https://www.youtube.com/watch?v=T7i2wlCqgJk
В эту пятницу я буду участвовать в небольшом ивенте «TypeScript. Твой код в опасности» от коммьюнити Vue.js:
https://wearecommunity.io/events/typenoscript-tvoi-kod-v-opasnosti
Поговорим на тему того, насколько тайпскрипт как язык может гарантировать безопасность исполняемого кода, затронем извечную холиварную в мире JS тему «типы vs. тесты», обсудим различные подводные камни той или иной позиции. Приходите, будет интересно 🙂
Новая версия ресурса для изучения прувера TLA+: https://www.learntla.com
Пост автора о мотивации создания второй версии: https://www.hillelwayne.com/post/learntla
Немного новостей.
1. Я наконец-то навсегда покинул Россию вместе с семьей. Сейчас мы в одном из крупных городов Испании, с нами всё хорошо. Впервые за многие годы я могу вздохнуть спокойно и чувствовать себя в безопасности.
2. Мои статьи на Хабре на русском более недоступны. Все материалы, которые я написал, доступны на английском языке на https://ybogomolov.me и будут только там.

И да, наконец-то я без страха могу написать то, что болело с начала войны:
Нет войне. Нет «русскому миру». Путин и его приближенные — военные преступники, которых должны судить в Гааге. Украïнцi, тримайтеся та борiться, за вами правда! 🇺🇦