— Наша команда разработки — это одна большая семья!
— Аааа, так вот почему у вас нету девопса, tech writer в запое, а глава QA-отдела постоянно срётся с тимлидом!
— Аааа, так вот почему у вас нету девопса, tech writer в запое, а глава QA-отдела постоянно срётся с тимлидом!
😁7👎2
#prog #rust #article
Прекрасная серия статей про, фактически, имплементацию схем рекурсии в Rust. Чувствуется нехватка GAT.
===
Elegant and performant recursion in Rust
This is a post about writing elegant and performant recursive algorithms in Rust. It makes heavy use of a pattern from Haskell called recursion schemes, but you don't need to know anything about that; it's just an implementation detail. Instead, as motivation, I have benchmarks showing a 14-34% improvement over the typical boxed pointer representation of recursive data structures in Rust.
===
Fully generic recursion in Rust
Previously, we introduced a method for writing performant stack safe recursion in Rust for a single recursive data structure. This post uses the same ideas to implement a single recursion backend that can collapse or expand any recursive data structure.
===
Single Pass Recursion in Rust
This is the third post in a three-post series. In the first post we developed a stack-safe, ergonomic, and concise method for working with recursive data structures (using a simple expression language as an example). In the second post we made it fully generic, providing a set of generic tools for expanding and collapsing any recursive data structure in Rust.
In this post we will see how to combine these two things - expanding a structure and collapsing it at the same time, performing both operations in a single pass. In the process, we will gain the ability to write arbitrary recursive functions over traditional boxed-pointer recursive structures (instead of the novel
Прекрасная серия статей про, фактически, имплементацию схем рекурсии в Rust. Чувствуется нехватка GAT.
===
Elegant and performant recursion in Rust
This is a post about writing elegant and performant recursive algorithms in Rust. It makes heavy use of a pattern from Haskell called recursion schemes, but you don't need to know anything about that; it's just an implementation detail. Instead, as motivation, I have benchmarks showing a 14-34% improvement over the typical boxed pointer representation of recursive data structures in Rust.
===
Fully generic recursion in Rust
Previously, we introduced a method for writing performant stack safe recursion in Rust for a single recursive data structure. This post uses the same ideas to implement a single recursion backend that can collapse or expand any recursive data structure.
===
Single Pass Recursion in Rust
This is the third post in a three-post series. In the first post we developed a stack-safe, ergonomic, and concise method for working with recursive data structures (using a simple expression language as an example). In the second post we made it fully generic, providing a set of generic tools for expanding and collapsing any recursive data structure in Rust.
In this post we will see how to combine these two things - expanding a structure and collapsing it at the same time, performing both operations in a single pass. In the process, we will gain the ability to write arbitrary recursive functions over traditional boxed-pointer recursive structures (instead of the novel
RecursiveTree
type introduced in my previous post) while retaining stack safety.Inanna Malick
Elegant and performant recursion in Rust
This is a post about writing elegant and performant recursive algorithms in Rust. It makes heavy use of a pattern from Haskell called recursion schemes, but you don’t need to know anything about …
👍2❤1🔥1
Forwarded from Engineering log🍻 (Maxim Eryomenko)
Ещё один классный день, сегодня увидел как даже с одним мютексом люди умудряются залочить код, хотя казалось бы рекурсия и мютексы очевидно плохая идея. Код привести не могу, но есть сниппет https://play.golang.org/p/XHpMUm9l-M-
😁6👏2
Собянин заявил, что мобилизация в Москве прекращена. Ваше мнение?
Anonymous Poll
15%
Да, действительно прекратят
40%
Нет, официального указа не было, продолжат
44%
Прекратят официально, но продолжат скрытно