I have prototyped a VLM/LLM based screen control for Ubuntu/Minecraft with missionary and it is definitely growing on me, https://github.com/whilo/simmis/blob/main/src/is/simm/runtimes/ubuntu.clj. It seems that errors during race only get emitted after I dispose the race task, I have to revisit the error handling docs.
A common gotcha with m/race is that it succeeds with first successful result but fails if (and only if) all inputs fail. If you need the first failure to crash the whole thing, this is different
If that's what you need, we have this non-official operator
(defn fastest [& args]
(m/absolve (apply m/race (map m/attempt args))))Thank you for the explanation and operator 🙂.