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 concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 7385FBB9C for ; Mon, 21 Nov 2005 23:40:56 +0100 (CET) Received: from zproxy.gmail.com (zproxy.gmail.com [64.233.162.206]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id jALMetaU005549 for ; Mon, 21 Nov 2005 23:40:56 +0100 Received: by zproxy.gmail.com with SMTP id x3so933013nzd for ; Mon, 21 Nov 2005 14:40:55 -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:mime-version:content-type:content-transfer-encoding:content-disposition; b=EcYiuVAQdAH9x9tGI/nNGRuWVKFUGvcfrKShjczvbqc6m3IoziS1a62lJ0HqEUStCJwNQod/yuS+Z/eYnrvjpspEXBqCRcyCtgjKazKtapeMc739LupZPI6mOCf+T/j4jD/IBlnCZW5eL7hmHPqDvyafR0eNhxuoJGXzBpgAv0U= Received: by 10.65.105.2 with SMTP id h2mr3133859qbm; Mon, 21 Nov 2005 14:40:44 -0800 (PST) Received: by 10.65.52.1 with HTTP; Mon, 21 Nov 2005 14:40:44 -0800 (PST) Message-ID: <2a1a1a0c0511211440r584f4e2fg3384f482f7c70b46@mail.gmail.com> Date: Mon, 21 Nov 2005 17:40:44 -0500 From: Mike Lin Sender: nilekim@gmail.com To: caml-list@yquem.inria.fr Subject: ANN: "The Whitespace Thing" for OCaml MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-Miltered: at concorde with ID 43824CF7.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; mikelin:01 ocaml:01 ocaml:01 haskell:01 syntax:01 mikelin:01 eliminates:98 preprocessor:01 preprocessor:01 python:02 whitespace:02 whitespace:02 expressions:03 expressions:03 indentation:04 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 Hi all, Brace yourselves for "The Whitespace Thing". This is an OCaml preprocessor that uses your indentation to group expressions, like in Python and Haskell. Effectively, the preprocessor auto-parenthesizes expressions that are split over multiple lines, using your indentation as clues. This eliminates syntax clutter such as multi-line parenthesizations, the sequencing operators ; and ;; , and the keywords done, end, and begin. http://people.csail.mit.edu/mikelin/ocaml+twt/ Mike