in ghc you have green threads, and the rts has a scheduler to run them, this is well known. it's less well known that with cmm dark arts you can make a haskell thread observe/suspend/resume other threads, and diy your own userspace scheduler with your own scheduling policy
19 days ago