[ocaml-platform] Bytes

Gabriel Scherer gabriel.scherer at gmail.com
Sat Jun 25 17:54:09 BST 2016


I initially sent it to Gerd Stolpmann on the idea that there may be
non-opam users out there for which it would be a good distribution channel.
The idea came from the fact that ocamlfind already had all those base-*
packages, and that base-bytes was a nice extension of this principle.

It has since been pointed out that this is inconvenient for people that do
not use ocamlfind. My own base-bytes implementation is available
independently from ocamlfind at

  https://github.com/gasche/bytes-compat

and I know that others have (partially) reimplemented this, e.g. Pierre
Chambart's ocaml-bytes:

  https://github.com/chambart/ocaml-bytes

(I now realize that there is no license on my separate bytes-compat
package; it should be BSD or whatever -- inside findlib it is distributed
with findlib's license, which is the MIT license.)

I have no strong opinion on where such compatibility packages should go,
and I think (as we both pointed out) that it would be important to have a
consistent process for those things. If you or someone else are willing to
give clear directives on how to go forward with compatibility packages, I
think it could be really nice. In particular, is there a way to avoid a
combinatorial explosion of small compatibility packages, or is this ok for
users?

(Batteries provides back-ported implementation of new stdlib features, so
using Batteries removes the need for such backward-compatibility packages.
A more general and less invasive solution would still be very nice.)

I think that for the specifics of this package and ocamlfind, you would
have to see directly with Gerd Stolpmann if you want to move it out.

There is also the question of what the responsibility of this package is.
The initial plan was to provide only the features available at the time
Bytes was introduced (4.02), but I think it could be nice to add new
functions to keep up with recent stdlib versions of Bytes. This could be
done as a separate package, but it can also be done in findlib. In my
experience Gerd has been very responsive in updating the bytes
implementation during the 4.02+dev development period, and this may be even
easier now that he switched to git repositories

  https://gitlab.camlcity.org/gerd/lib-findlib

If we decide to update the bytes package, we have to decide on a versioning
scheme. The simplest may be to have base-bytes version follow upstream
OCaml version, so that people can request

  base-bytes {>= 4.03}

if they use a Bytes feature only available since 4.03.

On Sat, Jun 25, 2016 at 12:35 PM, Daniel Bünzli <daniel.buenzli at erratique.ch
> wrote:

> It strikes me as odd that the bytes compatibility package was integrated
> in ocamlfind.
>
> I'm not sure I understand the rationale behind this move, it obscures
> things rather than enlight them.
>
> I think we should move it out from there as a separate package and follow
> the conventions established by the `result` and `uchar` compatibility
> packages.
>
> Or is there anything that I am missing ?
>
> Best,
>
> Daniel
>
>
> _______________________________________________
> Platform mailing list
> Platform at lists.ocaml.org
> http://lists.ocaml.org/listinfo/platform
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ocaml.org/pipermail/platform/attachments/20160625/ff343c09/attachment.html>


More information about the Platform mailing list