caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: "David Allsopp" <dra-news@metastack.com>
To: "OCaml List" <caml-list@yquem.inria.fr>
Subject: RE: [Caml-list] Sorted list
Date: Sun, 5 Aug 2007 18:01:30 +0100	[thread overview]
Message-ID: <000d01c7d782$459dac70$6a7ba8c0@treble> (raw)
In-Reply-To: <46B5FDA8.6060805@inria.fr>

> > its "tail recursive" implementations
> > work by manipulating the internal representation of a list rather than
> > writing "proper" O'Caml (it's a piece of genius and frankly is how the
> > StdLib ought to do it...).
>
> I don't think so -- basically, Obj.magic isn't part of the OCaml
> language and should not be used unless there is absolutely no other
> option.  The Queue module is the standard library uses Obj.magic for
> additional performance, but this is really sending the wrong message.
> If tail recursion elimination modulo constructors (what Extlib is
> doing manually) is really important, I believe it should be done by
> the compiler, under the hood.  (That's not trivial, mind you.)

Altering the compiler to do this would be the utopia, I agree - but if *you*
(i.e. Inria) wrote an implementation using Obj.magic this doesn't send a bad
message as such - the implementation of the Standard Library is *your*
problem: as long as the module interface is the same, a hypothetical future
version of O'Caml without Obj.magic could revert to the "slower" pure O'Caml
implementations. Surely the standard library should aim to have the fastest
implementation of these functions for any given version?

Purely out of interest, how "standardised" are the primitives of the O'Caml
runtime? Obj.magic may not be an official part of the language but what
about the %identity primitive in the runtime?

> I reluctantly but regularly use Windows to maintain the Windows port
> of OCaml, and agree with Richard Jones's assessment.  Windows is
> geared towards the installation of big, standalone programs like
> Office or games, but has nothing comparable to the package management
> facilities of Linux or BSD.

I completely agree that the Linux package management facilities are much
more impressive (though I've never particularly missed them as there are
other solutions for administration): but the assertion that Windows has
nothing "to speak of" seemed somewhat ill-founded (and based back in 1993:
cf. DOS 4/5 + Windows 3.0/3.1 which really didn't have any standard set-up
features!). But this is possibly rather off-topic for this
list/discussion...


David


  reply	other threads:[~2007-08-05 17:01 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-04  9:35 tmp123
2007-08-04 10:00 ` [Caml-list] " Jon Harrop
2007-08-04 10:29 ` Philippe Wang
2007-08-04 11:22   ` skaller
2007-08-04 12:23     ` Philippe Wang
2007-08-04 13:39       ` skaller
2007-08-04 14:01         ` Philippe Wang
2007-08-04 14:45           ` skaller
2007-08-04 14:27       ` tmp123
2007-08-04 20:33       ` Christophe TROESTLER
2007-08-04 14:37     ` tmp123
2007-08-04 15:09       ` Brian Hurt
2007-08-04 15:42         ` skaller
2007-08-04 16:21           ` Richard Jones
2007-08-04 17:17             ` Brian Hurt
2007-08-04 18:24               ` skaller
2007-08-04 17:54             ` skaller
2007-08-04 19:16               ` Richard Jones
2007-08-05 16:22                 ` David Allsopp
2007-08-05 16:41                   ` Xavier Leroy
2007-08-05 17:01                     ` David Allsopp [this message]
2007-08-04 17:35           ` Julien Moutinho
2007-08-04 18:04             ` skaller
2007-08-05  1:47             ` Jon Harrop
2007-08-05 11:44               ` Erik de Castro Lopo
2007-08-05 12:03                 ` Jacques GARRIGUE
2007-08-05 12:31                   ` Erik de Castro Lopo
2007-08-05 13:22                     ` Richard Jones
2007-08-05 20:47                       ` Erik de Castro Lopo
2007-08-05 13:17                 ` Richard Jones
2007-08-05 16:26           ` Xavier Leroy
2007-08-05 23:47             ` skaller
2007-08-04 15:36       ` skaller
2007-08-04 15:17     ` tmp123
2007-08-12 12:05       ` Andrej Bauer
2007-08-04 12:15 ` Brian Hurt
2007-08-04 12:36   ` Brian Hurt
2007-08-04 13:49     ` skaller
2007-08-04 12:16 ` Daniel Bünzli
2007-08-04 12:58 ` Oliver Bandel

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='000d01c7d782$459dac70$6a7ba8c0@treble' \
    --to=dra-news@metastack.com \
    --cc=caml-list@yquem.inria.fr \
    /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;
as well as URLs for NNTP newsgroup(s).