#prog #rust #article
Лодочник пишет о Pin.
Именно, в первой статье — Pin — автор объясняет, для чего нужен Pin и почему решения, предлагаемые на замену, не подходят и были в конечном счёте отброшены при дизайне async/await. В конце автор расписывает проблемы с Pin — включая эргономические.
В статье Pinned places лодочник рассказывает о возможном обратно совместимом расширении языка, которое интегрирует закрепление мест (places в терминологии Rust reference) в язык глубже. Как показывает автор, это позволяет значительно удобнее писать низкоуровневый (в стиле вызова poll) асинхронный код — без лишнего unsafe и с гораздо более прозрачным pin projection.
Лично я считаю предлагаемое расширение языка с моей дилетантской точки зрения довольно перспективным.
Лодочник пишет о Pin.
Именно, в первой статье — Pin — автор объясняет, для чего нужен Pin и почему решения, предлагаемые на замену, не подходят и были в конечном счёте отброшены при дизайне async/await. В конце автор расписывает проблемы с Pin — включая эргономические.
В статье Pinned places лодочник рассказывает о возможном обратно совместимом расширении языка, которое интегрирует закрепление мест (places в терминологии Rust reference) в язык глубже. Как показывает автор, это позволяет значительно удобнее писать низкоуровневый (в стиле вызова poll) асинхронный код — без лишнего unsafe и с гораздо более прозрачным pin projection.
Лично я считаю предлагаемое расширение языка с моей дилетантской точки зрения довольно перспективным.
👍9❤1
#music
Из сюрреалистичного шутера Post void.
karlflodin.bandcamp.com/track/post-void-single-feat-ycjy
Из сюрреалистичного шутера Post void.
karlflodin.bandcamp.com/track/post-void-single-feat-ycjy
Karl Flodin
POST VOID SINGLE (feat. YCJY), by Karl Flodin
track by Karl Flodin
#prog #article
A type system for RCL
Implementing a typechecker in Rust
Статья о некоторых деталях реализации тайпчекера разработанного автором языка конфигурации, который является ML-like расширением над JSON.
Это четвёртая статья в серии об этом языке, так что рекомендую также прочитать предыдущие.
В более ранней статье A reasonable configuration language автор рассказывает, что побудило его на разработку нового языка. В качестве неожиданного побочного эффекта он получил более удобную (для него) замену jq.
A type system for RCL
Implementing a typechecker in Rust
Статья о некоторых деталях реализации тайпчекера разработанного автором языка конфигурации, который является ML-like расширением над JSON.
Это четвёртая статья в серии об этом языке, так что рекомендую также прочитать предыдущие.
В более ранней статье A reasonable configuration language автор рассказывает, что побудило его на разработку нового языка. В качестве неожиданного побочного эффекта он получил более удобную (для него) замену jq.
Ruudvanasseldonk
A type system for RCL: Implementing a typechecker in Rust
I am adding a type system to RCL, my configuration language. In part 4, we look at how the typechecker is implemented in Rust, and at how it is able to generate good error messages.
👍1💩1
#prog #rust #article
repr(C): Clear, Simple and (Sometimes) Wrong
TL;DR:
repr(C): Clear, Simple and (Sometimes) Wrong
TL;DR:
#[repr(C)] даёт меньше гарантий, чем многие думают, и конкретные примеры показывают, как такие определения могут иметь непортабельные размер, выравнивание и смещения отдельных полейJack Sometimes Writes
`repr(C)`: Clear, Simple and (Sometimes) Wrong
Блог*
#prog Одной из самых впечатляющих разновидностей программ являются отладчики с записью и перемоткой потока состояния программы, такие, как rr. Записываешь выполнение программы один раз, сохраняешь на диск — и перезапускаешь сколько угодно раз. Благодаря тому…
#prog #article
Debugging an mruby Heap Corruption in Artichoke with Pernosco
Опыт использования этого отладчика для решения реального бага, включающего в себя порчу памяти из-за комбинации особого кода на Ruby и нескольких проходов сборщика мусора в VM.
Debugging an mruby Heap Corruption in Artichoke with Pernosco
Опыт использования этого отладчика для решения реального бага, включающего в себя порчу памяти из-за комбинации особого кода на Ruby и нескольких проходов сборщика мусора в VM.
hyperbola
hyperbola :: Debugging an mruby Heap Corruption in Artichoke with Pernosco
Pernosco is a hosted omniscient debugger that makes debugging complicated bugs tractable.
🤯5
#prog #rust #article
Avoid child modules in macros
TL;DR: модуль внутри функции не может напрямую обращаться к определениям внутри этой функции, и из-за того, что rustdoc по умолчанию добавляет main в док-комментарии, это может сломать макросы, которые выносят детали реализации во вложенный модуль (как правило, из соображений приватности).
Avoid child modules in macros
TL;DR: модуль внутри функции не может напрямую обращаться к определениям внутри этой функции, и из-за того, что rustdoc по умолчанию добавляет main в док-комментарии, это может сломать макросы, которые выносят детали реализации во вложенный модуль (как правило, из соображений приватности).
🤯4🫡1
Блог*
#prog #rust #amazingopensource Typst is a new markup-based typesetting system that is designed to be as powerful as LaTeX while being much easier to learn and use. Typst has: * Built-in markup for the most common formatting tasks * Flexible functions…
#abnormalprogramming
https://news.1rj.ru/str/al_tch/1170
Но из-за ограничений инструмента, понятное дело, тетрис пошаговый, и сид нужно вручную переставлять
https://news.1rj.ru/str/al_tch/1170
Но из-за ограничений инструмента, понятное дело, тетрис пошаговый, и сид нужно вручную переставлять
Telegram
AlexTCH
https://typst.app/universe/package/soviet-matrix/
A Tetris implemented inside https://typst.app Can be played online. 😏
A Tetris implemented inside https://typst.app Can be played online. 😏
🔥1