awesome-multicore-ocaml
Multicore library suite
A collection of libraries and ideas supporting parallelism with domains and direct-style code with effects in OCaml 5
A collection of libraries, experiments and ideas relating to OCaml 5 (multicore + effects)
147 stars
11 watching
2 forks
last commit: about 1 year ago
Linked from 1 awesome list
Awesome Multicore OCaml / Libraries / Lwt Support | |||
Is mixing lwt and multicore safe? | |||
Multicore, Async and Lwt | |||
Awesome Multicore OCaml / Resources / Wiki | |||
Effects examples | 422 | 6 months ago | : a collection of great examples with effects including cooperative threading and generators |
Parallel Programming in Multicore OCaml | 283 | 8 months ago | : a very good introduction to programming parallel programs in Multicore OCaml, including |
Awesome Multicore OCaml / Resources / Papers | |||
Retrofitting Effect Handlers onto OCaml | , PLDI, June 2021: Describes the design and evaluation of a full-fledged efficient implementation of effect handlers for OCaml | ||
Parallelising your OCaml code with Multicore OCaml | 29 | about 1 year ago | , OCaml Workshop, August 2020: A tour on developing parallel programs with Multicore OCaml |
Retrofitting Parallelism onto OCaml | , ICFP, August 2020: Deep dive into Multicore GC design | ||
Multicore OCaml memory model | , PLDI, June 2018: Describes the memory model for multicore OCaml programs. This memory model is much simpler than existing language memory models such as Java or C/C++11 without sacrificing performance | ||
Concurrent System Programming with Effect Handlers | , TFP, February 2018: Using effect handler for writing concurrent programs that interacts with the operating system | ||
Multicore OCaml | , OCaml workshop, September 2014 | ||
Awesome Multicore OCaml / Resources / Talks | |||
video | Introduction to Eio, Thomas Leonard, February 2023. ( ) | ||
k-CAS for sweat-free concurrent programming | , Vesa Karvonen, February 2023. ( ) | ||
video | Retrofitting Concurrency – Lessons from the Engine Room, KC Sivaramakrishnana, September 2022. ( ) | ||
Experiences with Effects in OCaml | , Thomas Leonard, August 2021. ( ) | ||
Parafuzz: Coverage-guided Property Fuzzing for Multicore OCaml programs | , KC Sivaramakrishnan, August 2021. ( ) | ||
Adapting the OCaml Ecosystem for Multicore OCaml | , Sudha Parimala, August 2021. ( ) | ||
Effective Programming in OCaml | , KC Sivaramakrishnan, April 2021. ( ) | ||
Multicore OCaml -- what's coming in 2021 | , KC Sivaramakrishnan, December 2020. ( ) | ||
Parallelising your OCaml code with Multicore OCaml | 29 | about 1 year ago | , Sadiq Jaffar August 2020. ( ) |
Retrofitting parallelism onto OCaml | , KC Sivaramakrishnan, August 2020. ( ) | ||
A deep dive into Multicore OCaml GC | , KC Sivaramakrishnan, June 2017 | ||
Reagents: Lock-free programming for the masses | , KC Sivaramakrishnan, August 2016. ( ) | ||
Arrows and Reagents | , KC Sivaramakrishnan, March 2016 | ||
Concurrent & Multicore OCaml: A deep dive | , KC Sivaramakrishnan, January 2016 | ||
Effective Concurrency with Algebraic Effects | , KC Sivaramakrishnan, OCaml Workshop, September 2015 | ||
Multicore OCaml | , Stephen Dolan, OCaml workshop, September 2014. ( ) | ||
Awesome Multicore OCaml / Resources / Discuss Threads | |||
initial release | The of Eio has a lot of dicussion around what it could mean if the library became the official "OCaml IO" library. It also has some useful conversations about the underlying use of effects in Eio and in particular the | ||
Awesome Multicore OCaml / Resources / Discuss Threads / initial release | |||
scopes and effect handlers | An excellent write up about was added in this | ||
Awesome Multicore OCaml / Resources / Discuss Threads | |||
"How to block in an agnostic way" | Another thread, , is a discussion about blocking code where we are agnostic to the underlying concurrency abstraction (and indeed how to do ) | ||
cancellation in the presence of concurrency from effects | Another more Eio-specific thread looks at | ||
How do spawn and join interact with try_with | In there's a great, short discussion about effects in the presence of multiple domains. A "gotcha" many (myself included) are likely to hit when getting started with OCaml 5 | ||
roguelike | There is a great discussion about using effects for a game in (the full tutorial ). Related to that is another excellent article about coding |