From: Blair Zajac <blair@orcaware.com>
To: Nicolas Cannasse <warplayer@free.fr>
Cc: Michal Moskal <malekith@pld-linux.org>,
John Goerzen <jgoerzen@complete.org>,
caml-list@inria.fr
Subject: Re: [Caml-list] Alternative Bytecodes for OCaml
Date: Fri, 27 Aug 2004 12:49:45 -0700 [thread overview]
Message-ID: <412F9059.2080808@orcaware.com> (raw)
In-Reply-To: <004f01c48c19$9950d8e0$0100a8c0@warp>
Nicolas Cannasse wrote:
>>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.
>>
>>
>
>I agree with you here, the main problems OCaml and other functionnal
>languages targeting CLR faces here are interoperability and performances.
>
>There is two kind of VM : typeless ones (such as OCaml one) which bytecode
>does not contains any RTTI - since all checks are done at compile-time, and
>typed VMs (such as .NET CLR and the JVM). Typed VMs are a lot
>ObjectOriented, and all performances (for instance GC) are tuned for an OO
>type system. This is a real problem for the future of functionnal languages
>: if the mainstream technology becomes .NET CLR in the next five years, yes
>there will be an open source alternative in Mono but it will still be a pain
>and have a performance cost to run a functional language on such an OO VM .
>And even if it runs, what about interoperability ? How to expose correctly
>(and automaticaly) a functional style API to an OO language, and vice-versa
>? Since the type system on the language is directly embedded into the VM,
>one need to "forget" functionnal style when generating bytecode.
>
>There is several attempts to fix this problem (LLVM might be one), but none
>from Sun or Microsoft. That's why the functionnal languages community should
>focus on interoperating its languages in a single runtime system. If we
>don't, we might loose to the leverage that the CLR provides. There is
>already a big set of languages (Nemerle among them) that are targeting the
>CLR because they don't want to get through reinventing the well and writing
>a native code generator, an other set of languages (such as Felix) are
>generating C code in order to leverage on GCC.
>
>
I haven't looked at Parrot too closely, but where does that fit into
this? Would that not be considered a VM here? Wouldn't Parrot be
pretty good because it supports Python and Perl which have more
functional aspects in them than C, C++ and Java?
Regards,
Blair
-------------------
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
next prev parent reply other threads:[~2004-08-27 19:50 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 ` [Caml-list] Alternative Bytecodes for OCaml Michal Moskal
2004-08-27 9:38 ` 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 [this message]
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=412F9059.2080808@orcaware.com \
--to=blair@orcaware.com \
--cc=caml-list@inria.fr \
--cc=jgoerzen@complete.org \
--cc=malekith@pld-linux.org \
--cc=warplayer@free.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