Skip to content
HHackerTube.videoSurprise me

"Outperforming Imperative with Pure Functional Languages" by Richard Feldman

"Outperforming Imperative with Pure Functional Languages" by Richard Feldman on HackerTube: recommended by 6 Hacker News commenters across 6 separate months, 2021–2025.

Strange Loop Conference

talk · intermediate · evergreen

Open on YouTube

Richard Feldman explains how pure functional languages can match or beat imperative ones on performance. Compilers can turn immutable code into in-place mutation, avoiding naive copying. The talk draws on his work on the Roc language.

Why Hacker News recommends it

Recommended as the clearest explanation of why immutable data need not be slow, and as the introduction to Roc.

people recommended it
6
separate months
6
strong recommendations
0
discussed on HN
2021–2025
“As a starting point for those nitty grittys, this talk is probably as good as any”
— Akronymus, Jun 2022, in “Ask HN: Functional vs. Imperative Implementation of Algorithms”

What HN commenters said

8 Hacker News comments link this video. Each one links back to its thread.

greener_grassFeb 2025Recommends

We already have many great GC'd functional languages at that performance level. I first learned about Roc from this talk: ▶ this video That's a niche that is not currently filled (well, maybe MLTon) and that has me very excited! I'm sure I'm not alone here.

in “Roc rewrites the compiler in Zig” · View on HN

greener_grassOct 2024Recommends

1. Structural sharing - most data doesn't change so you create a copy that reuses much of the original structure 2. Garbage collection and lexical scopes - you clean up memory quickly and in batch 3. Compiler optimizations - you turn functional constructs into imperative ones that reuse and mutate memory at compile-time, where it is provably safe to do so Roc Lang might interest you: ▶ this video

in “Serialization Is the Secret” · View on HN

yashrkNov 2023Recommends

If you are interested, «why yet another programming language?». The unique selling point of Roc is clever optimization to convert purely functional source code to deep-imperative fast machine code, while keeping all the correctness of functional algorithms. See this video of Richard Feldman for details — «Outperforming Imperative with Pure Functional Languages»: ▶ this video Among those clever optimizations: - static reference counting (no GC, like in Rust, but with no borrowing and borrow problems); - stack allocation of the data with no external links; - hidden («opportunistic») mutability even in the cases, where Haskell or Lisp will copy the value.

in “Roc – A fast, friendly, functional language” · View on HN

AkronymusJun 2022Recommends

> Functional programming experts say that their code is efficient because the compiler translates it to an efficient representation on the CPU. They have TCO and other things. But they don't mutate data and hence every function call creates a new data in memory taking up space. How do they overcome that? By letting the compiler make assumptions. For example, consecutive map calls can be converted into a single one. If the data isn't shared with something else, the compiler can mutate it. MUCH easier to paralellize maps. As a starting point for those nitty grittys, this talk is probably as good as any ▶ this video

in “Ask HN: Functional vs. Imperative Implementation of Algorithms” · View on HN

aquadropFeb 2022Recommends

Maybe [link] ? It's not production ready, I just saw nice talk by Richard Feldman [1] about it and it's inspired by Elm. [1] ▶ this video

in “Haskell2020 Is Dead, but All Hope Is Not Lost (2019)” · View on HN

memcoNov 2021Recommends

> How would one optimize for immutability in this case, other than turning it back into mutability behind the scenes? Roc-lang, which is a functional, systems language in development uses something called opportunistic in-place mutation to do just that. Here's a video where the creator talks about it: ▶ this video

in “4x Smaller, 50x Faster” · View on HN

Show 2 more comments
niels_bomNov 2021Recommends

This talk by Richard Feldman about Roc (a new language) goed into why immutable does not necessarily mean slow and given enough attention can mean higher performance in certain cases: ▶ this video

in “4x Smaller, 50x Faster” · View on HN

yewenjieFeb 2022Cites it

So many new programming languages coming up with clever features that makes me wish I could mix and match their core features while using libraries from more popular languages. Up and coming Languages I am excited about - 1. Roc - ▶ this video 2. Zig - [link] 3. Scopes - [link] 4. Gleam - [link] 5. Odin - [link] 6. Koka - [link] 7. Unison - [link]

in “High-order Virtual Machine (HVM): Massively parallel, optimal functional runtime” · View on HN

Topics & tags