caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: achrist@easystreet.com
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] OCaml on Windows please advise
Date: Wed, 06 Nov 2002 11:58:25 -0800	[thread overview]
Message-ID: <3DC97461.7D694203@easystreet.com> (raw)
In-Reply-To: <005c01c285c5$ff0ae1f0$6e00a8c0@warp>


Nicolas Cannasse wrote:
> 
> You should perhaps consider packaging your Delphi GUI into a DLL with
> exported function and then have the OCaml Runtime be your startup. 

This is the problem with many of the non-mainstream languages.  
Compatible with ... is the the assertion, but the but is 'as long
as I get to be on top.'  With a GUI application, it is far more
natural (ie ignorant of other architectural possibilities, it seems
to me to be an easy choice) to have the user in charge, ie the user
as the client, and to have the various services (algorithms, databases, 
etc) in servers fulfilling whatever requests the user hurls in through
the GUI.  This design seems right because, with this type of design,
the servers can be de-coupled from the UI and can serve through the
GUI or through any of various other kinds of clients that we might
create.

With a fancy user-centric GUI in a DLL called from the OCaml runtime,
we've got 2-way coupling through some kind of callbacks (don't we? How
would that work?), and that's 1 more way than we really need.  IIRC,
coupling is bad.  An alternative is to have the server be a separate
executable and to have the client just pipe data through it using stdin,
stdout, or various files.  But the overhead of starting and waiting on
an exe makes this somewhat unattractive if the services are not fairly
coarse-grained.  

Your idea is a good one if the GUI is not user-centric.  For example, 
the so-called 'wizard' applications are task-centric, where there is
a predefined sequence of inputs required to complete a task and the
user gets led through the steps page-by-page or screen-by-screen. I
suppose that this kind of GUI could be rolled into a DLL that worked
well without callbacks.  But a system that relied on that style 
excessively would not be one that users liked.  I think that this 
issue is part of a larger culture clash between the unix/linus and
Windows/GUI worlds.  A strength of Unix/linux is that it offers many
small, reliable, single-function programs.  Windows succeeds by giving
the user the feeling/illusion of control, letting them pick from many
options at every turn, open and close Windows willy-nilly,  etc, etc.
This is a lot for OCaml to take in.

> It  seems easier because of the following :
> 
> - if you want an ocaml interpreter, you have to link your Delphi with 

Don't want an interpreter.  

Last I saw, COM was one of the best things that MS had conceived. 
That's extremely faint praise, but COM does look to be a good way to
partition a system into cohesive parts. With Windows as it currently
exists, being able to do COM as both a client and a server would be
a very nice feature for just about any language that targets Windows.

IDK if MS is going to de-emphasize COM and steer us toward building
systems out of .Net components that talk SOAP. Is SOAP a viable and
competitive alternative to COM for creating servers/services with
OCaml under MS-Windows?


Al
-------------------
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-11-06 19:57 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-11-04 21:23 isaac gouy
2002-11-04 23:46 ` SooHyoung Oh
2002-11-05 18:21 ` Nicolas Cannasse
2002-11-05 18:12   ` achrist
2002-11-06  5:53     ` Eric Mangold
2002-11-06 19:54     ` Nicolas Cannasse
2002-11-06 19:58       ` achrist [this message]
2002-11-06 20:31         ` jeanmarc.eber
2002-11-07  8:30         ` Xavier Leroy
2002-11-08  0:20           ` achrist
2002-11-08 18:41             ` Nicolas Cannasse
2002-11-08 18:14               ` Sven Luther
2002-11-08 20:20                 ` jeanmarc.eber
2002-11-08 20:47                   ` Sven Luther
2002-11-08 22:43                     ` malc
2002-11-08 23:02                       ` Sven Luther
2002-11-08 23:47                         ` malc
2002-11-09  1:00                           ` Eric Mangold
2002-11-09  1:21                             ` malc
2002-11-09  7:13                               ` Sven Luther
2002-11-09  9:17                                 ` Olivier Andrieu
2002-11-09 10:08                                   ` Sven Luther
2002-11-12 13:28                                     ` Olivier Andrieu
2002-11-09 17:20                     ` Warp

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=3DC97461.7D694203@easystreet.com \
    --to=achrist@easystreet.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).