thierry-martinez / stdcompat

Stdcompat: compatibility module for OCaml standard library
BSD 2-Clause "Simplified" License
31 stars 13 forks source link

Some questions #4

Closed bluddy closed 4 years ago

bluddy commented 6 years ago

I'm so happy this exists!

My questions are

  1. In its current form (1 file) the library is fairly hard to maintain. Are you thinking of breaking it up?
  2. Have you had discussions with OPAM folks to automatically build this with every package so we can stop worrying about stdlib changes?
  3. Do you think it'll be possible to support the new change to the Stdlib module in earlier versions?
thierry-martinez commented 6 years ago

Thank you for your interest in this library!

  1. In its current form (1 file) the library is fairly hard to maintain. Are you thinking of breaking it up?

This form was not really a problem as long as I was the only maintainer, but I recognize that breaking it up could be a good idea to ease other contributions. I will think about it, and otherwise I will welcome a PR in this direction!

  1. Have you had discussions with OPAM folks to automatically build this with every package so we can stop worrying about stdlib changes?

No, I hadn’t, and I am afraid it could be difficult to implement systematically, since one would have to change compiler invocations in every package's compilation chain, which is far from being unified.

  1. Do you think it'll be possible to support the new change to the Stdlib module in earlier versions?

You mean, earlier than 3.12 ? It should be possible, but quite fastidious, since stcompat uses the "module type of" construction introduced in 3.12 in several places, and not using it would require a lot of code duplication.

bluddy commented 6 years ago

No, I hadn’t, and I am afraid it could be difficult to implement systematically, since one would have to change compiler invocations in every package's compilation chain, which is far from being unified.

Then maybe it makes more sense to integrate it into Dune.

You mean, earlier than 3.12 ? It should be possible, but quite fastidious, since stcompat uses the "module type of" construction introduced in 3.12 in several places, and not using it would require a lot of code duplication.

No I'm referring to the fact that the stdlib has been moved to its own namespace in the Stdlib module in 4.07.

thierry-martinez commented 6 years ago
  1. In its current form (1 file) the library is fairly hard to maintain. Are you thinking of breaking it up?

Fixed in https://github.com/thierry-martinez/stdcompat/commit/99ce140a9c361eb9ba8e06164880a95821c9c018 . Thanks!

thierry-martinez commented 6 years ago

No I'm referring to the fact that the stdlib has been moved to its own namespace in the Stdlib module in 4.07.

You're right: I didn't think about integrating this change in stdcompat when I heard about it, but I should! It is now fixed: https://github.com/thierry-martinez/stdcompat/commit/b6011b0b38fd6ca47b10912128cf1f7cd1983e58 . I still don’t know what to do for Bigarray. Thanks again.