[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [MirageOS-devel] modifying mirage types
> On 19 Dec 2014, at 02:23, Ania Skorupa <ania.skorupa@xxxxxxxxx> wrote: > > hi, > > can someone kindly help how I can modify and apply mirage types in V1 Hi Ania, You can use the OPAM pinning workflow [1] to modify mirage-types. In a nutshell: git clone git://github.com/mirage/mirage opam pin add mirage-types mirage/ opam pin add mirage mirage/ # make your changes in mirage/types/ opam update -u [1] https://opam.ocaml.org/blog/opam-1-2-pin/ Note that there are actually two OPAM packages for one repository here, which is a little unusual. The `mirage-types` package provides just the type definitions, and the `mirage` provides the command-line tool and code generator which has many more library dependencies. > and explain the difference with V1_LWT? The idea is that the core definitions in V1.ml do not introduce any library dependencies. They instead have abstract type definitions for 'buffer' or 'ipaddr'. We then refine these types in `V1_LWT` into versions that are more concrete, for instance by assigned `Cstruct.t` to `buffer`. This might seem pointless since we don't have any non-Lwt implementations, but there is ongoing work to provide an Async-based threading library. In the long term, we would therefore have a common V1.ml that is shared among V1_LWT.ml and V1_ASYNC.ml (with completely different implementations of the abstract buffer, ipaddr or other types from V1.ml). If you're thinking of adding types into V1.ml, note that they don't have to live in there at all until they are stable. For instance, we provide the HTTP type definitions in Cohttp_mirage.Server.S rather than shove them into V1.ml. Hope that's a little clearer! Anil _______________________________________________ MirageOS-devel mailing list MirageOS-devel@xxxxxxxxxxxxxxxxxxxx http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |