Size: a a a

2020 August 15
Блог*
#prog

Я подозревал, что есть относительно общий метод для того, чтобы доказать, что имеющийся алгоритм решения задачи является оптимальным. Оказывается, такой метод действительно есть (до которого я бы сам не додумался): charging argument (нет, я не знаю, как это перевести)
источник
Блог*
#meme
источник
Блог*
источник
2020 August 16
Блог*
источник
Блог*
#prog #rust
источник
Блог*
В 2019 из компилятора Rust выпилили синтаксические плагины, и с тех пор в области интроспекции типчиков в мета-коде царит нищета: процедурные макросы, которые сейчас есть, мапят потоки токенов и имеют доступ только к маленькой части AST.

С тех пор никаких подвижек в стабилизации доступа к полноценному AST и compiler queries не было, что в целом понятно — утилиты, которые используют внутренние API rustc, периодически ломаются.

Но тем не менее, в ночниках доступен rustc_interface, с помощью которого можно наворачивать кастомные утилиты, которые используют компилятор для анализа кода (как, например, clippy или rustfmt).

И если на время проигнорировать нестабильность и ад поддержки совместимости таких штук с ночником, то rustc_interface в частности, и доступ к приватным API компилятора в целом, дает возможность писать "гибридные" макросы в build.rs.

Когда-нибудь я может быть даже напишу прототип :))

#мысливслух #rustlang
источник
Блог*
#video

А то что это я один это переслушиваю.

youtube.com/watch?v=03x0bU2w9HI
источник
2020 August 17
Блог*
#prog #haskell #article

Многие паттерны по факту не ограничены Haskell.
источник
Блог*
Прекрасная статья (с упражнениями!) от Вероники Ромашкиной и Дмитрия Кованикова:
https://kowainik.github.io/posts/haskell-mini-patterns
источник
Блог*
#game #gamedev

Factorio вышла из раннего доступа и наконец дошла до версии 1.0, спустя восемь с половиной лет от начала разработки.

factorio.com/blog/post/fff-360
источник
Блог*
#prog #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
источник
Блог*
dereference_pointer_there
#prog #ml

Machine learning, который мы заслужили.

thisdickpicdoesnotexist.com

(если вы ещё не поняли, это NSFW)
#prog #ml #article

А тут решали обратную задачу: детектирование NSFW.

habr.com/ru/company/ru_mts/blog/515000/
источник
Блог*
источник
Блог*
dereference_pointer_there
#prog #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
#prog #rust #amazingopensource

А вот где эта техника используется на практике: в новом генераторе лексеров Sana.

github.com/suhr/sana/
источник
Блог*
#meme
источник
Блог*
источник
Блог*
— Мне кажется, C и Javascript очень похожи.
— Нет, C лучше. Потому что там нет OOP.

#quotes
источник
2020 August 18
Блог*
источник
Блог*
Используй Силу типы, Люк.
источник
2020 August 19
Блог*
Это просто цирк какой-то. Яндекс.Такси переименовали в Яндекс Go и запихнули туда функционал Яндекс.{Еды, Лавки, Драйв}. Причём почему-то это преподносится как что-то хорошее.

Интересно, как быстро они распилят обратно, сопроводив это той же самой риторикой о том, как стало удобнее.

yandex.ru/company/press_releases/2020/2020-08-19
источник