# Here is how I use the world-state approach

**URL:** https://clojureverse.org/t/here-is-how-i-use-the-world-state-approach/9989
**Category:** Showcase
**Created:** [May 5, 2023, 10:26am UTC](https://clojureverse.org/t/here-is-how-i-use-the-world-state-approach/9989 "2023-05-05T10:26:18Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![maxweber](https://clojureverse.org/user_avatar/clojureverse.org/maxweber/32/2271_2.png) [@maxweber](https://clojureverse.org/u/maxweber)
#### Post date: [May 5, 2023, 10:26am UTC](https://clojureverse.org/t/here-is-how-i-use-the-world-state-approach/9989/1 "2023-05-05T10:26:18Z")

</div>

David Nolen [invented](https://www.youtube.com/watch?v=qDGTxyIrKJY&t=1659s) the world-state approach. This library:

> **[GitHub - simplemono/world: This library provides tools to work with the...](https://github.com/simplemono/world)**
>
> This library provides tools to work with the world-state approach - GitHub - simplemono/world: This library provides tools to work with the world-state approach

shows how I work with this approach. I hope someone finds it useful. We use the library for our [SaaS](https://storrito.com/) to understand bugs that happen in production.

---

<div class="post-metadata">

### Author: ![seabass](https://clojureverse.org/user_avatar/clojureverse.org/seabass/32/4341_2.png) [@seabass](https://clojureverse.org/u/seabass)
#### Post date: [May 6, 2023, 12:39am UTC](https://clojureverse.org/t/here-is-how-i-use-the-world-state-approach/9989/2 "2023-05-06T00:39:20Z")

</div>

I really enjoy using state maps for my code, and it’s nice to see them growing in popularity in the Clojure world. I wouldn’t say David Nolen invented them though; they have been around for a long time in embedded software, where they help to bring order to the otherwise chaotic domain of real-world physics!

The question of logging exceptions that you provide an answer to with your library is a very interesting one. Using structured data for the entirety of the application’s state is very valuable in debugging, but exception handling has a performance penalty. When one is pushing the limits of devices’ capabilities, eventually one must do as much testing in advance as one can justify, turn off error handling and hope for the best! Luckily, the demands of most web applications are far less than the capacity of available hardware to run them on, in my experience, so such extreme measures aren’t necessitated frequently.

---

<div class="post-metadata">

### Author: ![system](https://clojureverse.org/uploads/default/original/2X/5/51079bf9e4b7d9466242c06cf1e43b9f8bd6da14.png) [@system](https://clojureverse.org/u/system)
#### Post date: [November 4, 2023, 12:40pm UTC](https://clojureverse.org/t/here-is-how-i-use-the-world-state-approach/9989/3 "2023-11-04T12:40:03Z")

</div>

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.
