# Process design: Excel-like mutually dependent computations

**URL:** <https://forum.elixirforum.com/t/process-design-excel-like-mutually-dependent-computations/44960>\
**Category:** Questions\
**Tags:** otp, design-patterns\
**Created:** [January 2, 2022, 11:30am UTC](https://forum.elixirforum.com/t/process-design-excel-like-mutually-dependent-computations/44960 "2022-01-02T11:30:34Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![al2o3cr](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/al2o3cr/32/3457_2.png) [@al2o3cr](https://forum.elixirforum.com/u/al2o3cr)\
**Post date:** [January 3, 2022, 1:28am UTC](https://forum.elixirforum.com/t/process-design-excel-like-mutually-dependent-computations/44960/4 "2022-01-03T01:28:25Z")

</div>

> [@ag154](#):
>
> - It seems a bit wasteful to have a separate process for each and every cell, particularily ones with mostly-static data.

Performance is certainly a concern, but there’s a bigger problem: how do you read a _consistent_ state out of a spreadsheet where every cell is a separate process? What if some of the cells are doing a long-running operation? It’s possible, with additional machinery, to do this - but it winds up looking like a Paxos knockoff because it is.

I’d recommend focusing on the pure-function part you mention above (`compute` etc). Then those functions can either be composed together sequentially (iterate over a list of changes to produce new changes, repeat until fixed point) or concurrently (split into communicating processes), but that’s an implementation detail.

---

_[View the full topic](https://forum.elixirforum.com/t/process-design-excel-like-mutually-dependent-computations/44960)._
