Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: Michal Moskal <malekith@pld-linux.org>
To: John Goerzen <jgoerzen@complete.org>
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] Alternative Bytecodes for OCaml
Date: Thu, 26 Aug 2004 23:42:23 +0200	[thread overview]
Message-ID: <20040826214223.GA25370@roke.freak> (raw)
In-Reply-To: <200408251909.03050.jgoerzen@complete.org>

On Wed, Aug 25, 2004 at 07:09:02PM -0500, John Goerzen wrote:
> On Wednesday 25 August 2004 5:10 pm, Yamagata Yoriyuki wrote:
> > The conclusion of the F#, and several SML-to-Java bytecode projects
> > is that JVM and .NET are too restricted to OO paradigm, I remember.
> > See the thread begins
> > http://caml.inria.fr/archives/200102/msg00048.html
> 
> I'm not sure I buy that.  For one, Python already exists for both, and I 
> believe it implements all the stumbling blocks commonly mentioned here 
> save for tail recursion optimization.  Secondly, there are functional 
> languages existing for .NET: Nemerle, SML, Haskell (via both ghc and 
> Hugs), Scheme, Lisp.  I hardly think that one could claim that either 
> VM is too limited to make an implementation.  We even have preliminary 
> OCaml interpreters for Java, and the Nemerle language is *very* similar 
> to OCaml.  The syntax is different, but from what I've seen, the 
> language is similar enough that it should be possible to make a camlp4 
> printer to output in Nemerle.

I guess it would be possible for Caml Light, but not for OCaml. OCaml
has very sophisticated type system with regard to objects and modules.
Neither of these fit with the .NET object oriented model -- it's simply
too restricted. This is one of reasons Nemerle exists.

It's probably possible to implement OCaml's objects using .NET
objects, using one interface per method, or casting everything down
to System.Object, but this doesn't seem a) pretty, b) fast nor c)
interoperable.  And c) is one of the main reasons .NET exists. 
You would at least have to add .NET-like classes and interfaces to OCaml
to make using .NET libraries possible. And if you want to write
libraries in such OCaml.NET, you would be restricted to these types at
the edges. And this in turn means you have to have very good support
for these features, and this turns out not to be so easy -- after one
year of development we still don't have full support for this stuff in
Nemerle.

-- 
: Michal Moskal :: http://www.kernel.pl/~malekith :: GCS !tv h e>+++ b++
: ::: Logic is a nice contrast to the Real World. :: UL++++$ C++ E--- a?

-------------------
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


  parent reply	other threads:[~2004-08-26 21:43 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-25 14:26 John Goerzen
2004-08-25 14:38 ` Richard Jones
2004-08-25 14:50   ` John Goerzen
2004-08-25 15:02     ` John Goerzen
2004-08-26  9:05       ` Raphael Montelatici
2004-08-26 13:20         ` John Goerzen
2004-08-26 13:30           ` John Goerzen
2004-08-25 14:55   ` Lars Nilsson
2004-08-25 15:06     ` Jason Smith
2004-08-25 16:14       ` John Goerzen
2004-08-28  3:49     ` John Goerzen
2004-08-25 15:05 ` skaller
2004-08-25 15:21   ` Lars Nilsson
2004-08-25 15:22   ` Jason Smith
2004-08-25 15:52     ` John Goerzen
2004-08-25 16:26       ` Jason Smith
2004-08-25 16:40         ` Jason Smith
2004-08-25 16:49       ` Ville-Pertti Keinonen
2004-08-25 17:01         ` Jason Smith
2004-08-25 17:17         ` John Goerzen
2004-08-25 20:00       ` skaller
2004-08-25 15:23   ` Brian Hurt
2004-08-25 15:24     ` Christophe TROESTLER
2004-08-27 14:26     ` Daniel Ortmann
2004-08-27 14:44       ` skaller
2004-08-27 14:59       ` Brian Hurt
2004-08-25 15:35   ` John Goerzen
2004-08-25 16:00   ` Richard Jones
2004-08-25 15:40 ` Nicolas Cannasse
2004-08-27 17:55   ` John Goerzen
2004-08-27 18:37     ` skaller
2004-08-27 18:49       ` John Goerzen
2004-08-27 20:39         ` skaller
2004-08-27 20:56           ` John Goerzen
2004-08-27 22:05             ` Richard Jones
2004-08-27 23:15               ` John Goerzen
2004-08-31 11:10                 ` Keith Wansbrough
2004-08-28  0:25             ` skaller
2004-08-28  9:35               ` Marcin 'Qrczak' Kowalczyk
2004-08-28  9:50                 ` Marcin 'Qrczak' Kowalczyk
2004-08-28 10:41                   ` skaller
2004-08-28 11:37                     ` Marcin 'Qrczak' Kowalczyk
2004-08-25 17:37 ` Basile Starynkevitch [local]
2004-08-25 18:00   ` Richard Jones
2004-08-25 22:10 ` Yamagata Yoriyuki
2004-08-26  0:09   ` John Goerzen
2004-08-26  4:26     ` [Caml-list] bytecode and native code at once Brandon J. Van Every
2004-08-26  9:55       ` skaller
2004-08-26 15:52         ` [Caml-list] " mikel
2004-08-26 17:09           ` Paul Snively
2004-08-26 17:31             ` mikel evins
2004-08-26 18:04               ` Paul Snively
2004-08-26 18:28                 ` mikel evins
2004-08-26 21:15             ` skaller
2004-08-27  8:52           ` Keith Wansbrough
2004-08-27 15:39             ` David Brown
2004-08-27 15:48               ` mikel evins
2004-08-26 21:42     ` Michal Moskal [this message]
2004-08-27  9:38       ` [Caml-list] Alternative Bytecodes for OCaml Nicolas Cannasse
2004-08-27 13:09         ` John Goerzen
2004-08-27 13:44           ` Brian Hurt
2004-08-27 13:58           ` skaller
2004-08-27 20:48           ` Nicolas Cannasse
2004-08-27 21:03             ` Benjamin Geer
2004-08-30 16:40             ` John Goerzen
2004-08-27 19:49         ` Blair Zajac
2004-08-27 22:18           ` Richard Jones
2004-08-27 23:38             ` Yamagata Yoriyuki
2004-08-28 16:40               ` Basile Starynkevitch [local]
2004-08-28 17:03                 ` [Caml-list] (GC issues) " Nicolas Cannasse
2004-08-28 20:45                   ` [Caml-list] " Basile Starynkevitch [local]
2004-08-29  2:31                     ` skaller
2004-08-29  5:04                       ` Brandon J. Van Every
2004-08-29 12:58                         ` John Goerzen
2004-08-29 15:06                           ` Brian Hurt
2004-08-29 15:22                             ` Radu-Mihail Obada
2004-08-29 10:12                     ` Nicolas Cannasse
2004-08-30 12:23                       ` Basile Starynkevitch [local]
2004-08-30 13:17                         ` Nicolas Cannasse
2004-08-26 16:04 ` [Caml-list] " =?unknown-8bit?Q?=A3ukasz?= Dobrek

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=20040826214223.GA25370@roke.freak \
    --to=malekith@pld-linux.org \
    --cc=caml-list@inria.fr \
    --cc=jgoerzen@complete.org \
    /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