W dniu 2014-04-27 17:01, Lee Winter pisze:
The problem I see is that the above command uses a file, a.out.icon,
for both input and output.  Tup's file usage model is very primitive.
A rule is allowed to use a file for only input or for only output.  I
suspect this simplifies the DAG because writing a file, reading it,
and re-writing it, as you attempted above, makes the DAG more complex.
  It shouldn't be a problem, but it is.

Just use two different names for the files and the "problem" is solved... Using the same file for input and output is not worth any trouble, as that is an endless source of problems, while this feature has no real value...

In case you overwrite the input file with the output such "feature" makes no sense at all.

In case you append to the input file with additional output the problem is that this just doesn't fit the model of building - what would you do if the "basic" part of the source (the ones which CREATE the file) don't change, and the "append" part does? You cannot "unappend" it before appending the changed part, so you have to build that from scratch...

Additional problem is when you have rules which only read from such file - do they read the version before or after the modification? Whichever you choose its just your preference and everyone has his/her own... So either you have to complicate the syntax to explicitly state that (what about a case where you have 100 such read-write rules for a single file?) or the creator of software has to decide for everyone, making the "opposite camp" dissatisfied.

In return you get no real value, as this whole "problem" can be easily avoided by just using different name for the output file.

Regards,
FCh

--
--
tup-users mailing list
email: [email protected]
unsubscribe: [email protected]
options: http://groups.google.com/group/tup-users?hl=en
--- You received this message because you are subscribed to the Google Groups "tup-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to