From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id KAA11865; Thu, 8 Apr 2004 10:03:23 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id KAA11879 for ; Thu, 8 Apr 2004 10:03:22 +0200 (MET DST) Received: from oxy.exomi.com (fa-3-0-0.fw.exomi.com [217.169.64.99]) by nez-perce.inria.fr (8.12.10/8.12.10) with ESMTP id i3884Fjq025175 for ; Thu, 8 Apr 2004 10:04:15 +0200 Received: from [127.0.0.1] (localhost [127.0.0.1]) by oxy.exomi.com (Postfix) with ESMTP id 716A21A6C01; Thu, 8 Apr 2004 11:04:15 +0300 (EEST) In-Reply-To: <40750384.9000308@columbia.edu> References: <40750384.9000308@columbia.edu> Mime-Version: 1.0 (Apple Message framework v613) Content-Type: text/plain; charset=US-ASCII; format=flowed Message-Id: <538B035E-8933-11D8-992F-000393863F70@exomi.com> Content-Transfer-Encoding: 7bit Cc: Brian Hurt , Ocaml Mailing List , Issac Trotts From: Ville-Pertti Keinonen Subject: Re: [Caml-list] Dynamically evaluating OCaml code Date: Thu, 8 Apr 2004 11:04:14 +0300 To: Oleg Trott X-Mailer: Apple Mail (2.613) X-Miltered: at nez-perce by Joe's j-chkmail ("http://j-chkmail.ensmp.fr")! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; caml-list:01 dynamically:01 oleg:01 compiles:01 runtime:01 orthogonal:01 ocamlopt:01 latency:01 binaries:01 kludge:01 -bit:01 -bit:01 ocaml:01 ocaml:01 lisp:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk X-Status: X-Keywords: X-UID: 131 On Apr 8, 2004, at 10:47 AM, Oleg Trott wrote: > Actually, any decent Lisp implementation compiles to native code (like > Fortran or C/C++). In my experience, after you add a bunch of type > declarations to Lisp, it runs about as fast as OCaml native, but it > runs interactively (with eval and everything). The issues of > > 1. compilation to native code > 2. interactivity & runtime eval > 3. strict typing (i.e. variables have types, not values) > > are all orthogonal. Lisp provides 1 & 2, Ocamlopt provides 1 & 3, > Ocaml (toplevel) provides 2 & 3, which covers all possible > combinations of 2 out of 3. I think SML/NJ gives all 3, but I don't > use it, so I'm not sure. The latency for an interactive top-level that does native compilation is a bit high, but Lisp systems are certainly impressive in that you can interactively disassemble your functions. SML/NJ has all 3, but not as conveniently as Lisp systems, and like many Lisp systems (and unlike OCaml), it doesn't support generating stand-alone native binaries. Also like many Lisp systems, it only supports 32-bit platforms (there is Alpha support, but it's a 32-bit kludge). ------------------- 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