[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MirageOS-devel] V1 vs V2 mirage-types

On 12 November 2014 17:16, Hannes Mehnert <hannes@xxxxxxxxxxx> wrote:
> Hash: SHA384
> hey,
> slowly following up - I still do not understand why we would want to
> have two interface versions here -- shouldn't versioning be kept at
> the package level rather than the interface level.
> So, mirage-2 implies that mirage-V1-types are stable. That's very
> confusing (eso for new people).

Perhaps V2 should be called DEV, and eventually be snapshotted as V3
(skipping V2 entirely).

> Why should we ever need two versions of an interface?

For example, the Fat module implements the V1 FS interface. Maybe it
will never be updated to the V2 FS interface, but I might still want
to use FAT in my programs, alongside other, newer, filesystems.

> The current
> amount of code and external users is small enough that an API change
> is best done in all dependent libraries. Also, in the future, if
> someone needs mirage-x she should install the appropriate mirage-types
> package and dependent packages, or did I get something wrong?
> I propose to rename V1.mli to mirage.mli and V1_LWT.mli to
> mirage_lwt.mli. Getting rid of the interface version madness from the
> beginning. Rather focus on fixing existing software (once an interface
> changes) than on backwards compatibility (I'd personally delay that as
> long as we can). Developers can obviously pin mirage-types (or work on
> branches), and merge once all core libraries have an updated interface.

One reason to try to support backwards compatibility now, when we
don't really need it, is to learn how we should do it for the future.
Although perhaps it's too soon for that.

> I've still to see the use case where we really want to use _old_ and
> _new_ mirage APIs side by side in the same application (or the missing
> piece why we would want to have multiple API versions)...
> Hannes

Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

MirageOS-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.