From: John Goerzen <jgoerzen@complete.org>
To: "Nicolas Cannasse" <warplayer@free.fr>
Cc: "Michal Moskal" <malekith@pld-linux.org>, caml-list@inria.fr
Subject: Re: [Caml-list] Alternative Bytecodes for OCaml
Date: Fri, 27 Aug 2004 08:09:27 -0500 [thread overview]
Message-ID: <200408270809.28272.jgoerzen@complete.org> (raw)
In-Reply-To: <004f01c48c19$9950d8e0$0100a8c0@warp>
On Friday 27 August 2004 04:38 am, Nicolas Cannasse wrote:
> I agree with you here, the main problems OCaml and other functionnal
> languages targeting CLR faces here are interoperability and
> performances.
No arguments here, but I would like to expand a but on the performance
issue. I have every reason to believe you are right about it, but one
important thing to remember is that it may not matter to many. In
other words, let's not fall prey to premature optimization.
In my experience, my OCaml code is three to five times faster than my
Python code. Yet my Python code is still perfectly usable and I'm fine
with its speed.
While there are plenty of places where every last bit of performance is
vital, there are also plenty of places (I dare say even more) where
it's simply not an important consideration, and things like developer
productivity, bug-free code, or ease of distribution really shine.
[ snip ]
> Ocaml is great for writing DSL, and have both very efficient bytecode
> and nativecode compilers. However theses two technologies are right
> now reserved to OCaml itself. If they were more "opened" (means :
> documented, provide API and tools to ease code generation, ...) , it
I'm not 100% certain what you're talking about here, but I'll guess and
try to share my thoughts along those lines :-)
There is a lot of great stuff in camlp4. It is, in my opinion, the
single most powerful and unique part of OCaml. I've dabbled with it
myself, but there's a lot that's lacking, too. Despite the tutorial
and reference, the learning curve is quite steep due in part to the
syntax and available parsers/lexers, and in part to the academic rather
than how-to nature of the documents.
Then there's a whole other part of OCaml that is untapped. For
instance, the OCaml source includes everything necessary to write, in
OCaml, the toplevel interpreter. However, the OCaml modules installed
on the system don't provide enough for someone to embed an OCaml
interpreter (aside from the interactive kind) or generic printer in
their own code. I think part of the problem could be solved simply by
installing more bits of the OCaml distribution on people's systems.
As an example, my OfflineIMAP program is written in Python and uses a
configuration file. Some options in the configuration file actually
take snippets of Python code; for instance, those that filter
selections or perform transformations on folder names. The latter
actually takes a full Python function (defined with Python's "lamda"
form.) I investigated doing this in OCaml, figuring that since there
is a toplevel interpreter that can do this stuff, it should be
possible. But there seems to be no way to do it.
-- John
-------------------
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 13:09 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 [this message]
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=200408270809.28272.jgoerzen@complete.org \
--to=jgoerzen@complete.org \
--cc=caml-list@inria.fr \
--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