From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by sympa.inria.fr (Postfix) with ESMTPS id 4554F7EE20 for ; Wed, 14 Nov 2012 20:35:29 +0100 (CET) Received-SPF: None (mail4-smtp-sop.national.inria.fr: no sender authenticity information available from domain of martin.jambon@ens-lyon.org) identity=pra; client-ip=66.111.4.29; receiver=mail4-smtp-sop.national.inria.fr; envelope-from="martin.jambon@ens-lyon.org"; x-sender="martin.jambon@ens-lyon.org"; x-conformance=sidf_compatible Received-SPF: None (mail4-smtp-sop.national.inria.fr: no sender authenticity information available from domain of martin.jambon@ens-lyon.org) identity=mailfrom; client-ip=66.111.4.29; receiver=mail4-smtp-sop.national.inria.fr; envelope-from="martin.jambon@ens-lyon.org"; x-sender="martin.jambon@ens-lyon.org"; x-conformance=sidf_compatible Received-SPF: None (mail4-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@out5-smtp.messagingengine.com) identity=helo; client-ip=66.111.4.29; receiver=mail4-smtp-sop.national.inria.fr; envelope-from="martin.jambon@ens-lyon.org"; x-sender="postmaster@out5-smtp.messagingengine.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AtcBAB3yo1BCbwQdlGdsb2JhbABEhh29HiMBAQEBCQsJCRQEI4IeAQEFIxUIOAEBDwsYAgIFFgsCAgkDAgECAUUGDQEFAgEBiAYLp01wg02PGgIEgSKLCwWFFIETiF2TDY1o X-IronPort-AV: E=Sophos;i="4.83,252,1352070000"; d="scan'208";a="162490700" Received: from out5-smtp.messagingengine.com ([66.111.4.29]) by mail4-smtp-sop.national.inria.fr with ESMTP/TLS/ADH-AES256-SHA; 14 Nov 2012 20:35:28 +0100 Received: from compute1.internal (compute1.nyi.mail.srv.osa [10.202.2.41]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id E29E120959; Wed, 14 Nov 2012 14:35:25 -0500 (EST) Received: from frontend1.nyi.mail.srv.osa ([10.202.2.160]) by compute1.internal (MEProxy); Wed, 14 Nov 2012 14:35:25 -0500 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=message-id:date:from:mime-version:to:cc :subject:references:in-reply-to:content-type :content-transfer-encoding; s=smtpout; bh=HvV2B6wiMf/eyZSUe5jOA4 oYETk=; b=t3rzzb6Jj90A8u55lyET7RtfIOuW9fA96e9NDwMknwFNX5TSGNrFoo jfrqof39N86mlnXDBcl+Gpd+HtESKrTqYf+ZQKcLr/Gdm+7Wx0hvk6AIkRb5v5kU OSRATxI/tBRqlvOmkOPDPxyi9v9DJcm+0exoOtVxpNcs+N0g9UpEY= X-Sasl-enc: woJH2Sx7iI68U4BTW+stxzn7ph/fdA/KUuhZeeMjdrhf 1352921725 Received: from [192.168.1.107] (unknown [50.76.32.210]) by mail.messagingengine.com (Postfix) with ESMTPA id 4F4D18E052D; Wed, 14 Nov 2012 14:35:25 -0500 (EST) Message-ID: <50A3F27C.1070709@ens-lyon.org> Date: Wed, 14 Nov 2012 11:35:24 -0800 From: Martin Jambon User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120827 Thunderbird/15.0 MIME-Version: 1.0 To: Markus Mottl CC: Marek Kubica , caml-list@inria.fr References: <20121114124355.7e8ca762@xivilization.net> <50A3ADC1.5090402@gmail.com> <20121114180012.68bf06df@xivilization.net> <50A3E041.6080906@ens-lyon.org> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Caml-list] Preferred layout for new packages On Wed 14 Nov 2012 10:48:37 AM PST, Markus Mottl wrote: > On Wed, Nov 14, 2012 at 1:17 PM, Martin Jambon > wrote: >> Use for in-house development: >> - omake >> - batteries (some of it) >> >> Avoid in new projects: >> - camlp4/camlp5 >> - ocamlbuild > > I wish ocamlbuild were a serious alternative to omake. Though I use > the former for distributing libraries, I also prefer omake for more > complex projects. > > Concerning camlp4: what alternative are you considering? Though > camlp4 has its good share of warts, it also offers useful > functionality that I don't see anywhere else yet. For deriving code from type definitions: atdgen For generating OCaml code without Camlp4 quotations: https://github.com/MyLifeLabs/atd/blob/master/atd_indent.mli For conditional compilation and simple macros: cppo For quotation expansion: cppo -x For Lwt: standard OCaml syntax Mikmatch (regexps): simplified implementation in progress https://github.com/mjambon/rematch CSV data: going through JSON (handled with atdgen) Forms derived from type definitions: no need for me now but I would write something like atdgen, based on the atd syntax Martin