Hacker Blogs
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 · #352

T

Tomas Petricek

Personal blog · tomasp.net/blogprogrammingphilosophy

Tomas Petricek's personal blog at tomasp.net covers programming and philosophy. Since 2007, 153 different Hacker News readers have linked it 198 times, most often “Coeffects: Theory of context aware programming languages as an interactive essay”. It is still writing: the last post was on 2026-10-29, and you can follow it by feed.

Visit the blog
198mentions?
11recommend?
153HN people?
2007–2026first – last linked?
Links on Hacker News per year · peak 27 in 2015

Sometimes recommended · 11 of 40 sampled comments recommend it?

Why HN links it

HN readers link Tomas Petricek's posts on F# async, coeffects, and framework-versus-library design, often as reading recommendations.

Recommended for · 11 comments
Called 'very informative', 'good', 'really cool' and 'a good introduction'; the library-vs-framework post 'resonated' over a career.

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.

I'm an assistant professor at Charles University and a partner at fsharpWorks. I work on making programming simpler and more open. To do so, I combine work on programming systems with history and philosophy of programming and computing.

Most-linked posts?

  1. Coeffects: Theory of context aware programming languages as an interactive essay
    9 people · 9 mentions · first linked 2016-04-08
  2. Histogram: You have to know the past to understand the present
    8 people · 8 mentions · first linked 2019-09-25
  3. Library patterns: Why frameworks are evil
    6 people · 7 mentions · first linked 2024-12-20
  4. Library patterns: Why frameworks are evil
    5 people · 5 mentions · first linked 2015-03-04
  5. Thinking the unthinkable: What we cannot think in programming
    5 people · 5 mentions · first linked 2016-10-11
  6. Technical dimensions of programming systems (2023)
    4 people · 5 mentions · first linked 2023-03-16
  7. Would aliens understand lambda calculus? (2018)
    4 people · 4 mentions · first linked 2018-05-23
  8. Why type-first development matters
    4 people · 4 mentions · first linked 2014-12-10
  9. Excel in 100 lines of F# (2018)
    4 people · 4 mentions · first linked 2023-09-15
  10. The mythology of programming language ideas (2017)
    4 people · 4 mentions · first linked 2017-03-09

What Hacker News says?

  1. Same thing from years ago: http://tomasp.net/blog/2015/library-frameworks/

    Comment linking /blog/2015/library-frameworks/

    on “Write Libraries, Not Frameworks”
  2. Submitted Write your own Excel in F# (2018) as a story · 401 points

    HN discussion
  3. I hadn't heard of that phase, but that's great touch point. It reminds me of http://tomasp.net/coeffects/ .

    Comment linking /coeffects/

    on “I’m a freelance copywriter”
  4. Submitted The lost ways of programming: Commodore 64 BASIC (2020) as a story · 242 points

    HN discussion
  5. A Science of Operations by Mark Priestley ( http://www.springer.com/gb/book/9781848825543 ) This is cheating a bit, because the book is history of computer science rather than computer science, but I think anyone interested in programming should read it. We often think about history of computing (and what it teaches us) in a retrospective way (we see all the amazing totally revolutionary things that happened), but i…

    Comment linking /blog/2016/thinking-unthinkable/

    on “Ask HN: What's the best computer science book you've read recently?”
  6. Submitted The design side of programming language design as a story · 188 points

    HN discussion
  7. daxfohl · 2025-04-16Recommends
    This old obscure blog post about framework patterns has resonated with me throughout my career and I think it applies here too. LLMs are best used as "libraries" rather than "frameworks", for all the reasons described in the article and more, especially now while everything is in such flux. "Frameworks" are sexier and easier to sell though, and lead to lock-in and add-on services, so that's what gets promoted. https…

    Comment linking /blog/2015/library-frameworks/

    on “12-factor Agents: Patterns of reliable LLM applications”
  8. Submitted Philosophy of science books every computer scientist should read as a story · 183 points

    HN discussion
  9. This reminded me of Histogram: http://tomasp.net/histogram/

    Comment linking /histogram/

    on “Mesh Spreadsheet”
  10. Submitted Software designers, not engineers: An interview from alternative universe as a story · 160 points

    HN discussion
  11. Well, you can """Write your own Excel in 100 lines of F#""": http://tomasp.net/blog/2018/write-your-own-excel/# Posted here but didn't get traction: https://news.ycombinator.com/item?id=24980325

    Comment linking /blog/2018/write-your-own-excel/

    on “Excel Never Dies”
  12. Submitted The Lost Ways of Programming: Commodore 64 Basic as a story · 151 points

    HN discussion
  13. This has some nice hints on how to read the text of a paper, but I think it misses all the important things that you need to be aware when you want to understand a paper. In particular, things like the research paradigm or research programme in which the paper fits, its historical context etc. I wrote a post about this recently: http://tomasp.net/blog/2017/papers-we-scrutinize/

    Comment linking /blog/2017/papers-we-scrutinize/

    on “How to Read a Paper (2016) [pdf]”
  14. Submitted Programming as interaction: A new perspective for programming language research as a story · 119 points

    HN discussion
  15. This type of standardization is what I like to call Lowest Common Denominatorism. And it's a leaky solution to a hard problem. The underlying problem isn't that different platforms have different APIs, it is that different platforms have different capabilities. Even if you unify the APIs that are semantically equivalent across platforms, there will always be some superset of that unified standard that you end up hav…

    Comment linking /blog/2014/why-coeffects-matter/

    on “Introducing .NET Standard”
  16. Submitted The Timeless Way of Programming as a story · 102 points

    HN discussion
  17. airstrike · 2020-11-03Recommends
    I keep reading good things about F# but at the same time it seems to fly under the radar, with not enough learning material out there I did love this one article http://tomasp.net/blog/2018/write-your-own-excel/ EDIT: Submitted the link here https://news.ycombinator.com/item?id=24980325

    Comment linking /blog/2018/write-your-own-excel/

    on “Dark’s new backend will be in F#”
  18. Submitted Is deep learning a new kind of programming? as a story · 94 points

    HN discussion
  19. This whole discussion reminds me of http://tomasp.net/blog/2015/failures/ . What I’ve noticed is that programmers are largely divided into camps based on the cost they’re willing to pay to avoid runtime errors: Haskell/Rust developers tend towards one side while Erlang/CL/Clojure tend to the other. My experience is that if you make the edit->run->edit loop tight enough, you can recover a lot of the guarantees availa…

    Comment linking /blog/2015/failures/

    on “Hell Is Other REPLs”
  20. Submitted Would aliens understand lambda calculus? (2018) as a story · 75 points

    HN discussion
  21. I would much prefer the coeffect system for managing different platforms and capabilities: http://tomasp.net/blog/2014/why-coeffects-matter/ It would be so amazing to be able to take all of those ifdefs and turn them into type variants and have the compiler enforce the safety and semantics of the system. And it would be phenomenal for old code to break at compile time when the environment changes, instead of waiting…

    Comment linking /blog/2014/why-coeffects-matter/

    on “Vim's 400 line function to wait for keyboard input”
  22. Submitted Against the definition of types as a story · 66 points

    HN discussion
  23. The developers I've encountered that use F#'s Async get confused at first mainly because they are used to C#'s Tasks being started upon creation. I personally think the F#'s model conceptually is better and I've seen more surprises with the C# one from dev's I've worked with (e.g. which SynchronizationContext is set and why does it work in my test but not in the app, why is there no trampolining and I'm deadlocking…

    Comment linking /blog/async-csharp-differences.aspx/

    on “Memory usage of a toy C# server and client with 500K concurrent connections on”
  24. Submitted Miscomputation: Learning to live with errors as a story · 54 points

    HN discussion
  25. I found Tomas Petricek's essay on "Against a universal definition of 'Type'" very informative. He argues that the word 'type' has shifted shape many times since Frege/Russel, in that the intuition behind them is different. He also argues that multiplicity of definition is a good thing. http://tomasp.net/academic/papers/against-types/

    Comment linking /academic/papers/against-types/

    on “Where Do Type Systems Come From?”
  26. Submitted Coeffects: Theory of context aware programming languages as an interactive essay as a story · 45 points

    HN discussion
  27. go blocks are transformed into little state machines. Details here http://tomasp.net/blog/async-compilation-internals.aspx via https://twitter.com/timbaldridge/status/354613181886369793

    Comment linking /blog/async-compilation-internals.aspx

    on “Communicating Sequential Processes”
  28. Submitted Library patterns: Why frameworks are evil as a story · 36 points

    HN discussion
  29. > I object already! Knowledge does not reside in society. [...] You and I can know. It is not a societal exercise. Knowledge may or may not reside in society, but all practical effects and consequences of knowledge reside in society. A concept does not exist in an abstract and metaphysical world where you can go and find. And it's not possible to develop any concept, including scientific concepts, without social int…

    Comment linking /blog/2018/alien-lambda-calculus/

    on “Why the Arabic world turned away from science (2011)”
  30. Submitted Library patterns: Why frameworks are evil as a story · 36 points

    HN discussion

Search all of HN for tomasp.net

Linked by the same people?