Пока Джон Де Гуз рассказывал о смерти Tagless Final, Джулио Канти написал статью об имплементации TF на TypeScript. Напомню, что я также раньше выкладывал реализацию TF с помощью его библиотеки fp-ts: https://news.1rj.ru/str/randomstuffilike/49.
Демонстрация того, что PowerPoint обладает полнотой по Тьюрингу.
YouTube
On The Turing Completeness of PowerPoint (SIGBOVIK)
Video highlighting my research on PowerPoint Turing Machines for CMU's SIGBOVIK 2017
Read the paper:
http://tomwildenhain.com/PowerPointTM/Paper.pdf
Download the TM:
http://tomwildenhain.com/PowerPointTM/PowerPointTM.pptx
Original video (without live background…
Read the paper:
http://tomwildenhain.com/PowerPointTM/Paper.pdf
Download the TM:
http://tomwildenhain.com/PowerPointTM/PowerPointTM.pptx
Original video (without live background…
Forwarded from oleg_log (Oleg Kovalov)
Один из лучших материалов из раздела #ненормальноепрограммирование Всем давно известно, что шаблоны в спп Тюринг-полные, как майнкрафт и дварф фортресс, я даже хтмл+цсс знал, но....power point
http://beza1e1.tuxen.de/articles/accidentally_turing_complete.html
http://beza1e1.tuxen.de/articles/accidentally_turing_complete.html
beza1e1.tuxen.de
Accidentally Turing-Complete
A list of things that were not supposed to be Turing-complete, but are.
‼️ Появилась запись доклада Джона Де Гуза о смерти Tagless Final ‼️
https://skillsmatter.com/skillscasts/13247-scala-matters
https://skillsmatter.com/skillscasts/13247-scala-matters
dd if=/dev/stuff of=/dev/tg
‼️ Появилась запись доклада Джона Де Гуза о смерти Tagless Final ‼️ https://skillsmatter.com/skillscasts/13247-scala-matters
TL;DR для нетерпеливых:
— Death of TF == Reader monad + Bifunctor IO (ZIO) + module pattern (cake, но не совсем) + horizontal effect rotation (о деталях которого, кстати, Джон не особо распространяется даже в личке);
— ZIO теперь трифунктор, а не бифунктор;
— «серебряная пуля», по мнению Джона, в том смысле, что этот подход одновременно reasonable, имеет отличную производительность, хорошо комбинируется и ему легко (гхм) обучить коллег;
— Данный подход можно внедрять в вашу (функциональную) кодовую базу постепенно, не требуя деструктивного рефакторинга всего и вся;
— Доступно в ZIO уже сегодня (Джон мерджит PR'ы прямо сейчас :))
Попробую потихоньку реализовать это на TypeScript, потому что слабоумие и отвага.
¯\_(ツ)_/¯
— Death of TF == Reader monad + Bifunctor IO (ZIO) + module pattern (cake, но не совсем) + horizontal effect rotation (о деталях которого, кстати, Джон не особо распространяется даже в личке);
— ZIO теперь трифунктор, а не бифунктор;
— «серебряная пуля», по мнению Джона, в том смысле, что этот подход одновременно reasonable, имеет отличную производительность, хорошо комбинируется и ему легко (гхм) обучить коллег;
— Данный подход можно внедрять в вашу (функциональную) кодовую базу постепенно, не требуя деструктивного рефакторинга всего и вся;
— Доступно в ZIO уже сегодня (Джон мерджит PR'ы прямо сейчас :))
Попробую потихоньку реализовать это на TypeScript, потому что слабоумие и отвага.
¯\_(ツ)_/¯
dd if=/dev/stuff of=/dev/tg
TL;DR для нетерпеливых: — Death of TF == Reader monad + Bifunctor IO (ZIO) + module pattern (cake, но не совсем) + horizontal effect rotation (о деталях которого, кстати, Джон не особо распространяется даже в личке); — ZIO теперь трифунктор, а не бифунктор;…
Ну и оригинальная статья от Джона со всеми подробностями:
http://degoes.net/articles/zio-environment
http://degoes.net/articles/zio-environment
John A De Goes
Beautiful, Simple, Testable Functional Effects for Scala
Tagless-final has given us testable functional effects, but at great cost. Now ZIO provides an easier way.
Очень интересный тред от @odomontois о том, чем TF круче нового ZIO:
https://twitter.com/odomontois/status/1100622968416288768
https://twitter.com/odomontois/status/1100622968416288768
Twitter
Oleg Nizhnik
The new ZIO aproach is a great breakthrough for us and drop-in replacement for our own ReaderT. Still it could not be full a replacement for our tagless final architecture. Want to know more? One like - one thing tagless final can do that rotated effects…
Весьма занятная статья от Li Haoyi и Ahir Reddy о сборке проекта на Scala при помощи Bazel. Кто до сих пор страдает от задумчивости sbt, эта статья может подкинуть вам пару идей.
Databricks
How to accelerate Scala Builds with Bazel
This post walks you through migrating build from SBT to Bazel, improvements of Scala build process, and demonstrates the concrete speedup each change contributed to the smooth experience using Scala with Bazel at Databricks.
Forwarded from Вебня
С сегодняшнего дня мастер ветка репозитория спецификации содержит версию ES2020, а ES2019 выделен в отдельную ветку. Напомню, что следуя документу процесса TC39, feature freeze ES2019 происходит после январской встречи, а все последующие предложения в спецификацию, которые достигнут stage 4, попадут уже в ES2020. Официальный релиз ES2019 произойдет в июле.
https://twitter.com/bterlson/status/1101226568985174016
https://twitter.com/bterlson/status/1101226568985174016
Twitter
bterlson.d.ts
ECMA262 master branch is now ES2020! Really looking forward to all the hindsight jokes ya'll are inevitably going to make!
Стараюсь держать канал вне политики, но по важным темам иногда прорывает. Этот случай один из таких.
Я всячески поддерживаю РосКомСвободу и считаю, что свободный неограниченный доступ к Интернету — это одно из базовых прав гражданина и человека вообще, а путь изоляционизма и тотальной цензуры — это тупиковая ветвь, которая тащит Россию обратно в совок. Ребята из РосКомСвободы избрали способ борьбы, который очень близок мне по духу: гласность, публичность и абсолютная законность в рамках европейского права. Поэтому изучите, пожалуйста, материалы по ссылкам в репосте, и если найдёте их близкими своим убеждениям, поддержите их инициативу.
Я всячески поддерживаю РосКомСвободу и считаю, что свободный неограниченный доступ к Интернету — это одно из базовых прав гражданина и человека вообще, а путь изоляционизма и тотальной цензуры — это тупиковая ветвь, которая тащит Россию обратно в совок. Ребята из РосКомСвободы избрали способ борьбы, который очень близок мне по духу: гласность, публичность и абсолютная законность в рамках европейского права. Поэтому изучите, пожалуйста, материалы по ссылкам в репосте, и если найдёте их близкими своим убеждениям, поддержите их инициативу.
Forwarded from Roskomsvoboda
❗️ Цифровая оборона интернета
РосКомСвобода запускает общественную кампанию, направленную на отстаивание цифровых прав и против текущего негативного тренда государственного регулирования интернета в России.
➡️ https://roskomsvoboda.org/45308
➡️ https://oborona.digital
Первое, что делаем в рамках "Цифровой обороны" — объединяем усилия против законопроекта «О суверенизации Рунета» Клишаса-Боковой-Лугового.
Мы предлагаем написать обращение депутатам — соответствующий гид выложен на сайте. Примеры таких обращений мы привели на данной странице. Там же расположен файл, содержащий расширенную экспертную аргументацию, который вы можете прикрепить к своему обращению.
Просим вас рассказать своим друзьям и знакомым о «Цифровой обороне», делайте перепост в социальных сетях и мессенджерах. Распространяйте новости кампании с хештегом #ЦифроваяОборона.
Скачивайте баннеры на специальной странице кампании и размещайте их у себя на сайте, соцсетях, блоге. На той же странице можно подписаться на новости кампании.
В наших силах сделать всё возможное, чтоб интернет в нашей стране был удобным, быстрым и свободным, а цифровые права граждан уважались властями!
Те интернет-ресурсы, общественные организации, коммерческие отраслевые компании, ассоциации, медиапорталы, которые захотят присоединиться к данной общественной кампании или иным образом взаимодействовать с её организаторами — могут проконтактировать с нами по данному e-mail: roskomsvoboda@rublacklist.net
РосКомСвобода запускает общественную кампанию, направленную на отстаивание цифровых прав и против текущего негативного тренда государственного регулирования интернета в России.
➡️ https://roskomsvoboda.org/45308
➡️ https://oborona.digital
Первое, что делаем в рамках "Цифровой обороны" — объединяем усилия против законопроекта «О суверенизации Рунета» Клишаса-Боковой-Лугового.
Мы предлагаем написать обращение депутатам — соответствующий гид выложен на сайте. Примеры таких обращений мы привели на данной странице. Там же расположен файл, содержащий расширенную экспертную аргументацию, который вы можете прикрепить к своему обращению.
Просим вас рассказать своим друзьям и знакомым о «Цифровой обороне», делайте перепост в социальных сетях и мессенджерах. Распространяйте новости кампании с хештегом #ЦифроваяОборона.
Скачивайте баннеры на специальной странице кампании и размещайте их у себя на сайте, соцсетях, блоге. На той же странице можно подписаться на новости кампании.
В наших силах сделать всё возможное, чтоб интернет в нашей стране был удобным, быстрым и свободным, а цифровые права граждан уважались властями!
Те интернет-ресурсы, общественные организации, коммерческие отраслевые компании, ассоциации, медиапорталы, которые захотят присоединиться к данной общественной кампании или иным образом взаимодействовать с её организаторами — могут проконтактировать с нами по данному e-mail: roskomsvoboda@rublacklist.net
Роскомсвобода
Цифровая оборона интернета
РосКомСвобода запускает общественную кампанию, направленную на отстаивание цифровых прав и против текущего негативного тренда государственного регулирования интернета в России.
Рассказ о том, как CloudFlare писали парсер для синтаксиса WireShark на расте:
https://blog.cloudflare.com/building-fast-interpreters-in-rust/
https://blog.cloudflare.com/building-fast-interpreters-in-rust/
The Cloudflare Blog
Building fast interpreters in Rust
We created a Rust library for writing and executing Wireshark®-like filters in different parts of our stack.
Forwarded from addmeto
Ну наконец-то, консорциум W3C утвердил спецификацию WebAuthn в качестве стандарта для аутентификации пользователей. Это система, позволяющая отказаться от паролей в пользу использования отпечатков пальцев и вообще биометрии, твой идентификатор это браузер.
Счастье еще и в том, что сейчас этот стандарт поддерживают все браузеры, даже Safari с декабря тестирует WebAuthn. https://venturebeat.com/2019/03/04/w3c-approves-webauthn-as-the-web-standard-for-password-free-logins/
Счастье еще и в том, что сейчас этот стандарт поддерживают все браузеры, даже Safari с декабря тестирует WebAuthn. https://venturebeat.com/2019/03/04/w3c-approves-webauthn-as-the-web-standard-for-password-free-logins/
VentureBeat
W3C approves WebAuthn as the web standard for password-free logins
The World Wide Web Consortium (W3C) announced that the Web Authentication API (WebAuthn) is an official web standard for password-free logins on the web.
Forwarded from bravit-about
В прошедший уикенд я читал лекции в CS-клубе при ПОМИ РАН по выводу типов в системе Хиндли-Милнера и компиляторе GHC (https://compsciclub.ru/courses/types/2019-spring/). Утром второго дня я получил от Amazon'а письмо, начинавшееся со слов «Hello Vitaly Bragilevsky,
Are you looking for something in our Computers & Technology Software Books department? If so, you might be interested in these items».
В теме письма при этом значилось «Types and Programming...», а в списке были настолько близкие к тематике курса книги, что я решил начать лекцию с зачитывания полученного списка. Честно говоря, я был удивлён качеством рекомендации. Разумеется, я все эти книги прекрасно знаю, но получить такую подборку от искусственного интеллекта было очень приятно. Чаще приходится месяцами наблюдать рекомендации относительно покупки чайника сразу после приобретения чайника, ведь всем известно, что люди всегда покупают по два чайника.
Один из слушателей попросил меня продублировать список здесь, что я с удовольствием и делаю.
1) Types and Programming Languages, Benjamin C. Pierce
Азбука нашего дела. Здорово, что есть (замечательный!) русский перевод (http://newstar.rinet.ru/~goga/tapl/), в котором мне в числе прочих выписана благодарность, которой я очень горжусь.
2) Purely Functional Data Structures, Chris Okasaki
Приятная книга, помогающая понять все сложности и интересности работы со структурами данных в чисто функциональном программировании. В книге примеры на ML, но есть приложение с реализациями на Haskell. Есть и русский перевод, я был его редактором: https://dmkpress.com/catalog/computer/programming/functional/978-5-97060-233-1/
3) Basic Category Theory for Computer Scientists, Benjamin C. Pierce
Как признаётся сам автор, ему захотелось изучить теорию категорий, поэтому он и написал эту книжку. Написана она почти 30 лет назад, Пирс тогда был совсем молодым. Книжка очень тонкая (всего 114 страниц), что очень приятно.
4) The Little Typer, Daniel P. Friedman, David Thrane Christiansen
Приятный (несколько игровой) способ изучить зависимые типы. Предисловие от Боба Харпера и послесловие от Коннора МакБрайда говорят сами за себя. Книжка новая, вышла в сентябре 2018 года.
5) Structure and Interpretation of Computer Programs, Harold Abelson, Gerald Jay Sussman, Julie Sussman
Ну, тут всё ясно, классика. Есть русский перевод: http://newstar.rinet.ru/~goga/sicp/sicp.pdf. Кстати, у книг 1, 2, 5 есть один общий переводчик — замечательный Георгий Бронников, мы все должны быть ему благодарны.
6) Practical Foundations for Programming Languages, Robert Harper
Актуальная библия теории типов. Текст сложный: этой осенью я участвовал в семинаре, в рамках которого делались доклады по этой книге. Так вот студенты всячески пытались с неё свинтить, заменяя на более простые источники. Ну, действительно сложно.
7) The Art of Computer Programming, Volumes 1-4A, Donald E. Knuth
Тут искусственный интеллект немного лопухнулся, но книжка всё равно важная!
8) Type Theory and Formal Proof: An Introduction, Rob Nederpelt, Herman Geuvers
Неплохой современный учебник по теории типов (2014 год) от Cambridge University Press, достаточно высокий уровень, но написано относительно просто.
9) The Little Prover, Daniel P. Friedman, Carl Eastlund
Индуктивные доказательства во всей красе и снова в игровом стиле. Предисловие от Маттиаса Феллайзена, тоже не последний человек, зря рекомендовать книгу не будет.
Внезапно оказалось, что я смотрел только часть письма, а внизу была ссылка на полный список рекомендаций. В полном списке также нашлись Type-driven Development in Idris от Эдвина Брейди (тоже с благодарностью мне!), Compilers: Principles, Techniques, and Tools от Ахо, Лэм, Сети и Ульмана, и почему-то Рефакторинг от Мартина Фаулера. Перестарался искусственный интеллект всё-таки, зря хвалил.
Are you looking for something in our Computers & Technology Software Books department? If so, you might be interested in these items».
В теме письма при этом значилось «Types and Programming...», а в списке были настолько близкие к тематике курса книги, что я решил начать лекцию с зачитывания полученного списка. Честно говоря, я был удивлён качеством рекомендации. Разумеется, я все эти книги прекрасно знаю, но получить такую подборку от искусственного интеллекта было очень приятно. Чаще приходится месяцами наблюдать рекомендации относительно покупки чайника сразу после приобретения чайника, ведь всем известно, что люди всегда покупают по два чайника.
Один из слушателей попросил меня продублировать список здесь, что я с удовольствием и делаю.
1) Types and Programming Languages, Benjamin C. Pierce
Азбука нашего дела. Здорово, что есть (замечательный!) русский перевод (http://newstar.rinet.ru/~goga/tapl/), в котором мне в числе прочих выписана благодарность, которой я очень горжусь.
2) Purely Functional Data Structures, Chris Okasaki
Приятная книга, помогающая понять все сложности и интересности работы со структурами данных в чисто функциональном программировании. В книге примеры на ML, но есть приложение с реализациями на Haskell. Есть и русский перевод, я был его редактором: https://dmkpress.com/catalog/computer/programming/functional/978-5-97060-233-1/
3) Basic Category Theory for Computer Scientists, Benjamin C. Pierce
Как признаётся сам автор, ему захотелось изучить теорию категорий, поэтому он и написал эту книжку. Написана она почти 30 лет назад, Пирс тогда был совсем молодым. Книжка очень тонкая (всего 114 страниц), что очень приятно.
4) The Little Typer, Daniel P. Friedman, David Thrane Christiansen
Приятный (несколько игровой) способ изучить зависимые типы. Предисловие от Боба Харпера и послесловие от Коннора МакБрайда говорят сами за себя. Книжка новая, вышла в сентябре 2018 года.
5) Structure and Interpretation of Computer Programs, Harold Abelson, Gerald Jay Sussman, Julie Sussman
Ну, тут всё ясно, классика. Есть русский перевод: http://newstar.rinet.ru/~goga/sicp/sicp.pdf. Кстати, у книг 1, 2, 5 есть один общий переводчик — замечательный Георгий Бронников, мы все должны быть ему благодарны.
6) Practical Foundations for Programming Languages, Robert Harper
Актуальная библия теории типов. Текст сложный: этой осенью я участвовал в семинаре, в рамках которого делались доклады по этой книге. Так вот студенты всячески пытались с неё свинтить, заменяя на более простые источники. Ну, действительно сложно.
7) The Art of Computer Programming, Volumes 1-4A, Donald E. Knuth
Тут искусственный интеллект немного лопухнулся, но книжка всё равно важная!
8) Type Theory and Formal Proof: An Introduction, Rob Nederpelt, Herman Geuvers
Неплохой современный учебник по теории типов (2014 год) от Cambridge University Press, достаточно высокий уровень, но написано относительно просто.
9) The Little Prover, Daniel P. Friedman, Carl Eastlund
Индуктивные доказательства во всей красе и снова в игровом стиле. Предисловие от Маттиаса Феллайзена, тоже не последний человек, зря рекомендовать книгу не будет.
Внезапно оказалось, что я смотрел только часть письма, а внизу была ссылка на полный список рекомендаций. В полном списке также нашлись Type-driven Development in Idris от Эдвина Брейди (тоже с благодарностью мне!), Compilers: Principles, Techniques, and Tools от Ахо, Лэм, Сети и Ульмана, и почему-то Рефакторинг от Мартина Фаулера. Перестарался искусственный интеллект всё-таки, зря хвалил.