At status, we've successfully been using `Result` for the past two years, and 
it has helped improve the quality of our code-base tremendously - we write a 
lot of libraries where the additional explicitness in the API helps users of 
the libraries understand how the library work and the explicit control flow at 
every call site is the difference between night and day in terms of how well 
error handling ends up working, from a very pragmatic point of view - this is 
important specially in our long-running applications. It's fair to say that the 
concept is now fairly well battle-tested in the wild.

One outcome of having worked with it is a [new 
PR](https://github.com/arnetheduck/nim-result/pull/20) that just landed - if 
you've been using `Result`, do take a look or provide your feedback in this 
thread.

Of the new features, one that's particularily interesting `Result[T, void]` can 
now almost be used as a drop-in replacement for `Option[T]` in the form of a 
new alias: `Opt[T]` \- there's a lot shared characteristics between the two, 
but using `Result` across the board makes interop smooth and easy, because all 
code gets the same "look and feel".

Going forwards from here, we might add a few other bells and whistles if they 
prove useful in actual use - let me know if there's anything in particular 
you'd like to see, preferably with code examples! 

Reply via email to