caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] Camlmix 1.0
@ 2004-05-02 16:59 Martin Jambon
  0 siblings, 0 replies; only message in thread
From: Martin Jambon @ 2004-05-02 16:59 UTC (permalink / raw)
  To: caml-announce; +Cc: caml-list

Announcement: Camlmix 1.0 (first release)

   http://martin.jambon.free.fr/camlmix

Camlmix is a command-line tool for preprocessing any kind of file using
Objective Caml as an embedded language for inline expansion.
It has 3 major properties:
- easy: no obscure syntax, no complex library
- flexible: lets you use full featured OCaml
- universal: is not specialized in handling any specific file format

Short example:

File foo.tpl:
##
# load "unix.cma"
# use "my_utils.ml"
let my_name () = print_string "Camlmix"
##
[...]
This text has been generated by ## my_name () ##.
[...]
EOF

Command:
  camlmix foo.tpl -o foo.txt

Result file foo.txt:

[...]
This text has been generated by Camlmix.
[...]
EOF


I use Camlmix for my few static web pages. It is not supposed to replace
any already existing tool, but just provide an OCaml centric
general-purpose preprocessor.

It can of course be used to preprocess OCaml programs themselves, but I
would not recommend this. It allows to create easily a primitive template
system for OCaml and probably many other kinds of dirty hacks (see
the example on the web page).

Once again, it's here:
  http://martin.jambon.free.fr/camlmix


Have fun!

-- Martin Jambon

-------------------
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


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-05-02 17:00 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-05-02 16:59 [Caml-list] Camlmix 1.0 Martin Jambon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).