<story><title>Idiomatic Monads in Rust</title><url>https://varkor.github.io/blog/2019/03/28/idiomatic-monads-in-rust.html</url></story><parent_chain></parent_chain><comment><author>tinco</author><text>When this was released I posted this comment on the Haskell subreddit, thinking I was on the rust subreddit. It&amp;#x27;s got some musings about what the dangers of becoming like Haskell are:&lt;p&gt;I wonder, were the Rust community be given the same power as the Haskell community, would they use it to create a complex more advanced idiomatic Rust that you could only read and understand after months of training?&lt;p&gt;There is this weird phenomenon in Haskell, I attribute it to Haskell having a syntax that feels limiting, but a type system that seems almost limitless.&lt;p&gt;There are two branches of idiomatic Haskell. One is the style anyone would recognize as generic &amp;quot;functional programming&amp;quot; and would be able to work with and be productive after a week or two of practice.&lt;p&gt;The other is where a dozen language features are enabled, and the latest and greatest utility libraries are imported and Haskell shows itself to be as flexible and alienating as Lisp. An expert can wield extreme expression under purity and safety. A beginner stands no chance.&lt;p&gt;It would be interesting to see more expressive power come to Rust. But it would be a bad thing if it would come at the cost of being beginner friendly. Rust might be challenging to write as a beginner due to the borrow checker, but at least it&amp;#x27;s easy enough to read.</text></comment>
<story><title>Idiomatic Monads in Rust</title><url>https://varkor.github.io/blog/2019/03/28/idiomatic-monads-in-rust.html</url></story><parent_chain></parent_chain><comment><author>mruts</author><text>I&amp;#x27;m not that familiar with Rust, but what is the rational against higher-kinded types? Is it a technical limitation that everyone agrees is a limitation, or is there some rationale why higher-kinded types in Rust are not useful?&lt;p&gt;This is probably not relevant, but as a professional Scala programmer, I find higher-kinded types absolutely indispensable. Without them, writing truly generic (and imo, beautiful) code is almost impossible. Programming with higher-kinded types does really feel like some &amp;quot;next level shit.&amp;quot; higher-kinded types are to types as first-order functions are functions: the natural and logical extension that unlocks simplicity, genericity, and beauty.</text></comment>