From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: * X-Spam-Status: No, score=1.0 required=5.0 tests=AWL,SPF_NEUTRAL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id 060F0BC6B for ; Tue, 9 Oct 2007 19:32:28 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAACpYC0fRVZKwkmdsb2JhbACOSAIBAQcEBBMW X-IronPort-AV: E=Sophos;i="4.21,249,1188770400"; d="scan'208";a="17764219" Received: from wa-out-1112.google.com ([209.85.146.176]) by mail4-smtp-sop.national.inria.fr with ESMTP; 09 Oct 2007 19:32:27 +0200 Received: by wa-out-1112.google.com with SMTP id k17so2175233waf for ; Tue, 09 Oct 2007 10:32:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=YuVRuJ5OndhCy+TH2lceyCDxGmmW4i7UvTAiaCu6N88=; b=RwyqkzH677Jdpx6dNMhkDWRv/+lwcIRS5dK3Trj1JoFy0Fln1MhrF1haNQfMVy5gkC+4pS8ib2ku8UCaTqWwUjkGCpoMLl9mxrgmpiHIUqJItlP0LZw3gefZt8wrNO2LCEeFxQx08JAj2LP5K7yogPnweKBlBLtv13iBDadLDdc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=VQ7XD/zBlAAy1d8OvXn1Qp/YSx3CFPkENjAxvzfviInumvonGQajFtEFI3FAkq9TmPPnn/rxVEmR2gHGW+qSqRUb1f5o/QY3FCmlyjg3x7aX+vWzm8HrZXjbp6aIKMkwuBJyRHU9D6FF5JTGBXPdvKF7ZSHoOT1eXopABEuGVkc= Received: by 10.114.201.1 with SMTP id y1mr6473908waf.1191951145728; Tue, 09 Oct 2007 10:32:25 -0700 (PDT) Received: by 10.114.13.16 with HTTP; Tue, 9 Oct 2007 10:32:25 -0700 (PDT) Message-ID: <6f9f8f4a0710091032r3dace80bi4f9b584ae5056675@mail.gmail.com> Date: Tue, 9 Oct 2007 19:32:25 +0200 From: "Loup Vaillant" To: "Vincent Hanquez" Subject: Re: [Caml-list] Re: Rope is the new string Cc: "Jon Harrop" , caml-list@yquem.inria.fr In-Reply-To: <20071009165520.GA27507@snarc.org> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <1191879429.28011.27.camel@rosella.wigram> <1191886669.26491.29.camel@rosella.wigram> <20071009.122004.251675959.Christophe.Troestler+ocaml@umh.ac.be> <200710091440.48381.jon@ffconsultancy.com> <20071009155702.GB26282@snarc.org> <6f9f8f4a0710090942u2afe6c5erc2d5b11ecfff2253@mail.gmail.com> <20071009165520.GA27507@snarc.org> X-Spam: no; 0.00; appending:01 ocaml:01 byte:01 arrays:01 ocaml:01 emacs:01 syntactic:01 incompatible:01 ints:01 caml-list:01 strings:01 strings:01 suggesting:02 floats:02 string:02 2007/10/9, Vincent Hanquez : > > By my question i wasn't suggesting that everybody should do > internationalization by hand. Sorry, I misinterpreted you. > definitely we also need some UTFstring type library (which can use rope, > string, whatever internally), with all common type of operations > (appending, finding, ...), but it's a just a specific sub case and also > a different type not compatible with strings (in OCaml terminology). Then, we should have both byte arrays (the native Ocaml strings), and unicode strings. We will also need proper syntactic sugar for unicode strings. Operators, and literal values (like #"example"). Only then, ropes could feel like native strings --and be useful as such. > [...] it's a just a specific sub case [...] Internationalization is, mere text crunching is not. (You meant that, right?) With properly interfaced unicode strings, I can do my text crunching without worrying about internationalization, and with no programming overhead. Then, when (if) I have to internationalize, it is much easier. About the incompatibility, the two types of strings are incompatible anyway. Maybe even more than ints and floats. Sure you once tried some "Obj.magic" conversions of an non-English text with emacs. :-) Loup Vaillant