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 JAA09670; Thu, 8 Apr 2004 09:47:20 +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 JAA09840 for ; Thu, 8 Apr 2004 09:47:19 +0200 (MET DST) Received: from rambutan.cc.columbia.edu (rambutan.cc.columbia.edu [128.59.59.148]) by nez-perce.inria.fr (8.12.10/8.12.10) with ESMTP id i387mBjq023241 for ; Thu, 8 Apr 2004 09:48:12 +0200 Received: from columbia.edu (tw304h3.cpmc.columbia.edu [156.111.84.180]) (user=ot14 mech=PLAIN bits=0) by rambutan.cc.columbia.edu (8.12.11/8.12.11) with ESMTP id i387lGxM005350 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Thu, 8 Apr 2004 03:47:16 -0400 (EDT) Message-ID: <40750384.9000308@columbia.edu> Date: Thu, 08 Apr 2004 03:47:16 -0400 From: Oleg Trott User-Agent: Mozilla Thunderbird 0.5 (X11/20040309) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Brian Hurt CC: Issac Trotts , Ocaml Mailing List Subject: Re: [Caml-list] Dynamically evaluating OCaml code References: In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-No-Spam-Score: Local X-Scanned-By: MIMEDefang 2.40 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; oleg:01 oleg:01 caml-list:01 dynamically:01 compiles:01 runtime:01 orthogonal:01 ocamlopt:01 ocaml:01 ocaml:01 lisp:01 lisp:01 toplevel:01 sml:01 compile:02 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk X-Status: X-Keywords: X-UID: 128 Brian Hurt wrote: > >Two examples of this in action. First, consider the different ways you >can run Ocaml code. You can interpret it (like Perl or Lisp, although >Ocaml doesn't provide eval), you can compile it to native (like Fortran or >C/C++), or you can use a virtual machine (like P-system Pascal or Java). > > > 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. Oleg ------------------- 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