Forwarded from rusta::mann
В 2019 из компилятора Rust выпилили синтаксические плагины, и с тех пор в области интроспекции типчиков в мета-коде царит нищета: процедурные макросы, которые сейчас есть, мапят потоки токенов и имеют доступ только к маленькой части AST.
С тех пор никаких подвижек в стабилизации доступа к полноценному AST и compiler queries не было, что в целом понятно — утилиты, которые используют внутренние API rustc, периодически ломаются.
Но тем не менее, в ночниках доступен rustc_interface, с помощью которого можно наворачивать кастомные утилиты, которые используют компилятор для анализа кода (как, например, clippy или rustfmt).
И если на время проигнорировать нестабильность и ад поддержки совместимости таких штук с ночником, то
Когда-нибудь я может быть даже напишу прототип :))
#мысливслух #rustlang
С тех пор никаких подвижек в стабилизации доступа к полноценному AST и compiler queries не было, что в целом понятно — утилиты, которые используют внутренние API rustc, периодически ломаются.
Но тем не менее, в ночниках доступен rustc_interface, с помощью которого можно наворачивать кастомные утилиты, которые используют компилятор для анализа кода (как, например, clippy или rustfmt).
И если на время проигнорировать нестабильность и ад поддержки совместимости таких штук с ночником, то
rustc_interface
в частности, и доступ к приватным API компилятора в целом, дает возможность писать "гибридные" макросы в build.rs
.Когда-нибудь я может быть даже напишу прототип :))
#мысливслух #rustlang
Forwarded from dd if=/dev/stuff of=/dev/tg
Прекрасная статья (с упражнениями!) от Вероники Ромашкиной и Дмитрия Кованикова:
https://kowainik.github.io/posts/haskell-mini-patterns
https://kowainik.github.io/posts/haskell-mini-patterns
Kowainik
Kowainik - Haskell mini-patterns handbook
Collection of small Haskell patterns with detailed description, examples and exercises
#game #gamedev
Factorio вышла из раннего доступа и наконец дошла до версии 1.0, спустя восемь с половиной лет от начала разработки.
factorio.com/blog/post/fff-360
Factorio вышла из раннего доступа и наконец дошла до версии 1.0, спустя восемь с половиной лет от начала разработки.
factorio.com/blog/post/fff-360
Factorio
Friday Facts #360 - 1.0 is here! | Factorio
Hello, the atmosphere in the last week was kind of special. We experienced the feeling of the final release being on the horizon many times. And we were shown that it isn't the case time and time again. So it feels very special when it is actually becoming…
#prog #parsing #regex #article (строго говоря, не про разбор, а про распознавание, но всё же)
Можно ли подсчитать производную от регулярного выражения? Можно и нужно!
Статья рассказывает о изученной и эффективной, но почему-то мало известной на практике технике построения распознающих конечных автоматов непосредственно из регулярных выражений. К сожалению, в статье рассматривается лишь задача о соответствии регулярного тексту, в ней ничего не говорится о, скажем, захвате соответствующих частей текста.
"In this paper, we have presented RE derivatives, which are an old, but largely forgotten, technique for constructing DFAs directly from REs. Our experience has been that RE derivatives are a superior technique for generating scanners from REs and they should be in the toolkit of any programmer. Specifically, RE derivatives have the following advantages:
• They provide a direct RE to DFA translation that is well suited to implementation in functional languages.
• They support extended REs almost for free.
• The generated scanners are often optimal in the number of states and are uniformly better than those produced by previous tools.
In addition to presenting the basic RE to DFA algorithm, we have also discussed a number of practical issues related to implementing a scanner generator that is based on RE derivatives, including supporting large character sets"
www.ccs.neu.edu/home/turon/re-deriv.pdf
Можно ли подсчитать производную от регулярного выражения? Можно и нужно!
Статья рассказывает о изученной и эффективной, но почему-то мало известной на практике технике построения распознающих конечных автоматов непосредственно из регулярных выражений. К сожалению, в статье рассматривается лишь задача о соответствии регулярного тексту, в ней ничего не говорится о, скажем, захвате соответствующих частей текста.
"In this paper, we have presented RE derivatives, which are an old, but largely forgotten, technique for constructing DFAs directly from REs. Our experience has been that RE derivatives are a superior technique for generating scanners from REs and they should be in the toolkit of any programmer. Specifically, RE derivatives have the following advantages:
• They provide a direct RE to DFA translation that is well suited to implementation in functional languages.
• They support extended REs almost for free.
• The generated scanners are often optimal in the number of states and are uniformly better than those produced by previous tools.
In addition to presenting the basic RE to DFA algorithm, we have also discussed a number of practical issues related to implementing a scanner generator that is based on RE derivatives, including supporting large character sets"
www.ccs.neu.edu/home/turon/re-deriv.pdf
Блог*
#prog #ml Machine learning, который мы заслужили. thisdickpicdoesnotexist.com (если вы ещё не поняли, это NSFW)
#prog #ml #article
А тут решали обратную задачу: детектирование NSFW.
habr.com/ru/company/ru_mts/blog/515000/
А тут решали обратную задачу: детектирование NSFW.
habr.com/ru/company/ru_mts/blog/515000/
Хабр
Не те игрушки: как мы научили нейросеть бороться с порно в стримах
Всем привет, меня зовут Олег, я занимаюсь компьютерным зрением в команде Видеоаналитики МТС и сегодня расскажу вам, как мы защищаем от небезопасного контента стриминговую платформу WASD.tv, в...
Блог*
#prog #parsing #regex #article (строго говоря, не про разбор, а про распознавание, но всё же) Можно ли подсчитать производную от регулярного выражения? Можно и нужно! Статья рассказывает о изученной и эффективной, но почему-то мало известной на практике технике…
#prog #rust #rustlib #amazingopensource
А вот где эта техника используется на практике: в новом генераторе лексеров Sana.
github.com/suhr/sana/
А вот где эта техника используется на практике: в новом генераторе лексеров Sana.
github.com/suhr/sana/
Это просто цирк какой-то. Яндекс.Такси переименовали в Яндекс Go и запихнули туда функционал Яндекс.{Еды, Лавки, Драйв}. Причём почему-то это преподносится как что-то хорошее.
Интересно, как быстро они распилят обратно, сопроводив это той же самой риторикой о том, как стало удобнее.
yandex.ru/company/press_releases/2020/2020-08-19
Интересно, как быстро они распилят обратно, сопроводив это той же самой риторикой о том, как стало удобнее.
yandex.ru/company/press_releases/2020/2020-08-19
Компания Яндекс
Яндекс Go — новое приложение для быстрого решения задач в городе
Яндекс запускает Go — единое приложение для решения повседневных задач в городе. С помощью Яндекс Go люди смогут быстро добраться куда нужно на общественном транспорте, такси, каршеринге и даже на машине с персональным водителем, заказать экспресс-доставку…
👍4
Forwarded from Generative Anton
Ого, оказывается даже Apple чёт там у себя хотят в нетворкинге писать на Rust'e как замене чистому C. Интересно конечно