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 84B94BDC5 for ; Mon, 22 Aug 2005 17:55:32 +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 j7MFtWHN015395 for ; Mon, 22 Aug 2005 17:55:32 +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 RAA31529 for ; Mon, 22 Aug 2005 17:55:31 +0200 (MET DST) Received: from cgpsrv2.cis.mcmaster.ca (univmail.CIS.McMaster.CA [130.113.64.46]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j7MFtUjo031070 for ; Mon, 22 Aug 2005 17:55:31 +0200 Received: from [130.113.68.27] (account carette@univmail.cis.mcmaster.ca [130.113.68.27] verified) by cgpsrv2.cis.mcmaster.ca (CommuniGate Pro SMTP 4.1.8) with ESMTP id 101765325 for caml-list@inria.fr; Mon, 22 Aug 2005 11:55:30 -0400 Message-ID: <4309F579.4020302@mcmaster.ca> Date: Mon, 22 Aug 2005 11:55:37 -0400 From: Jacques Carette User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716) X-Accept-Language: en-us, en MIME-Version: 1.0 To: caml-list@inria.fr Subject: Syntax vs Operators Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Miltered: at nez-perce with ID 4309F574.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at concorde with ID 4309F572.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; syntax:01 ocaml:01 pervasives:01 syntax:01 metaocaml:01 functors:01 ...:98 syntactic:01 syntactic:01 jacques:01 jacques:01 purely:02 implemented:02 constructs:02 constructs:02 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 I have been going through the documentation, trying to figure out which constructs in Ocaml are syntactic (like :: seems to be) and cannot be oer-ridden, and others like + which are values in Pervasives. Is there a simple way to find out which language constructs are purely syntactic? The goal is to understand which constructs can be re-defined (locally) in a module. The eventual application is a more genial syntax for a DSL implemented via MetaOCaml (and more functors than anyone in their right mind would really want to use...). Jacques