From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 7D25E7EE49 for ; Sun, 15 Sep 2013 16:59:46 +0200 (CEST) Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of yoriyuki.y@gmail.com) identity=pra; client-ip=209.85.212.52; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="yoriyuki.y@gmail.com"; x-sender="yoriyuki.y@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of yoriyuki.y@gmail.com designates 209.85.212.52 as permitted sender) identity=mailfrom; client-ip=209.85.212.52; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="yoriyuki.y@gmail.com"; x-sender="yoriyuki.y@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-vb0-f52.google.com) identity=helo; client-ip=209.85.212.52; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="yoriyuki.y@gmail.com"; x-sender="postmaster@mail-vb0-f52.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AqUCAIjKNVLRVdQ0lGdsb2JhbABbhBHAaoEPCBYOAQEBAQcLCwkSKoIlAQEEAUABGx0BAwELBgUEBzshAQERAQUBHAYTh3ABAwkGnEeMUYMHg2EKGScNZIhJAQUMjHmCbgeEHgOJNoxcgWmMQYNKGCmEWy0 X-IPAS-Result: AqUCAIjKNVLRVdQ0lGdsb2JhbABbhBHAaoEPCBYOAQEBAQcLCwkSKoIlAQEEAUABGx0BAwELBgUEBzshAQERAQUBHAYTh3ABAwkGnEeMUYMHg2EKGScNZIhJAQUMjHmCbgeEHgOJNoxcgWmMQYNKGCmEWy0 X-IronPort-AV: E=Sophos;i="4.90,909,1371074400"; d="scan'208";a="26911028" Received: from mail-vb0-f52.google.com ([209.85.212.52]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 15 Sep 2013 16:59:45 +0200 Received: by mail-vb0-f52.google.com with SMTP id f12so2213257vbg.11 for ; Sun, 15 Sep 2013 07:59:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=O/F1rWThjJ+W0qGxJK1ddTeXAVXpTdvGfxeWRc0oBrk=; b=KFzGgcq8NfPuoUM0fBY/4toodKO02n/3KOri0akGPPbXAT+SbkKY6nlarp9BxxMAq7 yMbSpqNkkU5v9ego71u7tJ+pFCLWKLEU/bZDLlx+D7/C7yZBABisVksyqbv1ZGC6jBb4 NS3lFps7Esso+zbXVIV1Xsjl7LyFm9PpLUBuTrClcJxZBJlDJ4ZNrjB3V7w5mQ2d5rZJ 3sOtCalhK+uUVWz7Hnudfog3Zk3uU7tAHYYI70voyvFqH5ycb/ezPHEGMWAAtvlKxiPO +ZbI2l2L9mswxeJkvmR6MG6b7yHRlQz3WPZfEhRyIxhCjJO+/KulwpXytahzwvIZGk1G Faxw== X-Received: by 10.220.164.202 with SMTP id f10mr61638vcy.25.1379257184506; Sun, 15 Sep 2013 07:59:44 -0700 (PDT) MIME-Version: 1.0 Received: by 10.52.162.201 with HTTP; Sun, 15 Sep 2013 07:59:24 -0700 (PDT) In-Reply-To: <20130915143716.GA25809@notk.org> References: <20130915143716.GA25809@notk.org> From: Yoriyuki Yamagata Date: Sun, 15 Sep 2013 23:59:24 +0900 Message-ID: To: Adrien Nader Cc: Caml List Content-Type: multipart/alternative; boundary=001a11c1e980895a9104e66d56f3 Subject: Re: [Caml-list] [ANN] ucorelib 0.0.2 --001a11c1e980895a9104e66d56f3 Content-Type: text/plain; charset=ISO-8859-1 2013/9/15 Adrien Nader > Can you explain how this relates to Camomile? Is this meant to be a > replacement at some point in the future? > Yes, it is meant to replace Camomile in the future. I think there are several problems in Camomile. 1. Monolithic. Camomile is a large library. it forces you to install many encodings even if you want to just, say, use UTF-8. I will brake Camomile into the pieces. ucorelib will be a core part of such libraries. 2. Not type safe. UTF-8 string exposes internal byte strings. ucorelib will provide abstract Text data type whose internal data structure is hidden. 3. Imperative. Camomile mimics OCaml standard strings which are imperative. Instead, ucorelib and related libraries will be purely functional. 4. Functor. Camomile uses functor a lot. Unfortunately this seems to repel the beginners. ucorelib uses the module language essential ways (code converters are implemented by using first class modules) but for casual users it does not requires any knowledge of OCaml's module system. 5. Data files. Camomile needs to external data files to start. This causes a lot of problems. ucorelib does not need external data files. 6. Unicode version. I want to upgrade everything to Unicode 0.6.X, not 0,3,X. Best, -- Yoriyuki Yamagata yoriyuki.y@gmail.com --001a11c1e980895a9104e66d56f3 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
2013/9/15 Adrien Nader <adrien@n= otk.org>
Ca= n you explain how this relates to Camomile? Is this meant to be a
replacement at some point in the future?

Yes, i= t is meant to replace Camomile in the future. =A0I think there are several = problems in Camomile.

1. Monolithic. =A0Camomile is a large library. =A0it forces you to install = many encodings even if you want to just, say, use UTF-8. =A0I will brake Ca= momile into the pieces. =A0ucorelib will be a core part of such libraries.<= /div>

2. Not type= safe. =A0UTF-8 string exposes internal byte strings. =A0ucorelib will prov= ide abstract Text data type whose internal data structure is hidden.
<= div class=3D"gmail_extra">
3. Imperative. =A0Camomile mimics OCam= l standard strings which are imperative. =A0Instead, ucorelib and related l= ibraries will be purely functional.=A0

4. Functor= . =A0Camomile uses functor a lot. =A0Unfortunately this seems to repel the = beginners. =A0ucorelib uses the module language essential ways (code conver= ters are implemented by using first class modules) but for casual users it = does not requires any knowledge of OCaml's module system.

5. Data files. =A0Camomile needs to external data files= to start. =A0This causes a lot of problems. =A0ucorelib does not need exte= rnal data files.

6. Unicode version. =A0I want to = upgrade everything to Unicode 0.6.X, not 0,3,X.

Best,
--
Yoriyuki Yamagatayoriyuki.y@gmail= .com
--001a11c1e980895a9104e66d56f3--