Closed berke closed 4 years ago
Sorry for the delay, I will have another look at this PR shortly. BTW, did you look at what I suggested in this comment? (I haven't looked at the diff of this PR yet).
@berke, are you still interested in getting this merged? If you do, feel free to reopen it, but for now I'm closing it with the following justification.
I'm not entirely sure the support for cubes is worth having in bin_prot library. It's a very niche type, which I've never seen being used. Having extra code to support it means slightly longer compilation time and slightly larger binaries for everybody and more code to maintain for us.
In fact I'm already skeptical that the support for matrices is worth having in the first place. (we recently found a bug in sexp conversion of matrices that meant that literally nobody was using that)
To be clear, it makes sense to support the types even if they are used rarely, but maybe it makes sense to move such support to a separate library in that case.
Hi Arseniy,
It's probably OK, but I've notified my ex-colleagues in case they are still using this.
What was the matrix bug? I think we were using (small) Lacaml mats in structure fields occasionally. If there were I/O bugs, they might have been attributed to something else.
The bug was that sexp_of_float_mat
in https://github.com/janestreet/sexplib/blob/master/src/conv.ml would write the data transposed (column-major order instead of row-major). So that it wasn't round-tripping with *_of_sexp
.
Thanks, good to know. IIRC we were storing and loading small covariance matrices from .sexp files, but they are symmetrical so they would not have been affected by the bug.
Hi,
Here's a signed commit. I got the OK from GHGSat, the terms at developercertificate.org are agreeable.