Closed dbuenzli closed 10 years ago
What I have in mind currently (subject to change, we need to see how this works in practice):
ocamldep
to get internal dependencies.This also means that we should be able (and try) to remove most of the mutable
fields in as_project.ml
. This does not feel very good to need this and it is not easy to explain in the doc and diagnose when there is a problem.
Actually I'm currently flagging the places where I see mutation with FIXMEs I want to get rid of mutation it feels very suspicious. (I'm normalizing components a bit, everyone should get an available argument #32 and a flags argument, I'll talk to you about this this afternoon.)
For container components (pp
, lib
, bin
, dir
) I think it's still necessary to have an explicit list of their components (rather than trying to sort out from their direct deps). So here's how I see things, each component has a ?deps:component list
argument for specifying dependencies. Container components have an additional component list
unnamed argument.
Ok for the containers. But I'm still unsure about the named deps
argument: each component has a name and a list of dependencies, it is a bit verbose to have to specify ~deps
everytime.
Mmmh I think it will be all right. I want to have it named so that the distinction is clear for container components between deps and its elements (otherwise I would also go for nameless). But then since I want regularity I want it named everywhere. Besides having it a named argument will allow to kill pointless [] when there are no deps.
N.B. the decision about being explicit about containers contents is just to avoid having the situation where for some reason you'd need to depend on a component and it would be included but you actually don't want it to be included. Don't know if this could happen in the realworld but if it once happens to you then you are in big trouble and I prefer troubleless systems.
ok feel free to do it then.
Easy to say.