Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: David Teller <David.Teller@univ-orleans.fr>
To: yminsky@gmail.com
Cc: OCaml <caml-list@inria.fr>
Subject: Re: [Caml-list] [OSR] OCaml Standard Recommandation Process
Date: Sun, 27 Jan 2008 20:07:01 +0100	[thread overview]
Message-ID: <1201460821.19472.31.camel@Blefuscu> (raw)
In-Reply-To: <891bd3390801270624h4df6cdadn9d5e888dae615280@mail.gmail.com>

You are correct, I should have been more specific. The idea is to
discuss
* libraries
* Camlp4 extensions
* language features that may be implemented as a combination of
libraires and Camlp4 extensions
* actual code.

Let me summarise a few good candidates for discussion. Please don't
start the actual debate in this thread, they will be posted again in
their own e-mail.

** The Unicode situation **

At the moment, at least four libraries (Camomile, ExtLib, ULex, LablGtk)
contain their own, incompatible, Unicode management modules, none of
which is compatible with OCamllex, or (I believe) OCamlDuce, Camlp4,
OCaml-Java, Spidercaml, the Str module, wxOCaml, Expat...

We need to
* decide on APIs we will consider "standard" for Unicode management --
preferably in the form of one already-existing library, possibly with
minor modifications, otherwise as things-that-need-to-be-implemented
* decide on whether/how to include these APIs in end-user distributions
(e.g. GODI, Debian packages, Fedora packages)
* add new implementations of Pervasives / standard library functions for
Unicode strings instead of the string type
* document the use of these APIs for the most common situations, both
for newbies and seasoned developers
* start patching our own applications to make use of these APIs, both as
a way to test them and as a way to have bring the OCaml world one step
further towards something that interacts more easily
* from the moment the debate is concluded, make it clear for new users
of OCaml that, unless they have very specific needs, this is the One
True Way of using Unicode.


** The mutable string situation **

Since the first version, OCaml has mutable strings. With time and the
hindsight provided by numerous languages with immutable strings, this
design decision has begun to be seen by many developers as wrong. As
pointed out by Xavier Leroy, however, it is now impossible to come back
on that decision and fully root out mutable strings from the language.
However, new data structures may be added, made comfortable for general
use and documented as being the new standard.

We need to
* decide if we actually want this to happen
* decide on the necessary APIs and performance requirements for these
new data structures (e.g. ropes)
* discuss and implement a nice Camlp4 syntax for these revised strings
* decide on whether/how to include these APIs in end-user distributions
(e.g. GODI, Debian packages, Fedora packages)
* add new implementations of Pervasives / standard library functions for
text strings instead of the string type
* document the use of these APIs for the most common situations, both
for newbies and seasoned developers
* start patching our own applications to make use of these APIs, both as
a way to test them and as a way to have bring the OCaml world one step
further towards something that interacts more easily
* from the moment the debate is concluded, make it clear for new users
of OCaml that, unless they have very specific needs, this is the One
True Way of using text.


---

Of course, these two debates will probably be closely linked, as they
both deal with the representation of text.

Other subjects would include ExtLib (anything we need to add ?), Lazy
lists, lazy pattern-matching (yes, this can be implemented in Camlp4),
pattern views, simple equation solving in patterns à la Haskell (match x
with y+1 -> ...), ...



Does this answer your questions ?

Cheers,
 David

On Sun, 2008-01-27 at 09:24 -0500, Yaron Minsky wrote:
> 
> What is it that is meant to be standardized by this process?  Is this
> meant to be parallel to the Java Community Process or Python's PEPs
> (Python Enhancement Proposals)?  Those are not just about "best
> practices", but are actually about code, language features, APIs, etc.
> I don't at first glance see any real use in agreeing on best practices
> for OCaml.  Can you give some examples of what would make a reasonable
> OSR?  That might clarify the purpose of them considerably.
> 
> y


  reply	other threads:[~2008-01-27 19:07 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-27 13:23 David Teller
2008-01-27 13:52 ` [Caml-list] " Paolo Donadeo
2008-01-27 14:24 ` Yaron Minsky
2008-01-27 19:07   ` David Teller [this message]
2008-01-27 21:07     ` Jon Harrop
2008-01-27 21:47       ` Yaron Minsky
2008-01-28 11:06         ` David Teller
2008-01-28 12:04         ` Jon Harrop
2008-01-28 12:31           ` David Teller
2008-01-28 14:23           ` Brian Hurt
2008-01-28 15:15             ` Loup Vaillant
2008-01-28 15:40               ` Brian Hurt
2008-01-28 19:46                 ` Jon Harrop
2008-01-28 15:25             ` Jon Harrop
2008-01-28 16:06               ` Christophe TROESTLER
2008-01-28 16:20                 ` Nicolas Pouillard
2008-01-28 16:45                   ` Christophe TROESTLER
2008-01-28 16:51                     ` Olivier Andrieu
2008-01-28 19:58                       ` Jon Harrop
2008-01-29  7:51                   ` Gordon Henriksen
2008-01-28 20:49                 ` Jon Harrop
2008-01-28 22:05                   ` Till Varoquaux
2008-01-28 23:10                     ` Jon Harrop
2008-01-28 16:37               ` Brian Hurt
2008-01-28 17:30                 ` David Teller
2008-01-28 20:43                   ` Jon Harrop
2008-01-28 21:12                   ` Gerd Stolpmann
2008-01-28 21:39                     ` Jon Harrop
2008-01-29 16:49                       ` Edgar Friendly
2008-01-30  8:52                         ` Sylvain Le Gall
2008-01-30 10:02                           ` [Caml-list] " Jon Harrop
2008-01-30 12:12                           ` Vincent Hanquez
2008-01-28 21:43                     ` [Caml-list] " Dario Teixeira
2008-01-29  7:59                       ` Francois Pottier
2008-01-28 22:07                 ` Arnaud Spiwack
2008-01-27 14:36 ` Michaël Grünewald
2008-01-27 15:10 ` Dario Teixeira
2008-01-28 13:38   ` Sylvain Le Gall
2008-01-28 13:52     ` [Caml-list] " David Teller
2008-01-28  0:23 ` [Caml-list] " Oliver Bandel
2008-01-30  9:43 ` Sylvain Le Gall
2008-01-30 20:25   ` [Caml-list] " blue storm
2008-01-30 20:49     ` Sylvain Le Gall
2008-01-30 20:54       ` [Caml-list] " Eric Cooper

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1201460821.19472.31.camel@Blefuscu \
    --to=david.teller@univ-orleans.fr \
    --cc=caml-list@inria.fr \
    --cc=yminsky@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox