Hacker News new | ask | show | jobs
by arohner 1030 days ago
It is a tall order, but but it's doable. The most important thing is to reduce the surface area of your application. Our business logic is almost entirely pure. The 'procs' have no side effects, except for things that happen on the other side of a clojure protocol (java interface). That means all side effects can be stubbed out during tests.

Our "user" code has no access to threading libraries. Threading happens in "kernel" code.

Watch https://www.youtube.com/watch?v=4fFDFbi3toc for a good example of how this has already been done in practice.

1 comments

AFAICT you're describing exactly what I mean when I say a fully synchronous system.