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

Top all-time · #1741

K

KC Sivaramakrishnan

Personal blog · kcsrk.info · on HN as kcsrkprogrammingsystems

KC Sivaramakrishnan's personal blog at kcsrk.info covers programming and systems. Since 2015, 44 different Hacker News readers have linked it 80 times, most often “Effective Concurrency with Algebraic Effects (OCaml Multicore)”. It is still writing: the last post was on 2026-09-26, and you can follow it by feed.

Visit the blog
80mentions?
44HN people?
2015–2026first – last linked?
Links on Hacker News per year · peak 13 in 2026

The author on HN?

kcsrk · 214 karma · member since 2015

https://kcsrk.info

From their public HN profile, which links to this site.

Most-linked posts?

  1. Effective Concurrency with Algebraic Effects (OCaml Multicore)
    7 people · 10 mentions · first linked 2015-05-21
  2. Bounding Data Races in Space and Time [pdf]
    6 people · 7 mentions · first linked 2021-05-13
  3. OCaml 5.0 (prerelease) Manual: Effect handlers
    4 people · 5 mentions · first linked 2022-06-15
  4. Retrofitting Effect Handlers onto OCaml [pdf]
    3 people · 3 mentions · first linked 2021-02-26
  5. Lock-free programming for the masses
    3 people · 3 mentions · first linked 2016-06-13
  6. An O(x)Caml book that runs
    3 people · 3 mentions · first linked 2026-06-13
  7. State of Multicore OCaml [pdf]
    3 people · 3 mentions · first linked 2018-06-28
  8. Capsules: Compile-time lock discipline in OxCaml
    2 people · 2 mentions · first linked 2026-05-08
  9. Effective Concurrency with Algebraic Effects in Multicore OCaml
    2 people · 2 mentions · first linked 2020-07-05
  10. Uniqueness for Behavioural Types
    2 people · 2 mentions · first linked 2025-05-30

What Hacker News says?

  1. There is the small standard library that ships with the compiler. And then there are more extensive ones such as Batteries and Core. It is easy to generate docs in Reason syntax from OCaml projects using `redoc` tool. Here is Reason docs for: - OCaml compiler's stdlib: http://kcsrk.info/reason_stdlib_docs/index.html - Batteries: http://kcsrk.info/reason_batteries_docs/index.html

    Comment linking /reason_batteries_docs/index.html

    on “Reason: A new interface to OCaml”
  2. Submitted OCaml on Baremetal Shakti RISC-V Processor as a story · 233 points

    HN discussion
  3. Multicore OCaml works using a thread-safe generational garbage collector. Each domain (i.e. thread) gets its own minor heap, and the major heap is shared. Each heap is GCd independently. The domain-level minor heaps are restricted so different domains can't write to each other's minor heap. And the shared major heap is protected with more bookkeeping. More details in https://kcsrk.info/multicore/gc/2017/07/06/multic…

    Comment linking /multicore/gc/2017/07/06/multicore-ocaml-gc/

    on “PR to Merge Multicore OCaml”
  4. Submitted Lock-free programming for the masses as a story · 188 points

    HN discussion
  5. Indeed, Irmin is a library to implement data stores which can be freely cloned, updated and merged along a model similar to git. It separates the content from the actual store. So it can run as well on a file-system, on a git repository, in memory or in the browser (See for instance https://github.com/talex5/irmin-js ). As git, Irmin uses 3-way merge but applied to arbitrary values and not only files. As described h…

    Comment linking /papers/oopsla19-mrdt.pdf

    on “The database I wish I had”
  6. Submitted A deep dive into Multicore OCaml garbage collector as a story · 166 points

    HN discussion
  7. Good question! https://github.com/ocaml-multicore/effects-examples has links to tutorials and examples for how effects can be used. There's also some slides from KC's talk on effect handlers https://kcsrk.info/slides/handlers_edinburgh.pdf and materials from the CUFP 17 tutorial: https://github.com/ocamllabs/ocaml-effects-tutorial https://gopiandcode.uk/logs/log-bye-bye-monads-algebraic-eff... this is also a great i…

    Comment linking /slides/handlers_edinburgh.pdf

    on “OCaml Multicore merged upstream”
  8. Submitted State of Multicore OCaml [pdf] as a story · 160 points

    HN discussion
  9. > In Rust it's not even possible to write such code. What does "such code" mean though? Rust won't let you say that your mutable variables are just shared between threads, because that's unsafe. But if you say OK, I want atomic data types (and so they lack tearing and other things you were bothered about) then you can clone an Arc of them, and write code to manipulate the atomics whose consequences are just as under…

    Comment linking /papers/pldi18-memory.pdf

    on “The memory models that underlie programming languages (2016)”
  10. Submitted Evolving the OCaml Programming Language (2025) [pdf] as a story · 159 points

    HN discussion
  11. Posted a week ago: http://kcsrk.info/slides/mcocaml_gallium.pdf Discussion: https://news.ycombinator.com/item?id=17416797 In short, expect it merged in mid-to-late 2019, maybe.

    Comment linking /slides/mcocaml_gallium.pdf

    on “Unix system programming in OCaml (2014)”
  12. Submitted Effective Concurrency with Algebraic Effects in Multicore OCaml as a story · 148 points

    HN discussion
  13. Parallelism [1] and native-support for concurrency through effect handlers [2]. [1] https://kcsrk.info/webman/manual/parallelism.html [2] https://kcsrk.info/webman/manual/effects.html

    Comment linking /webman/manual/effects.html

    on “OCaml 5.0 Alpha Release”
  14. Submitted A mechanically verified garbage collector for OCaml [pdf] as a story · 40 points

    HN discussion
  15. I would also recommend reading the effect handlers tutorial in OCaml 5.0 manual: https://kcsrk.info/webman/manual/effects.html .

    Comment linking /webman/manual/effects.html

    on “OCaml 5.0 Alpha Release”
  16. Submitted Featherweight Threads for Communication in SML (2001) [pdf] as a story · 16 points

    HN discussion
  17. Not necessarily. You can implement them using a monad. See https://dl.acm.org/doi/10.1145/2804302.2804319 . That said, in GHC Haskell the implementation on top of stack switching seems to outperform other implementation strategies. See https://github.com/ghc-proposals/ghc-proposals/blob/master/p... . In OCaml 5, we’ve made it quite fast: https://kcsrk.info/papers/drafts/retro-concurrency.pdf . For us, the goal is to…

    Comment linking /papers/drafts/retro-concurrency.pdf

    on “Control structures in programming languages: from goto to algebraic effects”
  18. Submitted Lock-free programming for the masses as a story · 8 points

    HN discussion
  19. OCaml has GIL, is normally single core, and shares no state, so current OCaml doesn't need to provide such guarantees. Upcoming multicore OCaml will provide such guarantees through algebraic effects [0]. 0. http://kcsrk.info/ocaml/multicore/2015/05/20/effects-multico...

    Comment linking /ocaml/multicore/2015/05/20/effects-multicore/

    on “The struggle with Rust”
  20. Submitted Retrofitting Effect Handlers onto OCaml [pdf] as a story · 6 points

    HN discussion
  21. Current OCaml needn't worry about data races since no state is shared. Unfortunately, current OCaml also only exploits a single core, but it's so insanely fast that usually doesn't matter. Upcoming OCaml multicore solves the shared state and data races problem with algebraic effects[0]. It is working, it's just not yet been released in mainline OCaml. Supposedly, that will happen this year, but we'll see. 0. http://…

    Comment linking /ocaml/multicore/2015/05/20/effects-multicore/

    on “The struggle with Rust”
  22. Submitted Effective Concurrency with Algebraic Effects (OCaml Multicore) as a story · 6 points

    HN discussion
  23. The canonical way to do concurrency these days is with a monadic library like Lwt or Async, which is a mechanism akin to promises/deferreds. They have their own implementations of channels/events/streams/what-call-you-it. There is some interesting work being done on an effects system [1] which would be another option for type-safe concurrency, hopefully it will land soon alongside the multicore work. There is also t…

    Comment linking /ocaml/multicore/2015/05/20/effects-multicore/

    on “Python to OCaml: Retrospective”
  24. Submitted Foundations for Hacking on OCaml as a story · 5 points

    HN discussion
  25. If you'd like to see the approach we're taking at OCaml Labs in order to build multicore, read KC's blog post here: http://kcsrk.info/ocaml/multicore/2015/05/20/effects-multico... The core idea is incredibly exciting (to us, anyway). Rather than baking in a specific multicore scheduler, we're allowing pluggable schedulers written in OCaml. They use algebraic effects to allow an independent scheduler to compose concu…

    Comment linking /ocaml/multicore/2015/05/20/effects-multicore/

    on “OCaml 4.03 will, “if all goes well”, support multicore”
  26. Submitted Linearity and Uniqueness as a story · 5 points

    HN discussion
  27. > Not sure how that's the same as "doesn't see a reason to solve data races". I see lots of reasons. I just think it is possible to achieve the security goals without it. If Carbon doesn't prevent data races, then how exactly will it achieve memory safety? Will it implement something like OCaml's "Bounding Data Races in Space and Time"? [0] If we ignore compiler optimizations, the problem with data races is that it…

    Comment linking /papers/pldi18-memory.pdf

    on “Circle C++ with memory safety”
  28. Submitted An O(x)Caml book that runs as a story · 4 points

    HN discussion
  29. Multicore is coming along, you can read the latest news here: https://discuss.ocaml.org/t/multicore-ocaml-june-2021/8134 In terms of performance, there is this paper https://kcsrk.info/papers/system_effects_feb_18.pdf where on a single core async OCaml and effect OCaml are close to Go's net/http, and there is also this project https://github.com/ocaml-multicore/retro-httpaf-bench but I haven't see any results from i…

    Comment linking /papers/system_effects_feb_18.pdf

    on “Functional Programming in OCaml”
  30. Submitted Textbooks That Run as a story · 3 points

    HN discussion

Search all of HN for kcsrk.info

Linked by the same people?