blachlylab / dhtslib

D bindings and OOP wrappers for htslib
MIT License
7 stars 1 forks source link

Functional style `Optional` and `Result` return types #99

Open jblachly opened 3 years ago

jblachly commented 3 years ago

Many functions in the dhtslib namespace may either error, or only optionally return a value.

Paul Backus has an excellent library-based Optional! implementation: https://code.dlang.org/packages/sumtype

Here is another optional/maybe package: https://code.dlang.org/packages/optional which we should strongly consider transitioning to as return type.

Also libmir has a different optional implementation (Variant) but looks more complex: http://mir-core.libmir.org/mir_algebraic.html Also has a Nullable type