[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [MirageOS-devel] Remove DEVICE.connect?
On 22 Jan 2015, at 14:02, Thomas Gazagnaire <thomas@xxxxxxxxxxxxxx> wrote: > >>>>> So, I propose removing connect from the type signatures (but keeping >>>>> it in the implementations). Then, being given a device only implies >>>>> the ability to use it, not the ability to create more devices. >>> >>> Can you still easily compose devices together if you don't have a way to >>> connect? Who will be responsible for calling the implementation-dependant >>> connect function? Only the mirage tool in main.ml? (I guess that's already >>> the case) >> >> Yes, code that wants to call connect (such as the generated main.ml) >> has to know the concrete module type. But this is already the case, >> because the "id" types are all abstract in V1_LWT. > > indeed, the mirage tool already has to deal with id of various types, so the > changes you are proposing should be fine (and saner). > >> It will also mean we can use other signatures for connect (e.g. >> allowing multiple arguments or optional arguments) if needed. > > That's indeed a good argument. If we don't expose the connect fonction, we > can use more complex function creators when needed - that's good (and we > already kind of quite do that, for instance to init the http stack where we > need to construct callbacks in main.ml) Sounds like there's consensus here. Thomas, are you cooking up this patch? We might be able to get away with simply hiding the `connect` function and revving the signatures, and not doing a lot of minor releases. -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 |