caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: olczyk@interaccess.com (Thaddeus L. Olczyk)
To: caml-list@inria.fr
Cc: pragprog@yahoogroups.com, ocaml_beginners@yahoogroups.com
Subject: Re: [Caml-list] Is Caml a fraud ( especially on Windows )?
Date: Fri, 18 Oct 2002 15:42:05 +0000 (GMT)	[thread overview]
Message-ID: <3db1215f.928509171@smtp.interaccess.com> (raw)
In-Reply-To: <20021018105617.GA4848@iliana>

On Fri, 18 Oct 2002 12:56:17 +0200, Sven Luther
<luther@dpt-info.u-strasbg.fr> wrote:

>On Fri, Oct 18, 2002 at 09:35:34AM +0000, Thaddeus L. Olczyk wrote:
>> The second incident involves ocamlc and cameleon. Trying to get
>> cameleon to compile ( more on that later ), I discovered that ocamlc
>> called cl.exe ( MS C/C++ compiler ). The reason is obvious. ocamlc
>> translates ocaml to c and then passes it to the compiler. This creates
>> two things I have difficulties with:
>
>I don't understand what you are talking about, ocamlc generates
>bytecode which gets interpreted in a virtual machine, not c, or
>something such, and ocamlopt generates native code, that is assembly
>which needs to be assembled by an assembler (gasm on linux/unix, and a
>windows assembler on windows). The bytecode you compile on unix should
>run without problem on the windows virtual machine (ocamlrun), provided
>you don't use the -custom flag to ocamlc.
>
But then why does it call cl.exe?

>Maybe you should try using only ocamlopt.
>
But then why does cameleon use ocamlc?
Obviously you want to use ocamlc when debugging,
but I would think there are Debug and Release versions in
the make. If so then why is Debug the default ( and why isn't it in
the documentation)?

>That said, there are a few library which are only bindings to C code
>(the FFI you spoke about previously) and which need a C compiler. But
>once they are compiled, you can use them without problems.
What do you need the compiler for?
To build the C library or to actually build the bindings?
This seems to be adding to my rants.
When I asked about FFI, I asked whether you need to recompile ocaml.
( Something you have to do with some languages--eg Python. I'm not big
fan of recompiling things. ) I was told no. I should have been told
something like "not the whole thing, but you do need to compile the
bindings". )

>
>> 1) There is from the main caml page a link to a page where the person
>>      claims to have benchmarked C vs caml and caml wins. I had several
>> 
>>      problems with that page, ( The main one, he uses goto's to 
>>      optimise his code. The problem is that the optimiser in a C  
>>      compiler has a much harder time with goto's present [ they are 
>>      nonlocal branches ]. So I have to trust he does a better job at 
>>      optimisation than the compiler would do. Yeah sure. )  but 
>>      learning that caml generates C code as an intermediate language 
>>      makes his statement false. If caml generates C that creates an 
>>      executable, then caml code can never run faster than C.
>
>Well, since ocaml doesn't generate C that is compiled, maybe you should
>revise your conclusion. Well, there was a caml->C compiler available
>some time ago, but it is _not_ the same thing as ocaml.
Yes.
>
>> 2) After a bit of thought I realised something. If the compiler 
>>     generates C code which gets compiled, then odds are that the
>>     debugger is a wrapper of gdb. Big problems on Windows. This
>>     may indicate that there is no debugger for Windows. Sure enough
>>     ocamldebug is not present. There is the source for ocamldebug in
>>     cameleon, but who knows if it compiles.
>
>Check again your facts, the ocaml reference manual clearly says that :
>
>This chapter (16) describes the Objective Caml source-level replay debugger
>ocamldebug.
>
>  Unix:
>    The debugger is available on Unix systems that provides BSD sockets.
>  Windows:
>    The debugger is available under the Cygwin port of Objective Caml, but
>    not under the native Win32 port.   
>
>So, you would like to install the cygwin port, and you get access to the
>debugger.
>
Ok. But why. IIRC the cygwin stuff you have to compile yourself. (
Something I am loathe to do, especially since I see some people have
had problems. )  
I can see that the Win32 port is "crippled".  When I assumed that
the compile used a C compiler, it made sense--cygwin creates code
that is significantly slower. But if ocamlopt generates native code
then the speed of the executables produced should be the same speed in
both ports. So then why distribute the Win32 port as the main port?

>> Am I going to discover that a prepackaged library doesn't work
>
>And here is your error, these are _not_ prepackaged libraries.
>
No but about nine months ago I tried ocaml very briefly. I had
a set of programs I had to write which basically encapsulated
database with little processing. It seemed like the perfect
opportunity to try out a new language because it involved little
actual coding. At the time the dbm library was unavaile ( on Linux ).

-------------------
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-18 15:48 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-18  9:35 Thaddeus L. Olczyk
2002-10-18 10:25 ` Remi VANICAT
2002-10-18 15:42   ` Thaddeus L. Olczyk
2002-10-21 10:15   ` [Caml-list] ocamlopt / ocaml -custom and C compiler Dmitry Bely
2002-10-21 13:18     ` Xavier Leroy
2002-10-21 13:46       ` Dmitry Bely
2002-10-18 10:56 ` [Caml-list] Is Caml a fraud ( especially on Windows )? Sven Luther
2002-10-18 15:42   ` Thaddeus L. Olczyk [this message]
2002-10-18 16:25     ` Sven Luther
2002-10-18 16:54     ` Alessandro Baretta
2002-10-18 11:25 ` Maxence Guesdon
2002-10-18 11:44 ` [Caml-list] Re: "ocaml_beginners"::[] " Joaquin Cuenca Abela
2002-10-18 19:03   ` Thaddeus L. Olczyk
2002-10-19  0:08     ` Oleg
2002-10-19  3:57       ` Thaddeus L. Olczyk
2002-10-18 13:23 ` [Caml-list] " Pierre Weis
2002-10-18 15:40   ` AC
2002-10-18 19:02   ` Thaddeus L. Olczyk
2002-10-18 20:56     ` Pierre Weis
2002-10-18 16:34 ` Alessandro Baretta
2002-10-18 18:43 ` Issac Trotts
2002-10-18 20:21 ` Damien Doligez
     [not found] ` <20021018132416.3f89f744.maxence.guesdon@inria.fr>
     [not found]   ` <3db34c45.939491921@smtp.interaccess.com>
2002-10-19  0:53     ` Maxence Guesdon
2002-10-18 16:44 Nikolaj Bjorner

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=3db1215f.928509171@smtp.interaccess.com \
    --to=olczyk@interaccess.com \
    --cc=caml-list@inria.fr \
    --cc=ocaml_beginners@yahoogroups.com \
    --cc=pragprog@yahoogroups.com \
    /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).