From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id 2F15BBB9C for ; Tue, 22 Nov 2005 17:23:41 +0100 (CET) Received: from zproxy.gmail.com (zproxy.gmail.com [64.233.162.195]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id jAMGNeC8020134 for ; Tue, 22 Nov 2005 17:23:40 +0100 Received: by zproxy.gmail.com with SMTP id q3so1061801nzb for ; Tue, 22 Nov 2005 08:23:39 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:sender:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=oYPguNNBwNTuNIV5njlZIRDNyviFurYvGPL3itS31nHpNx8GM67dy0o8gSyKUaOx3lP3wfjELyO78k8S1viPv5xAuheI1VUXPx1H/rK+Mbe6NKm65j0YqF0x7mBOHZX6FumG8p7eD3J/eQxBEu/ZIQLo3Sau/eTiG3VsbITmQhI= Received: by 10.65.145.14 with SMTP id x14mr4794348qbn; Tue, 22 Nov 2005 08:23:39 -0800 (PST) Received: by 10.65.52.1 with HTTP; Tue, 22 Nov 2005 08:23:38 -0800 (PST) Message-ID: <2a1a1a0c0511220823n1769194fo225c8cb059f5748@mail.gmail.com> Date: Tue, 22 Nov 2005 11:23:38 -0500 From: Mike Lin Sender: nilekim@gmail.com To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] ANN: "The Whitespace Thing" for OCaml In-Reply-To: <53c655920511212325h3265efeex@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <2a1a1a0c0511211440r584f4e2fg3384f482f7c70b46@mail.gmail.com> <53c655920511212325h3265efeex@mail.gmail.com> X-Miltered: at nez-perce with ID 4383460C.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; mikelin:01 caml-list:01 ocaml:01 indentifier:01 ideally:01 preprocessor:01 expression:01 ast:01 ambiguous:02 whitespace:02 whitespace:02 let:03 restriction:05 uses:06 edu:07 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=RCVD_BY_IP autolearn=disabled version=3.0.3 > I'm especially impressed by the removal of the sequence operator, and > how you also use whitespace for multiple-lines applications. > Is it really not ambiguous ? Yes...the preprocessor uses rules such as: if an indented block follows a let, if, try, etc., it's a sequence -- if it follows an indentifier, then it's an application. This is sound, as far as I can tell. There is a restriction that a multi-line expression has to start on its own line, which lets me get away without actually building a full AST for the source. Ideally that's how it would eventually work, but...80/20. Mike