<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE message PUBLIC
  "-//MLarc//DTD MLarc output files//EN"
  "../../mlarc.dtd"[
  <!ATTLIST message
    listname CDATA #REQUIRED
    title CDATA #REQUIRED
  >
]>

  <?xml-stylesheet href="../../mlarc.xsl" type="text/xsl"?>


<message 
  url="2003/11/3d625f533942d81c8980a24c8ef6b993"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-22T15:46:13"
  subject="Re: [Caml-list] Building large and portable projects"
  prev="2003/11/77f7d979d60a0de0241677e16ebb9af6"
  next="2003/11/e0c7b4ad964ab34eb1d8dc95ecfef1b2"
  prev-in-thread="2003/11/858f36de355923c2f9a2d21aa942a760"
  next-in-thread="2003/11/45c74c49bce3bf90b74e048cf0f12405"
  prev-thread="2003/11/5e21cd78e94318bd8f496dda39b97d60"
  next-thread="2003/11/f2a734a210920bee1d5c93213738f959"
  root="../../"
  period="month"
  listname="caml-list"
  title="Archives of the Caml mailing list">

<thread subject="[Caml-list] Building large and portable projects">
<msg 
  url="2003/11/ac68477a0da5d7dbb8ba9e0bbe74e550"
  from="Martin Jambon &lt;martin_jambon@e...&gt;"
  author="Martin Jambon"
  date="2003-11-20T18:46:34"
  subject="[Caml-list] Building large and portable projects">
<msg 
  url="2003/11/ccf9db74e478acb20cab489c2fb02092"
  from="sylvain.le-gall@p..."
  author="sylvain.le-gall@p..."
  date="2003-11-20T19:56:20"
  subject="Re: [Caml-list] Building large and portable projects">
<msg 
  url="2003/11/7ef01ee5b5128354554f6850ad2b377d"
  from="Nicolas Cannasse &lt;warplayer@f...&gt;"
  author="Nicolas Cannasse"
  date="2003-11-21T01:45:57"
  subject="Re: [Caml-list] Building large and portable projects">
<msg 
  url="2003/11/7aa942a68105af8e690f486fea4fc402"
  from="David Brown &lt;caml-list@d...&gt;"
  author="David Brown"
  date="2003-11-21T05:26:06"
  subject="Re: [Caml-list] Building large and portable projects">
<msg 
  url="2003/11/918088b71b6718cd6d59e19ffbbd7f7d"
  from="Nicolas Cannasse &lt;warplayer@f...&gt;"
  author="Nicolas Cannasse"
  date="2003-11-21T05:48:25"
  subject="Re: [Caml-list] Building large and portable projects">
<msg 
  url="2003/11/85f43c4bd573158f0506da4ffabfd806"
  from="David Brown &lt;caml-list@d...&gt;"
  author="David Brown"
  date="2003-11-21T06:45:14"
  subject="Re: [Caml-list] Building large and portable projects">
</msg>
<msg 
  url="2003/11/19dec71a1408195b6ab73942c80adf76"
  from="sylvain.le-gall@p..."
  author="sylvain.le-gall@p..."
  date="2003-11-21T06:50:00"
  subject="Re: [Caml-list] Building large and portable projects">
<msg 
  url="2003/11/7743d7fb3969895760863a808bc9af19"
  from="Martin Jambon &lt;martin_jambon@e...&gt;"
  author="Martin Jambon"
  date="2003-11-21T16:31:53"
  subject="Re: [Caml-list] Building large and portable projects">
<msg 
  url="2003/11/d8e84a57831490d0dbb1c549a02056cb"
  from="sylvain.le-gall@p..."
  author="sylvain.le-gall@p..."
  date="2003-11-21T18:57:34"
  subject="Re: [Caml-list] Building large and portable projects">
</msg>
</msg>
<msg 
  url="2003/11/ced35df8149cebe71e7f4373aa08fb23"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-21T17:13:55"
  subject="Re: [Caml-list] Building large and portable projects">
<msg 
  url="2003/11/858f36de355923c2f9a2d21aa942a760"
  from="Eric Dahlman &lt;edahlman@a...&gt;"
  author="Eric Dahlman"
  date="2003-11-21T17:54:14"
  subject="Re: [Caml-list] Building large and portable projects">
<msg 
  url="2003/11/3d625f533942d81c8980a24c8ef6b993"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-22T15:46:13"
  subject="Re: [Caml-list] Building large and portable projects">
</msg>
</msg>
<msg 
  url="2003/11/45c74c49bce3bf90b74e048cf0f12405"
  from="sylvain.le-gall@p..."
  author="sylvain.le-gall@p..."
  date="2003-11-21T19:04:59"
  subject="Re: [Caml-list] Building large and portable projects">
<msg 
  url="2003/11/77f7d979d60a0de0241677e16ebb9af6"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-22T15:34:51"
  subject="Re: [Caml-list] Building large and portable projects">
<msg 
  url="2003/11/33980c9a0530b2caf98b1a8df1a3d33a"
  from="sylvain.le-gall@p..."
  author="sylvain.le-gall@p..."
  date="2003-11-22T18:50:31"
  subject="Re: [Caml-list] Building large and portable projects">
</msg>
</msg>
</msg>
<msg 
  url="2003/11/e83c4157c43ac28d050e4afb28346c25"
  from="Martin Berger &lt;martinb@d...&gt;"
  author="Martin Berger"
  date="2003-11-22T14:33:30"
  subject="Re: [Caml-list] Building large and portable projects">
<msg 
  url="2003/11/e0c7b4ad964ab34eb1d8dc95ecfef1b2"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-22T15:55:40"
  subject="Re: [Caml-list] Building large and portable projects">
</msg>
</msg>
<msg 
  url="2003/11/f190d240db31726d6e7cb25f062a47f2"
  from="David Brown &lt;caml-list@d...&gt;"
  author="David Brown"
  date="2003-11-22T17:09:06"
  subject="Re: [Caml-list] Building large and portable projects">
<msg 
  url="2003/11/f19e19de9a7a2d4ffa21c089a816b928"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-22T17:49:07"
  subject="Re: [Caml-list] Building large and portable projects">
</msg>
<msg 
  url="2003/11/9df9833869f3455d0566de36f53553c0"
  from="Nicolas Cannasse &lt;warplayer@f...&gt;"
  author="Nicolas Cannasse"
  date="2003-11-23T03:25:40"
  subject="Re: [Caml-list] Building large and portable projects">
<msg 
  url="2003/11/1ca1b8c753d52f322fb52fa0cb099487"
  from="David Brown &lt;caml-list@d...&gt;"
  author="David Brown"
  date="2003-11-23T04:29:40"
  subject="Re: [Caml-list] Building large and portable projects">
</msg>
<msg 
  url="2003/11/2ea9e2faafc3e01b6720e94a0ace03ce"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-23T18:22:13"
  subject="Re: [Caml-list] Building large and portable projects">
</msg>
</msg>
</msg>
<msg 
  url="2003/11/8c306ba3549ad409799276405cebd920"
  from="David Brown &lt;caml-list@d...&gt;"
  author="David Brown"
  date="2003-11-22T17:13:48"
  subject="Re: [Caml-list] Building large and portable projects">
</msg>
<msg 
  url="2003/11/e45e6ee9f1c352122edfbe83a7956ebc"
  from="Ken Rose &lt;kenrose@t...&gt;"
  author="Ken Rose"
  date="2003-11-24T18:02:39"
  subject="Re: [Caml-list] Building large and portable projects">
<msg 
  url="2003/11/4d7d822942745b392e762eca2bf717c0"
  from="Christian Lindig &lt;lindig@c...&gt;"
  author="Christian Lindig"
  date="2003-11-24T19:04:09"
  subject="Re: [Caml-list] Building large and portable projects">
</msg>
</msg>
</msg>
</msg>
</msg>
<msg 
  url="2003/11/f48dc0c8dcb5bfd5547a2d8750bd454f"
  from="Christian Lindig &lt;lindig@c...&gt;"
  author="Christian Lindig"
  date="2003-11-21T09:15:03"
  subject="Re: [Caml-list] Building large and portable projects">
</msg>
</msg>
</msg>
</msg>
<msg 
  url="2003/11/d516e3f24a0897f022c2c74d642473df"
  from="Richard Jones &lt;rich@a...&gt;"
  author="Richard Jones"
  date="2003-11-21T09:28:29"
  subject="Re: [Caml-list] Building large and portable projects">
</msg>
<msg 
  url="2003/11/be91a61f7033646f9301d5de206fc31b"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-21T16:35:45"
  subject="Re: [Caml-list] Building large and portable projects">
</msg>
<msg 
  url="2003/11/9df36749b91cbf1ae99c832a13bb0042"
  from="Jason Hickey &lt;jyh@c...&gt;"
  author="Jason Hickey"
  date="2003-11-21T17:05:30"
  subject="Re: [Caml-list] Building large and portable projects">
<msg 
  url="2003/11/055a86f520c0a5e1034e3ad3277ce35d"
  from="sylvain.le-gall@p..."
  author="sylvain.le-gall@p..."
  date="2003-11-21T18:55:50"
  subject="Re: [Caml-list] Building large and portable projects">
<msg 
  url="2003/11/cc773ee315e1384534f3a2b2880e0397"
  from="Aleksey Nogin &lt;nogin@c...&gt;"
  author="Aleksey Nogin"
  date="2003-11-21T19:30:34"
  subject="[Caml-list] Omake [Was: Building large and portable projects]">
<msg 
  url="2003/11/63a1efbac21c5d9bf7cfb4bb9fb0888b"
  from="Damien &lt;Damien.Pous@e...&gt;"
  author="Damien"
  date="2003-11-21T20:40:00"
  subject="Re: [Caml-list] Omake [Was: Building large and portable projects]">
<msg 
  url="2003/11/93fa547f5886c55641dd9dca462afc87"
  from="Aleksey Nogin &lt;nogin@c...&gt;"
  author="Aleksey Nogin"
  date="2003-11-22T03:30:26"
  subject="Re: [Caml-list] Omake [Was: Building large and portable projects]">
</msg>
</msg>
<msg 
  url="2003/11/6cb4163c04ade05bfaa283746117ab71"
  from="sylvain.le-gall@p..."
  author="sylvain.le-gall@p..."
  date="2003-11-21T23:49:08"
  subject="Re: [Caml-list] Omake [Was: Building large and portable projects]">
<msg 
  url="2003/11/8735a2fea9467afd546bac476fdcf022"
  from="Nicolas Cannasse &lt;warplayer@f...&gt;"
  author="Nicolas Cannasse"
  date="2003-11-22T01:32:38"
  subject="Re: [Caml-list] Omake [Was: Building large and portable projects]">
</msg>
<msg 
  url="2003/11/6c14c7f915d495d8d5e63b68c0a1fb83"
  from="Aleksey Nogin &lt;nogin@c...&gt;"
  author="Aleksey Nogin"
  date="2003-11-22T03:51:14"
  subject="Re: [Caml-list] Omake [Was: Building large and portable projects]">
</msg>
</msg>
</msg>
</msg>
<msg 
  url="2003/11/7142c51e2f8ab4fd19aa7b40ee02e63c"
  from="David Brown &lt;davidb@d...&gt;"
  author="David Brown"
  date="2003-11-28T16:29:15"
  subject="Re: [Caml-list] Building large and portable projects">
</msg>
</msg>
</msg>
</thread>

<contents>
On Sat, 2003-11-22 at 04:53, Eric Dahlman wrote:
&gt; skaller wrote:
&gt; 
&gt; &gt; But it is much worse. A target can
&gt; &gt; depend on itself. Interscript assumes that.
&gt; &gt; An example is a Latex build, which depends
&gt; &gt; on auxilliary files generated by the build
&gt; &gt; [Ocamldoc output can take 4 passes to fixate
&gt; &gt; for example].
&gt; &gt; 
&gt; &gt; This leads to the first novel idea. Fixpoints.
&gt; &gt; Interscript is based on that idea.
&gt; 
&gt; Just to be pedantic ;-)  A Tex or Latex build is not guaranteed to 
&gt; converge so you may not have a fixed point in the computation. They can 
&gt; oscillate and it may be necessary to slightly alter the source document 
&gt; to get things to settle down.

If I may also be pedantic: this is not a matter of pedantry :-)

The idea of fixpoints is still novel and useful here.
As you comment, oscillations are possible. Divergence
is also possible. Interscript has a command line like

	iscr --passes=4 other options ...

which limits the number of passes. The default is one
pass, but it has a persistence mechanism (Python marshal),
so that executing the command 4 times is roughly equivalent
to a single invocation with --passes=4, except that with
the --passes=4 option 1 to 4 passes are executed.

Interscript is also Make friendly -- if it writes the
same as a files contents the timestamps are not changed.
[Which is how it detects convergence :-]

It *also* has dependency checking which can detect
that a pass would be the same as the last pass and
so it is possible that 0 passes are executed.

The design is not particularly efficient, however
it handles things like: you can read a file that
doesn't exist, and later write it. No problem.
The error on the first pass is ignored. The file
is there on the second pass .. although it might
not fix.

BTW: there is a fun caveat. The one thing that
you must be careful NOT to ever do in Interscript
is put the code generation time directly into the generated
code -- that guarrantees divergence :-)


-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners

</contents>

</message>

