From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=1.0 required=5.0 tests=AWL,SPF_FAIL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id C3DE6BBC1 for ; Tue, 4 Mar 2008 21:27:42 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAEI/zUfAXQImh2dsb2JhbACQcwEBAQgKKZxy X-IronPort-AV: E=Sophos;i="4.25,444,1199660400"; d="scan'208";a="23370885" Received: from discorde.inria.fr ([192.93.2.38]) by mail4-smtp-sop.national.inria.fr with ESMTP; 04 Mar 2008 21:27:42 +0100 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id m24KRYng020469 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Tue, 4 Mar 2008 21:27:42 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAEI/zUdQW+UCh2dsb2JhbACQcwEBAQgKKZxy X-IronPort-AV: E=Sophos;i="4.25,444,1199660400"; d="scan'208";a="23370883" Received: from main.gmane.org (HELO ciao.gmane.org) ([80.91.229.2]) by mail4-smtp-sop.national.inria.fr with ESMTP; 04 Mar 2008 21:27:39 +0100 Received: from list by ciao.gmane.org with local (Exim 4.43) id 1JWdjY-000281-Jw for caml-list@inria.fr; Tue, 04 Mar 2008 20:27:32 +0000 Received: from ks300734.kimsufi.com ([91.121.65.225]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 04 Mar 2008 20:27:32 +0000 Received: from sylvain by ks300734.kimsufi.com with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 04 Mar 2008 20:27:32 +0000 X-Injected-Via-Gmane: http://gmane.org/ To: caml-list@inria.fr From: Sylvain Le Gall Subject: Re: OSR - "Batteries included" - Standardizing syntax extensions and extra libraries Date: Tue, 4 Mar 2008 20:27:22 +0000 (UTC) Message-ID: References: <47CD82F3.20600@exalead.com> <3a360f590803040950raa7eb1clcf0b8b1cc6a8edc7@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: ks300734.kimsufi.com User-Agent: slrn/0.9.8.1pl2 (Debian) Sender: news X-Miltered: at discorde with ID 47CDB0B6.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; le-gall:01 syntax:01 berke:01 durak:01 berke:01 durak:01 syntax:01 ocaml:01 ocaml:01 toolchain:01 pcre:01 ocamlc:01 ocamlopt:01 pcre:01 -pp:01 On 04-03-2008, Hezekiah M. Carty wrote: > On Tue, Mar 4, 2008 at 12:12 PM, Berke Durak wrote: >> Hello all, >> >> David Teller suggested that I launch a thread on my suggestion at the end of the >> "different records, same field name?" thread. >> >> The idea is to define, as part of the OSR process, a list of >> "standard" syntax extensions and libraries. A meta-distribution of Ocaml would >> then include, for every element of the ocaml toolchain, a version that has >> access to those extensions and libraries. The name of the extended tool would >> be obtained by adding an "s" to the original name. >> >> Hence, assuming that we agree that Alain Frisch's openin and, say, Pcre should >> be part of the standard, then >> >> ocamlcs (resp. ocamlopts) >> >> would be a script calling ocamlc (resp. ocamlopt) with options >> >> -I +pcre -pp pa_openin >> >> Then we'd tell people new to Ocaml to use those instead; the existing users >> will be told to just add an "s". > > I like this idea, and think that it would make getting started with > OCaml and its libraries much easier for new users. > >> >> A few switches such as -only unix,pcre should be added to ocamlcs to prevent it >> from linking it everything if this is a concern. > > If ocamlfind were included as a standard part of the community OCaml > distribution, then I think it would ease this process significantly. > The standard set of libraries and syntax extensions could be checked > against the proposed extra switches (-onlylibs/-exceptlibs/-libs) and > used accordingly. The user would only need to know the ocamlfind name > of the library they wish to include/exclude. The script would not > have to keep track of including or excluding the proper directories > for each new library which comes along in the ocaml(c|opt) search path > since ocamlfind takes care of this. I think ocamlfind/findlib > supports syntax extension packages as well - if it does then these > could be handled in the same way. > And ocamlfind also supports camlp4(o|r) and any other syntax extension through the camlp4: Extract from the manpage of ocamlfind: -syntax pred-name-list These predicates are assumed to be true in addition to the standard preprocessor predicates. See below for a list. and syntax This predicate is set if there is a -syntax option. It is set both for the preprocessor and the compiler/linker stage, and it can be used to find out whether the preprocessor is enabled or not. I.e. ocamlcs = ocamlfind ocaml -syntax openin! Just have to define package name. The OSR can list the minimum syntax extension to be found on a system... Regards, Sylvain Le Gall