Yes! I recently built an non-web, CLI application which needs to get data from a db, get data in and out of Redis, use several AWS services, and use results from another locally developed application. And I wanted it to be able to take advantage of parallelism where possible. Nothing near the scale of what you are describing, but maybe the most ambitious project I've taken on. Oh, and the shape/requirements of the project kept shifting as I built it.
I ended up using dry-monads and basically having every callable class in the thing return a Result. I'm sure I used it clunkily and in some cases it was overkill. However, it was the least frustrating development experience I've ever had, I think. When requirements changed or were added I could just combine existing classes with new ones in different ways without worrying about implicit assumptions built in.
I'm sure there are plenty of other ways I could have built the things but adhering to the assumptions of dry-monads made it easy
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Yes! I recently built an non-web, CLI application which needs to get data from a db, get data in and out of Redis, use several AWS services, and use results from another locally developed application. And I wanted it to be able to take advantage of parallelism where possible. Nothing near the scale of what you are describing, but maybe the most ambitious project I've taken on. Oh, and the shape/requirements of the project kept shifting as I built it.
I ended up using dry-monads and basically having every callable class in the thing return a Result. I'm sure I used it clunkily and in some cases it was overkill. However, it was the least frustrating development experience I've ever had, I think. When requirements changed or were added I could just combine existing classes with new ones in different ways without worrying about implicit assumptions built in.
I'm sure there are plenty of other ways I could have built the things but adhering to the assumptions of dry-monads made it easy