In another post, I've just announced our D-based high throughput sequencing library, dhtslib.

One feature that is, AFAIK, novel in the field is leveraging the compiler's type system to enforce correctness regarding different genome/reference sequence coordinate systems. Clearly, the encoding of domain specific knowledge in a language's type system is nothing new, but it is surprising that this has not been done before in bioinformatics, and it is an idea that IMO is long overdue given the trainwreck of different coordinate systems in our field.

You can find dhtslib's develop branch, with Typesafe Coordinates merged and ready to use, here:

https://github.com/blachlylab/dhtslib/


**Now the request:**
We've drafted a manuscript describing Typesafe Coordinates as a sort of low-key endorsement of the D language and our library package `dhtslib`. You can find the manuscript here:

https://github.com/blachlylab/typesafe-coordinates/

We would be very grateful to those of you who would take the time to read the manuscript and post comments (publicly or privately), _especially if we have made any incorrect statements_ or our language regarding type systems is awkward or nonstandard.

We did praise D, and gently criticized Rust and OCaml* somewhat as it appeared to me that they lacked the features required to implement Typesafe Coordinate Systems in as ergonomic a way as we could in D. However, being a true novice at both of these other languages there is the possibility that I've missed something significant, and that the Rust and OCaml implementations could be retooled to match the D implementation. I'd still be glad to hear it if that's the case.

I plan to make a few minor cleanups and submit this to a preprint server as well as a scientific journal in the next week or so.

Kind regards

James S Blachly, MD
The Ohio State University


* as a side note, I actually find the OCaml code quite attractive in its terseness: `let j = cl_interval_of_ho (ob_interval_of_zb i)`

Reply via email to