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

Re: [MirageOS-devel] How to implement protocols?

Le samedi, 14 novembre 2015 Ã 18:28, Thomas Gazagnaire a Ãcrit :
> So the alternative you propose is to thread function parameters everywhere. 
> I'm not sure this is much better.

Not necessarily. Besides you often already thread contexts under the form of 
protocol state and part of the composition can also happen at that level at 
context creation time.

> Instead to invent a language to manipulate linking context, we use an eDSL 
> and that's Functoria. Functoria manipulates functors, but also opam package 
> and ocamlfind libraries, so you can implement path hacks in there if you want.
The important bit here is that by introducing the linking context inside the 
programming language itself you force all the components to be aware of it and 
its evolution which is very annoying and paradoxically leads to a less 
composable and unscalable system (see slides 47-a/48). So I suspect that by 
importing the linking problem at the programming language level you are rather 
failing at separating concerns than solving the actual problem.

I don't claim to have any form of complete solution here, I also don't claim 
that you should never use functors. But it's just that I have the impression 
that the current system is being developed on wrong premises and I'd like to 
encourage people to try to think about it in other ways.



MirageOS-devel mailing list



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