# \#algebraic-effects

**URL:** https://discuss.ocaml.org/tag/algebraic-effects/638.md

[Latest](https://discuss.ocaml.org/latest.md) · [Categories](https://discuss.ocaml.org/categories.md) · [Tags](https://discuss.ocaml.org/tags.md)

---

## [Is anyone using the effect system for ALL side-effects?](https://discuss.ocaml.org/t/is-anyone-using-the-effect-system-for-all-side-effects/16998)

<div class="topic-metadata">

**Author:** [@olleharstedt](https://discuss.ocaml.org/u/olleharstedt)\
**Replies:** 9\
**Last updated:** [August 26, 2025, 9:20am UTC](https://discuss.ocaml.org/t/is-anyone-using-the-effect-system-for-all-side-effects/16998 "2025-08-26T09:20:57Z")

</div>

Just curious if this started to become idiomatic in the OCaml ecosystem, to use effects not only for parallelism and concurrency, but for all side-effects, like writing to std/out, database and file access, etc?

---

## [Implementing simple generators with effect handlers](https://discuss.ocaml.org/t/implementing-simple-generators-with-effect-handlers/16020)

<div class="topic-metadata">

**Author:** [@bsidhom](https://discuss.ocaml.org/u/bsidhom)\
**Replies:** 12\
**Last updated:** [January 27, 2025, 3:26pm UTC](https://discuss.ocaml.org/t/implementing-simple-generators-with-effect-handlers/16020 "2025-01-27T15:26:04Z")

</div>

I was excited to see that 5.3.0 brought simplified syntax for deep effect handlers, as I hoped this would help ease the pain of implementing generators (coroutines) in OCaml user code. Unfortunately, I have not figured o…

---

## [Composition and algebraic effects?](https://discuss.ocaml.org/t/composition-and-algebraic-effects/15468)

<div class="topic-metadata">

**Author:** [@enetsee](https://discuss.ocaml.org/u/enetsee)\
**Replies:** 2\
**Last updated:** [October 19, 2024, 11:35am UTC](https://discuss.ocaml.org/t/composition-and-algebraic-effects/15468 "2024-10-19T11:35:47Z")

</div>

Not quite sure the title makes sense but: I’m trying to figure out how to use algebraic effects when I have subcomputations with their own effects. As an example, suppose I have to different stateful computations: modul…

---

## [Nesting Algebraic Handlers found in Different Modules](https://discuss.ocaml.org/t/nesting-algebraic-handlers-found-in-different-modules/14256)

<div class="topic-metadata">

**Author:** [@Marietta\_Galea](https://discuss.ocaml.org/u/Marietta_Galea)\
**Replies:** 7\
**Last updated:** [March 10, 2024, 10:55am UTC](https://discuss.ocaml.org/t/nesting-algebraic-handlers-found-in-different-modules/14256 "2024-03-10T10:55:45Z")

</div>

Can algebraic handlers in OCaml be separated and put into different modules, then be nested in some other file? For instance, say there are two compilation units Handler1 and Handler2, each with their ml and mli files. …

---

## [How is algebraic effects better than adding a parameter?](https://discuss.ocaml.org/t/how-is-algebraic-effects-better-than-adding-a-parameter/13655)

<div class="topic-metadata">

**Author:** [@unfode](https://discuss.ocaml.org/u/unfode)\
**Replies:** 4\
**Last updated:** [December 16, 2023, 11:39pm UTC](https://discuss.ocaml.org/t/how-is-algebraic-effects-better-than-adding-a-parameter/13655 "2023-12-16T23:39:57Z")

</div>

I’m new to algebraic effects, but it seems that adding a parameter can do the trick. Using algebraic effects (Javascript): function throwingFunction() { // we need some data, let's check if the data is here if …
