From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id B9101BDDA for ; Sat, 27 Aug 2005 01:21:42 +0200 (CEST) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j7QNLggU031036 for ; Sat, 27 Aug 2005 01:21:42 +0200 Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id BAA01789 for ; Sat, 27 Aug 2005 01:21:41 +0200 (MET DST) Received: from smtp1.adl2.internode.on.net (smtp1.adl2.internode.on.net [203.16.214.181]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j7QNLdqC000744; Sat, 27 Aug 2005 01:21:40 +0200 Received: from rosella (ppp27-60.lns1.syd6.internode.on.net [59.167.27.60]) by smtp1.adl2.internode.on.net (8.12.9/8.12.6) with ESMTP id j7QNLWs6096917; Sat, 27 Aug 2005 08:51:33 +0930 (CST) (envelope-from skaller@users.sourceforge.net) Subject: Re: [Caml-list] OCamlDuce 3.08.4 From: skaller To: Alain Frisch Cc: Lukasz Stafiniak , caml users In-Reply-To: <430F4BD9.5030007@inria.fr> References: <430CA5F3.50104@inria.fr> <1124996020.16161.123.camel@localhost.localdomain> <430E13B0.3060906@inria.fr> <1124997485.16161.135.camel@localhost.localdomain> <4a708d20508251700632c6963@mail.gmail.com> <430F4BD9.5030007@inria.fr> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-uNmzo6Dh/rO2lbG4bI1C" Date: Sat, 27 Aug 2005 09:21:32 +1000 Message-Id: <1125098492.25384.70.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.2.1.1 X-Miltered: at nez-perce with ID 430FA406.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at concorde with ID 430FA403.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 ocamlduce:01 frisch:01 ocamlduce:01 ocaml:01 ocaml:01 cduce:01 compilers:01 cduce:01 ocamllex:01 compiler:01 lexer:01 parser:01 compiler:01 ghastly:98 X-Attachments: type="application/pgp-signature" name="signature.asc" X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.3 --=-uNmzo6Dh/rO2lbG4bI1C Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Fri, 2005-08-26 at 19:05 +0200, Alain Frisch wrote: > For what concerns John's question about the integration of OCamlDuce in=20 > OCaml, there are many answers.=20 .. and time to explore them. I wasn't trying to suggest the merger should be done tomorrow (hence Ocaml 4.0 number ..) > 3) OCaml is a general purpose language, and the extension adds support f= or=20 > a specific domain=20 Tree pattern matching isn't all that specific is it? I mean one could argue regular patterns are a 'specific domain' .. but one would be missing the fact the finite state automata are in the basis of computing. Ocaml can't even do regular matching, how on earth you could call it a 'pattern matching language' I don't know. Yet CDuce is already extending patterns well beyond mere regular matches by providing fairly strong capturing ability. > constraint of being able to compile any existing OCaml program with=20 > OCamlDuce, for instance, resulted in the introduction of explicit=20 > delimiters {{..}} for all the new constructions, which is syntactically=20 > heavy=20 meaning {{ UGLY }} .. yes, it is ghastly. > and theoretically useless. 5) It's too early to say whether=20 > OCamlDuce is useful or not compared to a simpler solution with two=20 > compilers (OCaml, CDuce). Agree. However, whenever you have two tools you have to join them together somehow. One way of doing that is with Unix scripting, shell scripts and the like. This is very ugly and non-portable, but can usually be got to work.=20 For example, using ocamllex/yacc is just horrible in practice, in Felix compiler there are so many files just to glue them together ..=20 .. in Felix language itself both lexer and parser tools are built in to the language and the compiler does the gluing. Camlp4 provides some interesting ways to glue things in a much more structured way than Unix script. --=20 John Skaller --=-uNmzo6Dh/rO2lbG4bI1C Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.5 (GNU/Linux) iD8DBQBDD6P6sRp8/9aGVGsRAjBLAJ4uFKDQK3RjmF+9cZ1l3qyryHO8wwCfcfxn VIGOcFQnNL8OVHL/6AKvCkM= =48vU -----END PGP SIGNATURE----- --=-uNmzo6Dh/rO2lbG4bI1C--