caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Alessandro Baretta <alex@baretta.com>
To: Ocaml <caml-list@inria.fr>
Subject: Re: [Caml-list] choosing modules at runtime
Date: Wed, 02 Oct 2002 15:04:48 +0200	[thread overview]
Message-ID: <3D9AEEF0.4000706@baretta.com> (raw)
In-Reply-To: <3D97FD0C.4020205@ozemail.com.au>

I just realize that only John Max Skaller got this message. 
I am now sending it to the list, for which it was intended.

Alex

John Max Skaller wrote:
 > Markus Mottl wrote:
 >
 >> On Tue, 24 Sep 2002, 
Sebastien.deMentendeHorne@electrabel.com wrote:
 >
 >
 >> Actually, I'd say that most problems of "programming in 
the large" can
 >> be and are best solved statically. But in some cases, 
one needs more
 >> dynamic means of parameterization.

There's a bunch of people in the Java community who might 
disagree.

 > It is a nice specification that clearly admits its own 
weakness.
 >
 > It is possible to have a purely static solution to almost
 > any problem. The simple demonstration is that you can write
 > an interpreter -- add one more level of indirection.
 >
 > ...
 >
 > Which implies dynamic loading is a mandatory feature
 > for solving general problems.

Very true. A concrete business example: I will be deploying
this week a program I wrote which uses PXP to interpret XML
templates, to format a datastructure built by a Dynlinked
module. The datastructure could be built by parsing an ASCII
file (as is the present case) or by executing a query on a
database or by parsing an XML document downloaded from an
intranet server or in any other conceivable way. This is a
polymorphic problem class which admits only solutions
comprising runtime parametrization, both is terms of
data--the XML templates--and of code.

Coincidentally, I have recently come across the GCC Java
project. (http://gcc.gnu.org/java) They have a compiler with
   both a bytecode and a native backend, much like Ocaml. In
addition they get a native runtime system which is more
flexible than either the JVM or ocamlrun in that it enables
both byte-compiled and natively compiled classes to be
linked dynamically and automatically with the usual
classpath resolution strategy. This might be the way to go
for Ocaml, too, with the possible exception of the classpath
thing, which we sort of agreed against.

One example: I'd love to write a generic client application
capable of connecting with a database server for the data
and to a remote repository of compiled modules implementing
the logic of different application tasks the customer wishes
the system to automate. Dynlink already partially solves the
problem by allowing dynamic linking of cmo's over NFS, but
dynamic linking over other network transport protocols would
be a real pain, requiring explicit downloading and temporary
storage. And finally, a mixed byte-native runtime is not
supported.

Anything we can do about this?

Alex


-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


  reply	other threads:[~2002-10-02 12:55 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-09-24 11:09 Sebastien.deMentendeHorne
2002-09-24 11:41 ` Markus Mottl
2002-09-30  7:28   ` John Max Skaller
2002-10-02 13:04     ` Alessandro Baretta [this message]
2002-10-02 13:28       ` Dave Mason
2002-10-02 20:57         ` Chris Hecker
  -- strict thread matches above, loose matches on Subject: below --
2002-09-24 10:40 Sebastien.deMentendeHorne
2002-09-24 11:00 ` Markus Mottl
2002-09-24  8:48 Henri Dubois-Ferriere
2002-09-24  9:36 ` Andreas Rossberg
2002-09-24 10:37   ` Markus Mottl
2002-09-24 10:08 ` Markus Mottl
2002-09-24 10:18 ` Olivier Andrieu
2002-09-24 17:24   ` Sven LUTHER
2002-09-24 10:42 ` Yamagata Yoriyuki
2002-09-24 12:43 ` Alessandro Baretta
2002-09-24 12:55   ` Maxence Guesdon

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=3D9AEEF0.4000706@baretta.com \
    --to=alex@baretta.com \
    --cc=caml-list@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).