From mboxrd@z Thu Jan 1 00:00:00 1970 X-Sympa-To: caml-list@inria.fr Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id pBAJAoZ0023195 for ; Sat, 10 Dec 2011 20:10:50 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsAAAC6u405KfVI0imdsb2JhbABDhDdQpW4IIgEBAQoJDQcSBiGBcgEBAQMBDAYCDx0BATIFAQQLCQILDwIFIQICDwEEIAEFASITFA6HZgKYEwqKM2mDMwGNWAeBNIkjgRaUdY1xPYN5 X-IronPort-AV: E=Sophos;i="4.71,332,1320620400"; d="scan'208";a="122862692" Received: from mail-ww0-f52.google.com ([74.125.82.52]) by mail4-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-MD5; 10 Dec 2011 20:10:45 +0100 Received: by wgbdr12 with SMTP id dr12so9779262wgb.9 for ; Sat, 10 Dec 2011 11:10:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type:content-transfer-encoding; bh=rM5ORhdTkXJfu6PZNXZwZap5meDwY2e9jd6MT7wxn9k=; b=KSeDSMCm0pxLf6xLuF0LsHiLVSZac1pI5zMHZ9CuTQStQw7lXObcQV+ipIugkfXJWJ xDQk746f2HoLUXQvOc3Qs4RLeDmMmckN16kDDE1s9YeEpm76McTpUufK3Pywey7GCpmP Sc1hAMwCWz2ZgInMTv9wckRnTyDDhu094EEC4= Received: by 10.180.106.3 with SMTP id gq3mr15732549wib.34.1323544244817; Sat, 10 Dec 2011 11:10:44 -0800 (PST) Received: from spec-desktop.danmey.org (cpc1-cmbg12-0-0-cust201.5-4.cable.virginmedia.com. [86.9.116.202]) by mx.google.com with ESMTPS id ea8sm2981827wib.17.2011.12.10.11.10.42 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 10 Dec 2011 11:10:43 -0800 (PST) From: Wojciech Meyer To: =?utf-8?B?SsOpcsOpbWll?= Dimino Cc: Xavier Leroy , caml-list@inria.fr References: <55531934-37A5-4CC5-AB67-20CE4CCE8269@googlemail.com> <4EE37070.4010702@inria.fr> <1323541702.32136.8.camel@aurora> Date: Sat, 10 Dec 2011 19:10:41 +0000 In-Reply-To: (Wojciech Meyer's message of "Sat, 10 Dec 2011 18:34:23 +0000") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.91 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by walapai.inria.fr id pBAJAoZ0023195 X-Validation-by: wojciech.meyer@googlemail.com Subject: Re: [Caml-list] OCaml maintenance status / community fork (again) Wojciech Meyer writes: > Hi, > > Jérémie Dimino writes: > >> But there is something i don't understand here. Why is there camlp4 and >> camlp5 ? These two projects do exactly the same thing and are >> incompatible. So i don't see the point of maintaining them both. We >> should at least deprecate one. > > BTW: Are there any plans to add type reflection to Camlp4 (or Camlp5)? Hi Jérémie, Sorry about OT. I'm asking, because certainly it would be a very wanted feature. I can see two major limitations of the current Camlp4/p5 system: - no way of recursively expand syntax, generate some code and then re-generate again using same syntax (staging, it's partially there as you can compose syntax extensions, but there is no way to keep expanding until fixpoint) - no way of making an action based on inferred type during previous stage of macro expansions. This is biggie. It needs either using `ocaml -i' hack or kind of type reflection support in the compiler. Also, a packrat lexless parsers with a way to compose them would be a huge thing too. I'm aware that these are huge changes to Camlp4, but it would make meta programming more powerful and push Camlp4 to the next level. People will mention about MetaOCaml (which is an excellent way for meta programming in OCaml), but here I'm more interested in syntactical abstraction than partial evaluation. Cheers; Wojciech