Browse thread
[Caml-list] Building large and portable projects
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | sylvain.le-gall@p... |
| Subject: | Re: [Caml-list] Building large and portable projects |
On Sun, Nov 23, 2003 at 01:34:22AM +1100, skaller wrote:
> On Sat, 2003-11-22 at 06:04, sylvain.le-gall@polytechnique.org wrote:
>
> > I don't want to reproduce make bugs... I just want to do something
> > simple where you can type :
> >
> > let my_prog = {
> > name : "my_prog";
> > compile_target : [Opt;Byte];
> > toplevel_files : [ "my_prog.ml" ;
> > "something_ocamldep_dont_recognize_as_toplevel.ml" ];
> > package : "all_my_life" ;
> > target_tag : Binary; ( or Documentation or Custom of string )
> > }
> >
> > let _ =
> > add_target my_prog
> >
> > Ie, it is not makefile syntax.
>
> My guess is that the 'object oriented design
> paradigm' has something to say here --
> do it bottom up. The first step is to define
> things like
>
> compare_time_stamp(f1, f2)
>
> a module for 'dependency graph', and
> other tools that may be useful.
Yeah, you are right, i was just showing you the final step... Ie what
the user will have to write to compile...
I don't want to specify a full language schemes... Too much complicated.
I just want to make it in ocaml in order to ease ocaml user to write
ocaml script to compile ocaml ( i repeat a lot of time ocaml because i
still think that it is enough expressive to describe a makefile process
and i don't want people to learn 10 language to create : a configure.in,
a Makefile.am... ).
>
> Then just write plain Ocaml code using these tools.
>
> This may be a bit long winded, so check out camlp4
> to sweeten it up.
>
> The advantage of this approach is that a make script
> is an arbitrary caml script.
>
> Which means: it can do anything easily (since caml
> is so expressive), it is also type checked (hey,
> why shouldn't build scripts be type checked?)
>
> etc etc etc ...
>
> Finally after all that if you still think a language
> translator is needed to express the build conditions
> above and beyond caml with camlp4 ... then one
> can be written, plugged into the front, invoked
> by the caml build script, compiled and executed ..
> all without requiring ME or anyone else
> to use your language (you can just embed the
> translator in your package).
>
> This is basically what interscript does only
> its hooks Python and it's aimed at packaging
> software components (meaning source codes and
> documentation) in a more general fashion
> than merely building them would require.
> It actually has a language translator,
> but it's a pretty brain dead one that basically
> allows code, doco, and executable script to be
> mixed together in a single source file.
>
Maybe i miss one step : where can i found interscript ( i am not an
expert, i am sorry ).
thanks
Regard
Sylvain LE GALL
-------------------
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