Work in progress: 82,651 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #430

H

Haoyi's Programming Blog

Personal blog · lihaoyi.comprogramming

Haoyi's Programming Blog is a personal blog at lihaoyi.com about programming. Since 2016, 130 different Hacker News readers have linked it 295 times, most often “What's Functional Programming All About?”. It is still writing: the last post was on 2026-08-29, and you can follow it by feed.

Visit the blog
295mentions?
10recommend?
130HN people?
2016–2026first – last linked?
Links on Hacker News per year · peak 50 in 2018

Sometimes recommended · 10 of 40 sampled comments recommend it?

Why HN links it

HN readers link this blog for Scala writing on functional programming, design principles and build tools, which commenters call phenomenal and enjoyable to read.

Recommended for · 10 comments
Called phenomenal and a fine series of Scala posts; recommended for design principles, functional programming and SBT critiques.

Summarised by Claude from a sample of 40 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

Most-linked posts?

  1. What's Functional Programming All About?
    10 people · 12 mentions · first linked 2017-01-25
  2. Strategic Scala Style: Principle of Least Power (2016)
    8 people · 10 mentions · first linked 2021-02-12
  3. /post/SowhatswrongwithSBT.html
    8 people · 9 mentions · first linked 2020-06-01
  4. Strategic Scala Style: Principle of Least Power
    7 people · 7 mentions · first linked 2016-03-11
  5. Principles of Automated Testing
    6 people · 8 mentions · first linked 2017-07-15
  6. What's functional programming all about? (2017)
    6 people · 6 mentions · first linked 2020-04-20
  7. Build Tools as Pure Functional Programs
    5 people · 6 mentions · first linked 2018-01-17
  8. From first principles: Why I bet on Scala.js
    5 people · 6 mentions · first linked 2016-08-10
  9. The Death of Hype: What's Next for Scala
    5 people · 6 mentions · first linked 2020-04-19
  10. Ammonite: Scala Scripting
    5 people · 5 mentions · first linked 2016-03-02

What Hacker News says?

  1. There is also Ammonite Shell[0], XONSH[1] 0: http://www.lihaoyi.com/Ammonite/#Ammonite-Shell 1: http://xon.sh/

    Comment linking /Ammonite/

    on “PowerShell is open sourced and is available on Linux”
  2. Submitted What's Functional Programming All About? as a story · 341 points

    HN discussion
  3. joshlemer · 2017-03-12Recommends
    If you are interested at all in Scala, lihaoyi's blog ( http://www.lihaoyi.com/ ) is phenominal.

    Comment linking /

    on “Ask HN: What are some good technology blogs to follow?”
  4. Submitted What's Next for Scala as a story · 299 points

    HN discussion
  5. Yeah I've been looking at this recently. I like autowire's ability to create typesafe APIs shared across the client and server. Very promising, but not simple to set up... http://www.lihaoyi.com/hands-on-scala-js/#Autowire

    Comment linking /hands-on-scala-js/

    on “Angular 2 Final Released”
  6. Submitted From First Principles: Why Scala? as a story · 286 points

    HN discussion
  7. > when properly designed (especially, avoiding the feeping creaturitis of something like Scala) What I find interesting here is that Scala has the reputation of being a complex language, while its syntax and grammar are among the simplest and most straightforward there is: https://images.app.goo.gl/K1NTGUP4G9T6wfY48 I believe that this is what "scalable" means in the eyes of its creator: it offers very powerful abst…

    Comment linking /post/StrategicScalaStylePrincipleofLeastPower.html

    on “Go 1.18”
  8. Submitted How to conduct a good programming interview as a story · 251 points

    HN discussion
  9. It defines a DSL for your build that looks roughly like Scala code. But… it’s not! And there is a confusing “resolution” system for build tasks/settings. It’s also slow as shit. See https://www.lihaoyi.com/post/SowhatswrongwithSBT.html for a comprehensive takedown. If you’re interested in just playing around with scala I would use https://scala-cli.virtuslab.org Or for larger projects, the thing the author of the li…

    Comment linking /post/SowhatswrongwithSBT.html

    on “A year of uv: pros, cons, and should you migrate”
  10. Submitted Zero-Overhead Tree Processing with the Visitor Pattern as a story · 215 points

    HN discussion
  11. I am excited about Scala 3. Scala is a powerful tool that can make teams hyperproductive. Here are the tooling shifts that can broaden the Scala 3 userbase: * Community switching from SBT to Mill * Community agreeing on automated code formatting and everyone using the same scalafmt settings. After using automated code formatting tools like black for Python and gofmt, programmers really don't want to talk about white…

    Comment linking /post/StrategicScalaStylePrincipleofLeastPower.html

    on “Scala 3.0”
  12. Submitted How an Optimizing Compiler Works as a story · 164 points

    HN discussion
  13. I think this can be generalized even further to the "principle of least power": https://www.lihaoyi.com/post/StrategicScalaStylePrincipleofL... The graph data structure, I believe, is the most generic of data structures, and it can be used to represent any other data structure. This arguably makes it both the most powerful data structure and the, IMO, the one of last resort.

    Comment linking /post/StrategicScalaStylePrincipleofLeastPower.html

    on “DRY is an over-rated programming principle?”
  14. Submitted What's functional programming all about? (2017) as a story · 161 points

    HN discussion
  15. > Rust really is a great programming language that solves a lot of other problems other languages don't. It does so by introducing a pretty clever paradigm. Were you around when Scala was the end all be all of programming shiny things? "Early on, Scala rode a wave of hype that frankly surprised even me: hype around pushing syntactic boundaries, hype around reactive architectures, hype around functional programming,…

    Comment linking /post/TheDeathofHypeWhatsNextforScala.html

    on “Rust Is Hard, Or: The Misery of Mainstream Programming”
  16. Submitted Reflecting on Four Years at Databricks as a story · 158 points

    HN discussion
  17. I love the idea/design of Nix and hope that one day someone will reimplement it in a way that one can reasonably understand/debug. Language is part of the problem but I think it's more of a https://www.lihaoyi.com/post/SowhatswrongwithSBT.html style problem where the execution model involves too much at runtime.

    Comment linking /post/SowhatswrongwithSBT.html

    on “We're Leaving Kubernetes”
  18. Submitted Mill: Better Scala Builds as a story · 155 points

    HN discussion
  19. > If scala team were to disavow sbt, that'd be the single best thing they could possibly do for the ecosystem. Seconded. Between http://www.lihaoyi.com/mill/ and https://bazel.build/ , there are plenty of alternatives.

    Comment linking /mill/

    on “Towards Scala 3”
  20. Submitted What's wrong with the default build tool for Scala as a story · 125 points

    HN discussion
  21. His other son Li Haoyi is a prominent member of the Scala community (wrote the Ammonite scripting language and the book Hands-on Scala Programming). https://www.lihaoyi.com/Resume/

    Comment linking /Resume/

    on “Singapore prime minister Lee Hsien Loong’s Sudoku solver (2018)”
  22. Submitted Strategic Scala Style: Principle of Least Power as a story · 118 points

    HN discussion
  23. ldite · 2024-09-12Recommends
    SBT is awful. I've never used Gradle, but if SBT is saner then I'm worried. This blogpost is a bit old, but still on-target: https://www.lihaoyi.com/post/SowhatswrongwithSBT.html

    Comment linking /post/SowhatswrongwithSBT.html

    on “Why Haskell?”
  24. Submitted Diving into Other People's Code as a story · 113 points

    HN discussion
  25. Ubuntu. IntelliJ +Scala plugin. I write Scala 90% of the time. 99% of the time, before I call any function, I jump "navigate to source" in intelliJ, and have a quick glance on it. Most of the time, type ascription is enough, sometimes I skim through doc, and occasionally, if it's sketchy library, I look at implementation. This is very quick process that takes maybe 10-15seconds. Sometimes when Im not under pressure,…

    Comment linking /Ammonite/

    on “What programming languages are used late at night?”
  26. Submitted What's in a Build Tool? as a story · 113 points

    HN discussion
  27. > I don't even view Scala as a functional language, as functions (methods) are not first class. Lambdas are encoded as objects with a single method. It's much more expressive than Java and so better at expressing many functional programming ideas, but it's not a functional-first language, it's an evolution of Java. It' technically true that Scala's fundamental building block is object, not function. But that is in m…

    Comment linking /post/FromFirstPrinciplesWhyScala.html

    on “I would like a job writing Haskell”
  28. Submitted From first principles: Why I bet on Scala.js as a story · 106 points

    HN discussion
  29. > awkward currying Personally, even though I haven't really thought it through deeply, I feel like Scala would be better if everything were curried. > Subtyping also has many complex consequences But also substantial benefits! > There is limited type inference I wish Scala would improve in this regard. Maybe paradoxically, inference works better with code tuned for subtyping and variance. > tail call optimisation Th…

    Comment linking /post/FromFirstPrinciplesWhyScala.html

    on “I would like a job writing Haskell”
  30. Submitted Ammonite: Scala Scripting as a story · 99 points

    HN discussion

Search all of HN for lihaoyi.com

Linked by the same people?